Ver Mensaje Individual
  #2  
Antiguo 08-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 86
Reputación: 20
koalasoft Va por buen camino
Que tal .. pues me respondo a mi mismo, busqué esta forma no se si sea la mas elegante pero al menos funcionó en lo que buscaba !!

Declaré una variable para extraer el folio y después ya teniendo ese valor lo use para consultar las demás ..

Código Delphi [-]
Var
  F : Integer;

...
..
.

with QueryCTRL do          // Busqueda por Modelo y Tipo
 begin
   Close;
   SQL.Clear;
   // ------------------------------------------------------------
   // Se ultilizó el PArametro JOIN para unir las otras Tablas
   // relacionando el Campo FOLIO en todas ellas siempre y cuando
   // Se cumpliera la condicion de busqueda del ONT ya registrado.
   // ------------------------------------------------------------
   SQL.Add('SELECT * FROM CTRL.db CTRL ');
   SQL.Add('join CLIENTES.db CL on CTRL.FOLIO = CL.FOLIO ');
   SQL.Add('join ONT.db ONT on CTRL.FOLIO = ONT.Folio ');
   SQL.Add('WHERE BOARD_ONT=:BOARD_ONT'); 
   // --------------------------------------------------------
   //  Valores de búsqueda para el tablero.
   // --------------------------------------------------------
   ParamByName('BOARD_ONT').AsInteger := StrToInt(Edit1.Text);
   Open;
   if QueryCTRL.IsEmpty then
    Begin
    msError('El ONT no se encuentra registrado, porfavor verifica los datos.','No existe Datos..');
    End
     Else
      Begin
      F:= QueryRegONT.FieldByName('FOLIO').AsInteger;      // -------------------
      with QueryCL do          // Busqueda por Modelo y Tipo
        begin
          Close;
          SQL.Clear;
          SQL.Add('SELECT * FROM CLIENTES.db ');
          SQL.Add('WHERE FOLIO=:FOLIO');
          ParamByName('FOLIO').AsInteger :=F;
          Open;
        end;
      with QueryONT do          // Busqueda por Modelo y Tipo
        begin
          Close;
          SQL.Clear;
          SQL.Add('SELECT * FROM ONT.db ');
          SQL.Add('WHERE FOLIO=:FOLIO');
          ParamByName('FOLIO').AsInteger :=F;
          Open;
        end;      
    End;
 end;

Con esto, una vez realizada la primera búsqueda, extraigo el campo FOLIO que esta relacionado con las otras tablas, ahora solo lo guarde en una variable y lo use en las otras búsquedas.

Gracias y quedo solucionado por mi parte, si hay alguna mejor idea por favor de compartir !! ..

Última edición por Casimiro Notevi fecha: 08-01-2017 a las 12:00:52.
Responder Con Cita