Ver Mensaje Individual
  #11  
Antiguo 01-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:

Código SQL [-]
select * from tabla
where
  campo1 = ? and
  campo2 = ? and
  campo3 = ? and
  campo4 = ?

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á:

Código SQL [-]
select * from tabla
where
  campo1 = ? and
  campo3 = ? and
  campo4 = ?

Cuál de las dos escoges lo decides con un condicional:

Código Delphi [-]
if combo2.text <> 'todos' then
   primera consulta
else
  segunda consulta

¿Está más claro?

// Saludos
Responder Con Cita