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