Passage de la valeur spécifiée par l'utilisateur à un bloc SQL Open Database ()Bonne journée,
J'ai actuellement un bloc de code SQL en cours d'exécution via une commande Open Database (). Ce bloc SQL a été généré par une autre personne et j'essaie de rationaliser l'interface utilisateur. Actuellement, un numéro de commande est entré manuellement dans le bloc SQL et doit être écrasé à chaque fois qu'un nouveau numéro de commande est souhaité. J'ai construit une interface graphique JMP qui extrait un numéro de commande spécifié par l'utilisateur.
Je voudrais passer ce numéro de commande spécifié par l'utilisateur dans le code SQL.
Segment SQL où le numéro de commande actuel est entré manuellement (25891769)
where
ShopFloorControl.ManufacturingOrder.OrderNumber in (25891769)
and ShopFloorControl.ManufacturingOrder.LineNumber = 0
Toute assistance sera grandement appréciée.
Je vous remercie
Re: Passage de la valeur spécifiée par l'utilisateur à un bloc SQL Open Database ()Merci pour votre aide. Cela a fonctionné comme j'en avais besoin.
Re: Passage de la valeur spécifiée par l'utilisateur à un bloc SQL Open Database ()Vous pouvez utiliser la concaténation de chaînes pour remplacer une variable dans l'instruction SQL. Voici une façon de le faire:
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 vous avez plusieurs numéros de commande, vous pouvez utiliser CONCAT ITEMS pour créer une liste 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"