Ver Mensaje Individual
  #2  
Antiguo 24-02-2005
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Reputación: 23
jplj Va por buen camino
Quizá puedas solucionarlo usandos distintas consulta para cada caso:

Código Delphi [-]


function TMain.Abrir_Consulta(SQL: String; Valores: Array of Variant): Boolean;
var
   i: Integer;
begin
   ADOQuery_1.Active:= false;
   ADOQuery_1.SQL:= SQL;
   for i:= 0 to High(Valores) do
      ADOQuery_1.Parameters[i].Value:= Valores[i];
   ADOQuery_1.Active:= true;
     
   // Aquí quedaría también por "intentar" poner la posición de la rejilla en la
   // misma posición que tenía antes de cambiar la consulta. 
end;

procedure TMain.Consulta_Inicial;
begin
    Abrir_Consulta( 'SELECT * FROM MiTabla;', [])
end;

procedure TMain.Consulta_Usuario(User: String);
begin
    Abrir_Consulta( 'SELECT * FROM MiTabla WHERE Usuario = :P0;', [User]])
end;

...


Otra posibilidad es utiliar la propiedad Filter del componente.

Un Saludo.
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita