Ver Mensaje Individual
  #5  
Antiguo 26-04-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 18
jafera Va por buen camino
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
Responder Con Cita