Pasando el valor especificado por el usuario a Open Database () bloque SQLBuen día,
Actualmente tengo un bloque de código SQL que se está ejecutando a través de un comando Open Database (). Este bloque SQL fue generado por otra persona y estoy tratando de agilizar la interfaz de usuario. Actualmente, un número de pedido se ingresa manualmente en el bloque SQL y debe sobrescribirse cada vez que se desee un nuevo número de pedido. He construido una GUI JMP que extrae un número de pedido especificado por el usuario.
Me gustaría pasar este número de pedido especificado por el usuario al código SQL.
Segmento SQL donde el número de pedido actual se ingresa manualmente (25891769)
where
ShopFloorControl.ManufacturingOrder.OrderNumber in (25891769)
and ShopFloorControl.ManufacturingOrder.LineNumber = 0
Cualquier ayuda sería apreciada grandemente
Gracias
Re: Pasar el valor especificado por el usuario a Open Database () bloque SQLGracias por la ayuda. Esto funcionó como yo necesitaba.
Re: Pasar el valor especificado por el usuario a Open Database () bloque SQLPuede usar la concatenación de cadenas para reemplazar una variable en la declaración SQL. Aquí hay una forma de hacerlo:
order_no = "25891769";
sql_statement = evalinsert(
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('^order_no^')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0");
print(sql_statement);
Results in:
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('25891769')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0"
Si tiene más de un número de pedido, puede usar CONCAT ITEMS para crear una lista IN:
order_list = {"25891769", "25891770", "25891771"};
order_inlist = "('" || Concat Items(order_list, "', '") || "')";
sql_statement = evalinsert(
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ^order_inlist^
and ShopFloorControl.ManufacturingOrder.LineNumber = 0");
print(sql_statement);
Results in:
"SELECT ...
FROM ...
WHERE
ShopFloorControl.ManufacturingOrder.OrderNumber in ('25891769', '25891770', '25891771')
and ShopFloorControl.ManufacturingOrder.LineNumber = 0"