Buenos dias.
Problema solucionado, a veces los arboles no nos dejan ver el bosque.
El fallo estaba en la evaluación and-or ya que el or prevalece sobre el and.
Código Delphi
[-]OrdenarGrid.SQL.Add('and actual = ''S''');
If CheckBox1.Checked=False then
begin
OrdenarGrid.SQL.Add('or actual = ''N''');
end;
OrdenarGrid.SQL.Add('order by '+Combobox1.text+', MATRICULA');
La solución ha sido ponerlo así:
Código Delphi
[-]
procedure TF_BuscarCamio.Edit1Change(Sender: TObject);
begin
try
OrdenarGrid.Close;
OrdenarGrid.SQL.Clear;
OrdenarGrid.SQL.Add('select * from BOM0001 where upper('+Combobox1.text+') like ''%'+AnsiUpperCase(Edit1.Text)+'%''');
If CheckBox1.Checked=True then
begin
OrdenarGrid.SQL.Add('and actual = ''S''');
end
else
OrdenarGrid.SQL.Add('and (actual = ''S'' or actual = ''N'')');
OrdenarGrid.SQL.Add('order by '+Combobox1.text+', MATRICULA');
OrdenarGrid.Open;
DBGridBuscar.SetFocus;
except
end;
end;
Funciona al 100%.
Gracias por vuestro interés.
Josep