A ver tu dices que si le das un espacio a cada OR te sigue saliendo el error??
quedaria algo asi
Código Delphi
[-]procedure TForm1.Edit1Change(Sender: TObject);
var Filtro: string;
begin
Filtro := '';
if (Edit1.Text <> '')
then begin
Table1.Filtered := False;
if ComboBox1.Text = 'Pedido'
then Filtro := 'no_ped Like ''' +Edit1.Text+ '*''';
if ComboBox1.Text = 'Trámite'
then Filtro := 'tramite_no Like ''' +Edit1.Text+ '*''';
if ComboBox1.Text = 'Orden de Compra'
then begin
Filtro := 'oc_no_sigef1 Like ''' +Edit1.Text+ '*'' OR ';
Filtro := Filtro + 'oc_no_sigef2 Like ''' +Edit1.Text+ '*'' OR ';
Filtro := Filtro + 'oc_no_sigef3 Like ''' +Edit1.Text+ '*''';
end;
if ComboBox1.Text = 'Carta Orden'
then begin
Filtro := 'co1 Like ''' +Edit1.Text+ '*'' OR ';
Filtro := Filtro + 'co2 Like ''' +Edit1.Text+ '*'' OR ';
Filtro := Filtro + 'co3 Like ''' +Edit1.Text+ '*'' OR ';
Filtro := Filtro + 'co4 Like ''' +Edit1.Text+ '*''';
end;
if ComboBox1.Text = 'Status'
then Filtro := 'status Like ''' +Edit1.Text+ '*''';
Table1.Filter := Filtro;
Table1.Filtered := true;
end
else Table1.Filtered := False;
fijate que despues de los OR y antes de la comilla simple hay un espacio en blanco