Agregar una ventana abierta después de hacer una selecciónHe estado buscando una solución para poder agregar una ventana abierta después de realizar una selección desde un cuadro de calendario.
Una vez que se seleccionen la Fecha de inicio y la Fecha de finalización, me gustaría abrir otra casilla justo debajo de la casilla del panel que contiene el calendario (s)
A continuación se muestra un ejemplo que estoy probando en la versión simplificada. En mi aplicación real, me gustaría abrir una casilla de verificación () basada en las fechas seleccionadas de una base de datos que se basó en un script de SQL.
Gracias
<BR />nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<< Set Function(
Function(
{f1},
sqlstartA = StartDate << Get Date();
)
)
)
), // End StartDate Calendar Box
Panel Box( "Select End",
EndDate = Calendar Box(
<< Set Function(
Function(
{f2},
sqlendA = EndDate << Get Date();
)
)
)
) // End EndDate Calendar Box
),
H List Box(
bb1 = Button Box( "Set Dates",
sqlstart = format(sqlstartA, "yyyy-mm-dd");
sqlend = format(sqlendA, "yyyy-mm-dd");
show(sqlstart, sqlend);
),
bb2 = Button Box( "Cancel" )
),
Wait( 0.1 ),
pb << Append(
Text Box( "Why isn't this working" )
)
)
)
)
);
Re: anexar una ventana abierta después de hacer una selecciónMuchas gracias.. Estaba tratando de esperar () entre esa parte de la
código.. Cuando estaba leyendo los foros vi algo sobre Pausa antes
ejecutando un script y vi el pitido () sin embargo, ni siquiera pensé
poniendo eso ahí ..
Muchas gracias de nuevo ..
Re: anexar una ventana abierta después de hacer una selecciónPor supuesto que no tengo tu DB. Pero, al hacer las simplificaciones correspondientes a su código, esto muestra la mecánica de agregar la casilla de verificación a la interfaz de usuario.
/* -----------------------------------------------------------*/
/* Calendar Box to Select Start and End Dates */
/* -----------------------------------------------------------*/
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start", StartDate = Calendar Box( <<SET function=""></SET>
Re: anexar una ventana abierta después de hacer una selecciónPermítame expandir eso si puedo.
Ahora que tiene que trabajar con un cuadro de texto, la solución real que estoy tratando de resolver es colocar un cuadro de verificación que se rellena cuando presiona Establecer fechas. Intenté insertar LotListBox = Check Box (LotList, doListChoice); en lugar del cuadro de texto () y solo aparece la ventana del panel ...
De lo que puedo reunir, los últimos 4 conjuntos de scripts no se ejecutan, por lo tanto, solo enviando una ventana vacía.
/* -----------------------------------------------------------*/
/* Calendar Box to Select Start and End Dates */
/* -----------------------------------------------------------*/
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<<SET function="">= ' " || sqlstart || " '
AND t1.testdate <= ' " || sqlend || " '
AND (t1.wafer_number NOT RLIKE '-ATL' )
ORDER BY t1.testdate DESC
"
);
/*****************************************************************************/
/* */
/* Brings in the list of wafers from the SQL Query */
/* */
/*****************************************************************************/
/**************************************************************/
/* Opens Database based on Calendar Dates and Lists Lots */
/**************************************************************/
// Tried to put this in an expression to execute in the main window
dtLotList = Expr(
dt_LotList = Open Database( <DATABASE string="">, SQLcode, "LotList" );
Summarize( LotList = By( :wafer_number ) );
Close( dt_lotlist, No Save );
);
// Original script to bring in a list of wafers within the date range
dt_LotList = Open Database( <DATABASE string="">, SQLcode, "LotList" );
Summarize( LotList = By( :wafer_number ) );
Close( dt_lotlist, No Save );
/**************************************************************/
/* Lists Lot List in Check Box Format */
/**************************************************************/
// This is what i would like to be appended in the first window
LotListBox = Check Box( LotList, doListChoice );
/**************************************************************/
/* Allows for Multiple Lots to be Selected */
/**************************************************************/
doListChoice = Expr(
SelectedLot = LotListBox << get selected; //get the selected items
If( N Items( SelectedLot ) > 0, //run through each selected item if there are any
For( i = 1, i <= N Items( SelectedLot ), i++,
Print( SelectedLot[i] )
)
);
LotListSQLString = "";
For( i = 1, i <= N Items( SelectedLot ), i++,
LotListSQLString = LotListSQLString || "'" || Char( SelectedLot[i] );
If( i == N Items( SelectedLot ),
LotListSQLString = LotListSQLString || "'",
LotListSQLString = LotListSQLString || "',"
);
);
Show( SelectedLot );
);</DATABASE></DATABASE></SET>
Re: anexar una ventana abierta después de hacer una selecciónEso es una locura porque no estaba funcionando ... Gracias por señalarloRe: anexar una ventana abierta después de hacer una selecciónTrabajando a toda prisa, no estoy seguro de lo que le hice a tu original. Pero el código de abajo sí funciona. En general, considero que ayuda a la legibilidad y la capacidad de mantenimiento para definir acciones como expresiones con un nombre, luego las invoco usando ese nombre.
nw = New Window( "Example",
V List Box(
pb = Panel Box( "Calendar",
V List Box(
H List Box(
Panel Box( "Select Start",
StartDate = Calendar Box(
<<SET function=""></SET>