Estimados tengo el siguiente detalles.
Tengo 3 Tablas diferentes con los siguientes campos:
Código:
ONT.db
ID_ONT
MAC
SERIE
TIPO
FOLIO
CLIENTES.db
ID_CL
NOMBRE
DIRECCION
TELEFONO
FOLIO
CTRL.db
BOARD
VELOCIDAD
STATUS
ID_CL
ID_ONT
FOLIO
Es una tabla (ONT.db) que es un equipo, el de clientes (cliente.db) y una tabla para llaver el control (ctrl.db)
Lo que pretendo es que ya que en la tres tablas tiene el campo FOLIO que es generado al trabajar en la tabla CTRL.db, en este último guardo solo los ID de cliente y equipo (ont) para que no haya redundancia de información en las tablas, es por eso que solo guardo el ID de cada uno.. ahora bien ..
Tengo el siguiente escenario...
coloque 3 query en el form, uno para cada tabla QueryONT, QueryCL QueryCTRL,, coloque unos DBTexto donde esta la sección donde aparecerá el nombre del cliente, en el otra sección los datos del equipo (ont) y lo demás datos que tiene la tabla CTRLONT igual en unos DBText.
Tengo este código...
Código Delphi
[-]with QueryCTRL do begin
Close;
SQL.Clear;
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');
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
Bok.Enabled := True;
End;
end;
Use la opción join ya que dice que puedes checar la similitud de campos entre tablas .... si me hace la búsqueda cn la condición que le puse .. pero en el fomulario no me muestra los datos restantes del cliente (nnombre, direccion, tel,etc..) y equipo ont (MAC, SERIE, TIPO)..
Me faltará algo para que e muestre os datos restantes teniendo solo relacionado entre ellos el folio??
Gracias !!