
Mejor respuesta Koalasoft , 07 enero 2017 - 09:41
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 ..
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 !! .. Ir al mensaje completo
