Esta publicación es un seguimiento y una extensión del foro resuelto. aquí .
El siguiente script se desarrolló en esa publicación:
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>Si la Columna 2 ya existe y el usuario desea reemplazarla con un conjunto de nuevos valores, vuelva a ejecutar el script e ingrese un nuevo conjunto de valores.
Intenté usar la función de actualización. Si la Columna 2 existe, la función de actualización se utilizará en la Columna 2. De lo contrario, se creará la columna 2. como anteriormente. pero no estoy familiarizado con la expresión Eval y necesito una mejor comprensión de dónde podría poner una declaración como esta en el script si funciona.
Aquí hay un método que manejará el problema donde la columna ya existe
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>