Tema: DBGrid
Ver Mensaje Individual
  #8  
Antiguo 05-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 24
andres1569 Va por buen camino
Hola Kao, parece que estemos en un Chat, los dos Online aquí.

Si como dices, ese Query lo tienes en un DataModule aparte, llamémosle DATAMOD2, antes que nada el Form desde el que llamas al otro debe tener en su cláusula Uses la unit del DATAMOD2, para acceder a sus objetos. Supongamos que esta es la rutina donde llamas al Form de búsqueda:
Código:
var
  AForm: TFormBusqueda;
begin
  AForm := TFormBusqueda.Create(Self);
  try
    if AForm.ShowModal = mrOk then // el usuario hizo Doble click y validó
    begin
      Edit1.Text := DATAMOD2.Query1.FieldByName('ID_CASA').AsString;
      Edit1.Text := DATAMOD2.Query1.FieldByName('Descripcion').AsString;
    end       
    else begin   // el usuario canceló la búsqueda
      Edit1.Text := '';  // por ejemplo podemos vaciar los Edits
      Edit1.Text := '';
    end 
  finally
    AForm.Free;   // liberamos la memoria del Form de búsqueda    
  end;
end;
Bueno, esta es una forma de hacerlo, el Form de búsqueda al abrirse lanza la consulta y el form que lo llama toma de ella los valores que le interesen si se aceptó la búsqueda. Fíjate que TFormBusqueda debe cerrar la consulta en su método OnDestroy (si es que quieres que se cierre realmente); aun así podemos mirar los valores de la consulta antes de hacer AForm.Free, que es cuando se cerrará realmente.

En TFormBusqueda iría esto:
Código:
procedure TFormBusqueda.Create (Sender: TObject);
begin
  DATAMOD.Query1.Open;
end;

procedure TFormBusqueda.Destroy (Sender: TObject);
begin
  DATAMOD.Query1.Close;
end;
Uff !!! Acabo de ver tu nuevo mensaje, lo del uso del Like que me acabas de decir no influye en lo que estamos tratando.

Por cierto, si entras en la página web de Cadetill, puedes descargarte un componente, llamado algo así como TDBSearchDialog, que sirve para hacer búsquedas, igual te ayuda mirar su código, o el componente entero.
__________________
Guía de Estilo
Responder Con Cita