Come faccio a creare una casella di testo in un elenco per query sqlSto cercando di creare una casella di testo per consentire agli utenti di inserire informazioni per la query sql e gli utenti copiano queste informazioni da Excel alla casella di testo. la mia domanda:
1. Questa lunghezza del lotto è fissata =14 e in questo esempio sono presenti 11 lotti. Perché la lunghezza della casella di testo è 176?
2. Come trasformare questo testo in un elenco come {"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: Come faccio a creare una casella di testo in un elenco per query sqlQuesto è utile
Re: Come faccio a creare una casella di testo in un elenco per query sqlEcco un altro modo per analizzare le informazioni usando WORDS.Successivamente utilizzando CONCAT ITEMS per creare un elenco 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: Come faccio a creare una casella di testo in un elenco per query sqlJim, grazie per la spiegazione. Ritengo che ci saranno 2 caratteri extra da excecl con copia/incolla, e ora potrei fare un elenco 
Re: Come faccio a creare una casella di testo in un elenco per query sqlIl problema è che il buffer di incollaggio in cui hai copiato dalla tabella di Excel contiene i ritorni a capo (hex 0D) e l'avanzamento riga (hex 0A) alla fine di ogni cella che è stata copiata.Di seguito è riportata la rappresentazione esadecimale dell'elenco dei lotti, tratto dal file Excel incollato.In realtà è tutta una lunga riga di caratteri esadecimali, ma a scopo illustrativo ho interrotto la riga di caratteri esadecimali alla fine di ogni lotto
31383134383031382D30312D30300D0A
31383134383031382D30312D30310D0A
31383134383031382D30322D30300D0A
31383135383031312D30312D30300D0A
31383135383031312D30322D30300D0A
31383138383030322D30312D30300D0A
31383138383030322D30312D30320D0A
31383138383030322D30312D30330D0A
31383138383030342D30312D30300D0A
31383439383030372D30312D30300D0A
31383441383030352D30312D30300D0A
Così,
176 = 11 X (14 + 2)
Ecco un pezzo di codice che spezzerà la stringa in un elenco di stringhe
fullText = teb << get text;
fullTextList = {};
start = 1;
While( Substr( fullText, start, 14 ) != "",
Insert Into( fullTextList, Substr( fullText, start, 14 ) );
start = start + 16;
);
show( fullTextList );