JSL: selección múltiple de una lista para insertar en una solicitud SQL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola tengo un pequeño problema
Creé una lista y luego un cuadro de lista para poder seleccionar diferentes valores de esta lista. Me gustaría insertar mi selección de valores en una solicitud SQL.
Pero no funciona, aquí está mi script:
elección = {"rouge","vert","bleu", "jaune"};
recordar_flag = 0;
NW=Nueva ventana("Prueba",
H Cuadro de lista (Cuadro de texto ("elegir colores"), y = Cuadro de lista (elección)),
V Cuadro de lista(
Cuadro de botones( "Aceptar",
elección = (y << es seleccionado);
::recall_flag = 1;
NO << Cerrar ventana;
)
)
);
seleccionar = "SELECCIONAR...
DE ...
DONDE Colores EN '" || elección || "' ";
¿Tienes alguna idea del problema?
Gracias por sus respuestas !
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLEl artículos concatenados La función solo toma cadenas como argumentos, por lo que no funcionará para una lista numérica.
No sabía que se podían seguir agregando argumentos de sustitución después de los dos primeros.¡Gracias por mostrarme ese truco MS!
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLEn un contexto de cuadro de lista como en el ejemplo original, los elementos deben ser cadenas para poder seleccionarse en el cuadro de lista. Es decir, los números deben convertirse en cadenas de todos modos por adelantado.
Pero supongamos que la lista se proporciona como opción = {12,156,13,25}, entonces la cadena SQL podría concatenarse de esta manera:
elección = { 12 , 156 , 13 , 25 } ;
seleccionar = "SELECCIONE...DE...DONDE ENTRA EL ID" || sustituto ( carbonizarse ( elección ) , "{" , "(" , "}" , ")" , " " , "" ) ;
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLHola,
Sí, la función concat también funciona, pero solo para cadenas y no para números. Verdadero ?
¿Tiene algún consejo para una lista numérica?
Por ejemplo: en lugar de tener opción = {"rouge", "vert", "bleu", "jaune"}; tenemos valores numéricos como elección = {12,156,13,25};
y al final queremos tener:
seleccionar = "SELECCIONE...DE...DONDE ID EN (12,156,13,25)
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLHay una función ingeniosa llamada artículos concatenados que se puede utilizar para crear su lista con una sola línea:
elección = { "colorete" , "vert" , "azul" , "amarillo" } ;
bandera_recordada = 0 ;
noroeste = Nueva ventana ( "Prueba" ,
<< modal ,
Cuadro de lista H ( Caja de texto ( "elegir colores" ) , y = Cuadro de lista ( elección ) ) ,
Cuadro de lista V (
Caja de botones ( "DE ACUERDO" ,
elección = ( y << es seleccionado ) ;
:: bandera_recordada = 1 ;
)
)
) ;
opciones_en_lista = "('" || artículos concatenados ( elección , "', '" ) || "')" ;
seleccionar = "SELECCIONE...DE...DÓNDE ENTRAN los colores" || opciones_en_lista ;
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLMerci Guillaume, ca fonctionne !
¡Gracias MS!
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLAdemás de convertir la lista en una cadena, lo que gbu resuelve muy bien anteriormente, también existe el problema de que la selección se evalúe antes de realizar la selección, a menos que la ventana sea modal o la construcción de la cadena de selección se mueva al OK- secuencia de comandos del botón.
Ejemplo de ventana modal:
elección = { "colorete" , "vert" , "azul" , "amarillo" } ;
bandera_recordada = 0 ;
noroeste = Nueva ventana ( "Prueba" ,<< modal ,
Cuadro de lista H ( Caja de texto ( "elegir colores" ) , y = Cuadro de lista ( elección ) ) ,
Cuadro de lista V (
Caja de botones ( "DE ACUERDO" ,
elección = ( y << es seleccionado ) ;
:: bandera_recordada = 1 ;
)
)
) ;
opciones = "'" || elección [ 1 ] || "'" ; // Primer elemento seleccionado
//Agrega más elementos si hay más de uno
Para ( i = 2 , i <= N artículos ( elección ) , i ++,
opciones = opciones || ", '" || elección [ i ] || "'"
) ;
seleccionar = "SELECCIONE... DESDE... DONDE Colores EN (" || opciones || ")" ;
Ejemplo no modal:
elección = { "colorete" , "vert" , "azul" , "amarillo" } ;
bandera_recordada = 0 ;
noroeste = Nueva ventana ( "Prueba" , //<
Cuadro de lista H ( Caja de texto ( "elegir colores" ) , y = Cuadro de lista ( elección ) ) ,
Cuadro de lista V (
Caja de botones ( "DE ACUERDO" ,
elección = ( y << es seleccionado ) ;
:: bandera_recordada = 1 ;
opciones = "'" || elección [ 1 ] || "'" ;
Para ( i = 2 , i <= N artículos ( elección ) , i ++,
opciones = opciones || ", '" || elección [ i ] || "'"
);
seleccionar = "SELECCIONE... DESDE... DONDE Colores EN (" || opciones || ")" ;
noroeste << Cerrar ventana ;
)
)
) ;
Re: JSL - Selección múltiple de una lista para insertar en una solicitud SQLSaludo Antonio,
Puedes hacer así:
============================================
elección = {"rouge","vert","bleu", "jaune"};
recordar_flag = 0;
NW=Nueva ventana("Prueba",
H Cuadro de lista (Cuadro de texto ("elegir colores"), y = Cuadro de lista (elección)),
V Cuadro de lista(
Cuadro de botones( "Aceptar",
elección = (y << es seleccionado);
::recall_flag = 1;
NO << Cerrar ventana;
)
)
);
seleccionar = "SELECCIONAR...
DE ...
DONDE Colores EN 'strchoice' ";
/* Paso 1: Crear una cadena a partir de la lista usando el bucle - Creación de una cadena de caracteres en formato que se adjunta en el nombre de valores */
string_color = "('" || elección[1] || "'";
Para (i = 2, i <= Nitems (elección), i++,
color_cadena = color_cadena || ","'" || elección || "'"
);
color_cadena = color_cadena || ")";
/* Paso 2: Reemplazar stingchoice por el valor de string_color */
seleccionar = sustituir(seleccionar,"'strchoice'",string_color);
============================================
Cordialmente,
Guillaume