FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Bueno, Trataré de explicarmen mejor
El query lo hago En Base a 4 Campos, El campo estado, el cual en la tabla de donde toma los datos tiene dos posibles valores, Corregida y Pendiente, yo agrego una tercera opción que sería Todos, donde quiero decir que quiero que me traiga todos los registros de la tabla sin importar su estado, para empezar si elijo esta tercera opción ya el query saldría vacio, y no es eso lo que quiero, pues lo que quiero es que primero tome todos los registros existentes. Ahora supongamos que eligo un valor valido para el primer campo, digamos Corregida, para el segundo campo El cual se llama Supervisor, existen Seis valores posibles, que son 6 nombres de personas, pero también como en el primero agrego una opción más que es Todos, digamos que mi tabla tiene 1202 registros de estos 550 son corregidas, si yo elijo el valor Todos para el segundo campo, el Query queadría vacío, puesto que no existe en la tabla ningún valor Todos , y cosa que sería falsa pues existen 550 registros, y lo mismo ocurriría con los otros dos campos. Espero haberme dado a entender.
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
#2
|
||||
|
||||
Pues simplemente a la hora de construir la condición del WHERE te fijas si el combo dice Todos y en tal caso excluyes la condición sobre el campo estado de la consulta.
// Saludos |
#3
|
||||
|
||||
En eso habia pensado y es lo que estoy probando en este momento precisamente, o sea si el valor es Todod, que no filtre el Query, y se vaya al siguiente campo y así. en cadena... estoy haciendo pruebas.
Gracias.
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
#4
|
||||
|
||||
De plano no puedo, como puedo hacer para que no me tome encuenta la condición de Todas si es elegida, y me jeute la consulta bien??? ya me desesperé...
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
#5
|
||||
|
||||
Vamos a ver. Según lo que entiendo (corrígeme si me equivoco) tienes cuatro combos correspondientes a cuatro campos de tu tabla, digamos campo1, campo2, campo3 y campo4. La consulta debe mostrarte los registros que satfisfagan las cuatro condiciones, a saber:
campo1 = combo1.text campo2 = combo2.text campo3 = combo3.text campo4 = combo4.text Esto quiere decir que tu consulta debe ser del estilo de:
donde los símbolos ? representan los valores de los combos. Ahora bien, tú quieres que al seleccionar la opción todos de uno de los combos te seleccione todos los registros que satisfagan las otras tres condiciones pero indistintamente de cuál sea el valor del campo correspondiente a todos. Lo único que tienes que hacer, al momento de construir la cadena SQL es entonces omitir la condición correspondiente. Por ejemplo, si todos corresponde al combo 2 entonces ahora la consulta será:
Cuál de las dos escoges lo decides con un condicional:
¿Está más claro? // Saludos |
#6
|
||||
|
||||
Pues si, asi estaba pensado, pero... ¿cuantas combinaciones posibles hay? tu me das la posibiliadad para una sola combinacion, pero veamos esto.
Pueden darse las siguientes combinaciones Código:
Opción1 Opción 2 Opción 3 Opción 4 Todos X X X Todos Todos X X Todos Todos Todos X Todos Todos Todos Todos . . . etc.
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
#7
|
||||
|
||||
Precisamente por eso es la idea de consruir al vuelo la consulta. Claro que tendrás que utilizar algunos condicionales debido al "valor" todos pero nunca tantos cómo 4*4*4*4.
// Saludos |
|
|
|