Ya no recuerdo exactamente en interbase pero la solucion que has dado es correcta.
Tambien podes optar por utilizar otro parámetro, que lo haria mas claro, algo como:
Código:
select * from color_general
where (cog_descripcion like :des) or (:todas_las_descripciones = 'S')
y desde delphi, luego hacer:
Código:
if eDescripcion.Text = '' Then
Query.ParamByName('todas_las_descripciones').Value := 'S';
else Begin
Query.ParamByName('todas_las_descripciones').Value := 'N';
Query.ParamByName('cog_descripcion').Value := eDescripcion.Text;
End;
Hasta luego.