Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2013
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 249
Poder: 6
feliz-58 Va por buen camino
Lightbulb Dos DBGrid, Uno que se filtre con la selección del otro

Mis mas Sinceros Saludos a todos.

Mi pregunta es la siguiente, ¿Es posible tener dos DBgrids y que por ejemplo, en el primero, que es la tabla "Clientes" tengo los siguientes campos:

ID, Cliente, Telefono, Direccion.

y en el Segunto DBgrid, que es la tabla "Equipos" Tengo los siguientes campos:
ID, Equipo, Marca, Modelo.

Puedo hacer que cuando seleccione el cliente en el DBGrid 1 "Tabla Clientes" automaticamente se Filtre en la tabla Numero 2 "Equipos" todos aquellos registros que sean Iguales al ID Del Cliente?

Datos Adicionales

Bases de Datos: MS Access
Componentes: ADOconnection, y ADOTable
____________________________________

Saludos!
Responder Con Cita
  #2  
Antiguo 26-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.824
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola feliz-58.
Cita:
Empezado por feliz-58 Ver Mensaje
...
Puedo hacer que cuando seleccione el cliente en el DBGrid 1 "Tabla Clientes" automaticamente se Filtre en la tabla Numero 2 "Equipos" todos aquellos registros que sean Iguales al ID Del Cliente?
...
Si, pero necesitas un campo mas en la tabla "Equipos" para establecer la relación, por ejemplo:
  • ID
  • Equipo
  • Marca
  • Modelo
  • Cliente_ID ( ID del cliente )

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 26-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.824
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Para no dejar las cosas en el aire, te pongo un ejemplo de como configurarlo. Lo hago mediante código por entenderse mas claramente, pero podes configurarlo en tiempo de diseño mediante el Object Inspector con el mismo resultado.

Agregá un TADOConnection, 2 TADOQuery, 2 TDataSource y dos TDBGrid.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  dsClientes.DataSet := qyClientes; // TDataSource asociado a "CLIENTES"
  dsEquipos.DataSet  := qyEquipos;  // TDataSource asociado a "EQUIPOS"

  with qyClientes do
  begin
    Connection := ADOConnection1;
    Close;
    SQL.Text := 'SELECT * FROM CLIENTES';
    Open;
  end;

  with qyEquipos do
  begin
    Connection := ADOConnection1;
    DataSource := dsClientes; // TDataSource asociado a tabla "CLIENTES"
    // El nombre que sigue a los dos puntos (":ID") en la siguiente consulta,
    // deberá ser igual al nombre del campo ID de la tabla "CLIENTES"
    SQL.Text   := 'SELECT * FROM EQUIPOS WHERE CLIENTE_ID = :ID';
    Open;
  end;

  DBGrid1.DataSource := dsClientes; // DBGrid que visualiza a "CLIENTES"
  DBGrid2.DataSource := dsEquipos;  // DBGrid que visualiza a "EQUIPOS"
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 26-07-2013
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 249
Poder: 6
feliz-58 Va por buen camino
Smile

Cita:
Empezado por ecfisa Ver Mensaje
Hola de nuevo.

Para no dejar las cosas en el aire, te pongo un ejemplo de como configurarlo. Lo hago mediante código por entenderse mas claramente, pero podes configurarlo en tiempo de diseño mediante el Object Inspector con el mismo resultado.

Agregá un TADOConnection, 2 TADOQuery, 2 TDataSource y dos TDBGrid.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  dsClientes.DataSet := qyClientes; // TDataSource asociado a "CLIENTES"
  dsEquipos.DataSet  := qyEquipos;  // TDataSource asociado a "EQUIPOS"

  with qyClientes do
  begin
    Connection := ADOConnection1;
    Close;
    SQL.Text := 'SELECT * FROM CLIENTES';
    Open;
  end;

  with qyEquipos do
  begin
    Connection := ADOConnection1;
    DataSource := dsClientes; // TDataSource asociado a tabla "CLIENTES"
    // El nombre que sigue a los dos puntos (":ID") en la siguiente consulta,
    // deberá ser igual al nombre del campo ID de la tabla "CLIENTES"
    SQL.Text   := 'SELECT * FROM EQUIPOS WHERE CLIENTE_ID = :ID';
    Open;
  end;

  DBGrid1.DataSource := dsClientes; // DBGrid que visualiza a "CLIENTES"
  DBGrid2.DataSource := dsEquipos;  // DBGrid que visualiza a "EQUIPOS"
end;

Saludos.
Excelente Ecfisa, estaba leyendo en delphiabout, ya lo había logrado en tiempo de diseño, pero Muchísimas gracias por el Código, también me sera útil, con unas cosas que tengo en mente.

link del Articulo en delphi About (Para quien le interece):
Master/Detail

Saludos! ecfisa!
Responder Con Cita
Respuesta


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
seleccion DBGrid hybrid Conexión con bases de datos 9 21-11-2009 11:57:59
DbLookupComboBox Que filtre uno anterior Camilo Conexión con bases de datos 8 15-12-2007 22:38:54
Filtro por selección en dbGrid. setry2 OOP 3 20-10-2004 15:23:07
Selección de fila en dbgrid mutant09 C++ Builder 0 13-05-2004 11:57:55
seleccion dbgrid davidgaldo Conexión con bases de datos 3 26-02-2004 10:45:33


La franja horaria es GMT +2. Ahora son las 05:54:31.


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