Hola,
Lo que creo que queda claro después del comentario de Lepe, es que no tiene mucho caso tratar de usar el mismo operador para todos los tipos de campo. ¿Por qué no mejor actuar con base al tipo de datos del campo?
Código Delphi
[-]
J := cboCampos.ItemIndex;
case ADOQuery.Fields[J].DataType of
ftString: filtro para campos string;
ftSmallInt, ftInteger, ftWord, ftLargeInt: filtro para campos enteros;
ftFloat, ftCurrency: filtro para campos reales;
ftBoolean: filtro para campos lógicos;
ftDate, ftTime, ftDateTime: filtro para campos fecha-hora;
else
raise Exception.Create('no sé que hacer con este tipo de datos');
end;
Lo útimo es necesario para todos los datos tipo BLOB o más raros.
// Saludos