Passando il valore specificato dall'utente al blocco SQL Open Database ()Buona giornata,
Attualmente ho un blocco di codice SQL che viene eseguito tramite un comando Open Database (). Questo blocco SQL è stato generato da un'altra persona e sto cercando di semplificare l'interfaccia utente. Attualmente un numero di ordine viene inserito manualmente nel blocco SQL e deve essere sovrascritto ogni volta che si desidera un nuovo numero di ordine. Ho creato una GUI JMP che richiama un numero di ordine specificato dall'utente.
Vorrei passare questo numero di ordine specificato dall'utente nel codice SQL.
Segmento SQL in cui viene inserito manualmente il numero dell'ordine corrente (25891769)
where
ShopFloorControl.ManufacturingOrder.OrderNumber in (25891769)
and ShopFloorControl.ManufacturingOrder.LineNumber = 0
Qualsiasi assistenza sarebbe molto apprezzata.
Grazie
Ri: passaggio del valore specificato dall'utente al blocco SQL Open Database ()Grazie per l'assistenza. Questo ha funzionato proprio come avevo bisogno.
Ri: passaggio del valore specificato dall'utente al blocco SQL Open Database ()È possibile utilizzare la concatenazione di stringhe per sostituire una variabile nell'istruzione SQL. Ecco un modo per farlo:
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"
Se hai più di un numero d'ordine puoi usare CONCAT ITEMS per creare un elenco 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"