Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 80
Poder: 13
koalasoft Va por buen camino
Buscar entre 3 tablas y mostrarlo en DBText el Resultado

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          // 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
      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 !!

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
buscar entre fecha y horas anubis SQL 2 01-01-2011 11:09:57
resultado producto de tablas johurgi SQL 3 20-11-2009 19:14:27
Buscar en resultado de consulta SQL alvarocastillo SQL 6 06-11-2007 16:28:54
buscar entre dos fechas jocey Varios 1 25-10-2007 21:05:52
Diferencia entre Watch y resultado final. Enan0 Varios 2 17-09-2006 08:22:36


La franja horaria es GMT +2. Ahora son las 07:07:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi