Übergeben eines benutzerdefinierten Werts an den SQL-Block "Open Database ()"Schönen Tag,
Ich habe derzeit einen Block von SQL-Code, der durch den Befehl Open Database () ausgeführt wird. Dieser SQL-Block wurde von einer anderen Person generiert und ich versuche die Benutzeroberfläche zu rationalisieren. Derzeit wird eine Auftragsnummer manuell in den SQL-Block eingegeben und muss jedes Mal überschrieben werden, wenn eine neue Auftragsnummer gewünscht wird. Ich habe eine JMP-GUI erstellt, die eine vom Benutzer angegebene Bestellnummer abruft.
Ich möchte diese vom Benutzer angegebene Bestellnummer in den SQL-Code eingeben.
SQL-Segment, in dem die aktuelle Bestellnummer manuell eingegeben wird (25891769)
where
ShopFloorControl.ManufacturingOrder.OrderNumber in (25891769)
and ShopFloorControl.ManufacturingOrder.LineNumber = 0
Jede Hilfe wäre sehr dankbar.
Vielen Dank
Re: Übergeben eines benutzerdefinierten Werts an den SQL-Block "Open Database ()"Danke für die Hilfe. Das funktionierte genau so, wie ich es brauchte.
Re: Übergeben eines benutzerdefinierten Werts an den SQL-Block "Open Database ()"Sie können eine Zeichenfolgenverkettung verwenden, um eine Variable in der SQL-Anweisung zu ersetzen. Hier ist eine Möglichkeit, dies zu tun:
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"
Wenn Sie mehr als eine Bestellnummer haben, können Sie mit CONCAT ITEMS eine IN-Liste erstellen:
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"