Questo post è un follow-up e un'estensione del forum risolto qui .
Il seguente script è stato sviluppato in quel post:
Names Default To Here(1);
dt = Current Data Table();
//get the unique character variable list
col9 = Column(dt, "Column 1");
unique_char = Associative Array(col9) << get keys;
nuniquechar = N Items(unique_char); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array(unique_char, Repeat({.}, nuniquechar)); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For(i = 1, i <= nuniquechar, i++,
Insert Into(vlbExpr, Text Box("Number for " || Char(unique_char[i]) || ":")); //i.e. "Number for A:"
Eval(
Eval Expr(Insert Into(vlbExpr, Number Edit Box(., <<SET function=""></SET>Se la colonna 2 esiste già e l'utente desidera sostituirla con una serie di nuovi valori, eseguendo nuovamente lo script e immettendo una nuova serie di valori.
Ho provato ad usare la funzione di aggiornamento. Se esiste la colonna 2, la funzione di aggiornamento verrà utilizzata nella colonna 2. Altrimenti, verrà creata la colonna 2. come sopra. ma non ho familiarità con l'espressione Eval e ho bisogno di una migliore comprensione di dove potrei inserire una dichiarazione come questa nello script se funziona.
Ecco un metodo che gestirà il problema in cui la colonna esiste già
Names Default To Here( 1 );
dt = Current Data Table();
//get the unique character variable list
col9 = Column( dt, "Column 1" );
unique_char = Associative Array( col9 ) << get keys;
nuniquechar = N Items( unique_char ); //will be 5, if categories are A, B, C, D, E
unique_aa = Associative Array( unique_char, Repeat( {.}, nuniquechar ) ); //repeat to initialize values as missing
//create new window to create multiple number edit boxes
vlbExpr = V List Box();
For( i = 1, i <= nuniquechar, i++,
Insert Into( vlbExpr, Text Box( "Number for " || Char( unique_char[i] ) || ":" ) ); //i.e. "Number for A:"
Eval(
Eval Expr(
Insert Into(
vlbExpr,
Number Edit Box(
.,
<<SET function=""></SET>