Comment créer une zone de texte dans une liste pour une requête SQLJ'essaie de créer une zone de texte pour permettre aux utilisateurs de saisir des informations pour une requête SQL, et les utilisateurs copient ces informations à partir d'Excel dans la zone de texte. ma question:
1. Cette longueur de Lot est fixée = 14, et cet exemple contient 11 lots. Pourquoi la longueur de la zone de texte est 176?
2 Comment transformer ce texte en liste sous la forme {"18148018-01-00", "18148018-01-01", "18148018-02-00" ......}
Names Default To Here( 1 );
//make a text box for user input
New Window( "Example",
Outline Box( "Lot List Input",
H List Box( Text Box( "=>" ), teb = Text Edit Box( "Please input your lots", <

Re: Comment créer une zone de texte dans une liste pour une requête SQLCeci est utile: DRe: Comment créer une zone de texte dans une liste pour une requête SQLVoici un autre moyen d'analyser les informations à l'aide de MOTS. Suivi en utilisant CONCAT ITEMS pour créer une liste IN.
lot_text =
"31383134383031382
31383134383031382
31383134383031382
31383135383031312
31383135383031312
31383138383030322
31383138383030322
31383138383030322
31383138383030342
31383439383030372
31383441383030352";
crlf = "
";
lot_list = words(lot_text, crlf);
lot_in_list = "('" || concat items(lot_list, "', '") || "')";Re: Comment créer une zone de texte dans une liste pour une requête SQLJim, merci pour l'explantion. Je considère qu’il y aura 2 caractères supplémentaires sous forme excecl avec copier / coller, et maintenant je pourrais faire une liste 
Re: Comment créer une zone de texte dans une liste pour une requête SQLLe problème est que le tampon de collage dans lequel vous avez copié à partir de votre tableau Excel contient des retours à la ligne (hex 0D) et un saut de ligne (hex 0A) à la fin de chaque cellule copiée. Ci-dessous, la représentation hexadécimale de la liste des lots, extraite du fichier Excel collé. C'est en fait une longue ligne de caractères hexadécimaux, mais à titre d'illustration, j'ai interrompu la ligne de caractères hexadécimaux à la fin de chaque lot.
31383134383031382D30312D30300D0A
31383134383031382D30312D30310D0A
31383134383031382D30322D30300D0A
31383135383031312D30312D30300D0A
31383135383031312D30322D30300D0A
31383138383030322D30312D30300D0A
31383138383030322D30312D30320D0A
31383138383030322D30312D30330D0A
31383138383030342D30312D30300D0A
31383439383030372D30312D30300D0A
31383441383030352D30312D30300D0A
Ainsi,
176 = 11 X (14 + 2)
Voici un morceau de code qui divisera la chaîne en une liste de chaînes
fullText = teb << get text;
fullTextList = {};
start = 1;
While( Substr( fullText, start, 14 ) != "",
Insert Into( fullTextList, Substr( fullText, start, 14 ) );
start = start + 16;
);
show( fullTextList );