Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2006
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Question Unir dos DBgrids

Hola,estoy programando en delphi7, base de datos MySql 3.23 y componentes zeos.Tengo un DbGrid donde muestro los equipos informaticos de mi empresa, y tengo otro donde quiero que aparezcan las aplicaciones instaladasen esos equipos.

Ejemplo:Pincho equipo1 en dbgrid1 y el dbgrid2 me muestra las aplicaciones del equipo1.Parece sencillo decirlo ¿eh? pues no soy capaz.

Tengo dos datasources, el primero para el dbgrid1(equipos) y el segundo para el dbgrid2(aplicaciones)y un zquery con la siguiente consulta sql:

Código SQL [-]
SELECT Equipos.* ,Software.*
FROM Equipos
LEFT JOIN Software
ON Software.NombreEquipo=Equipos.NombreEquipo

Donde NombreEquipo es la clave principal en los dos tablas.

El problema es que el dbgrid2 me muestra las aplicaciones instaladas en todos los equipos.Y cuando pincho en el dbgrid1 un equipo el indicador del dbgrid2 se coloca en la primera aplicacion instalada en este equipo, pero, siguen apareciendo todas las aplicaciones, aunque no esten en este equipo instaladas.

Despues de este ladrillo que he metido a ver si alguien me puede ayudar y me explica como se puede hacer esto que quiero.

Gracias un saludo

Última edición por Nbull fecha: 01-02-2006 a las 19:10:18.
Responder Con Cita
  #2  
Antiguo 01-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Tienes dos dbgrid y una sóla consulta? Faltó algo ¿no?

Yo creo que la consulta para el segundo dbgrid deber ser simplemente algo como

Código SQL [-]
select * from software
where NombreEquipo = :equipo

Si el Zeos es similar a otros query, tendrá una propiedad llamada DataSource que enlazas al del primer query. Esto hace que el parámetro :NombreEquipo automáticamente se enlace al que corresponda al registro actualmente seleccionado en el gri de equipos.

// Saludos
Responder Con Cita
  #3  
Antiguo 02-02-2006
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Muchas gracias Roman, ya aprendi a unir dos querys.Me funcionó a la perfección.

Lo explicare como lo hice para la gente que le pase lo mismo que a mi.

1º ) Un Datasource para cada Dbgrid con su correspondiente Zquery enlazado la consulta para el primer Zquery seria:

Código SQL [-]
SELECT  Equipos.*  ,Software.*
FROM Equipos
RIGHT JOIN Software
ON Software.NombreEquipo=Equipos.NombreEquipo

2º ) En el segundo Zquery pongo en Datasource el primer Zquery en MasterSource el primer Zquery también, luego en IndexFieldName pongo NombreEquipos_1 que es el indice de la tabla del Dbgrid2 y en MasterField pongo NombreEquipos que corresponde a la tabla del Dbgrid1. Y le añado la siguiente consulta SQL:

Código SQL [-]
SELECT Software.*, Equipos.NombreEquipo
FROM Software
LEFT JOIN Equipos
ON Software.NombreEquipo = Equipos.NombreEquipo

Asi cuando selecciono un registro del dbgrid1 me muestra los datos asociados a ese registro en el Dbgrid2

Un saludo.Y gracias de nuevo Roman.

Última edición por Nbull fecha: 02-02-2006 a las 09:29:00.
Responder Con Cita
Respuesta



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
unir 2 consultas con campos diferentes.. sakuragi SQL 7 03-10-2005 10:12:28
Unir Columnas vtdeleon SQL 4 15-06-2005 00:34:49
Unir trabajos de impresión mlara Impresión 2 31-05-2005 23:44:18
Unir una tabla consigo misma sitrico SQL 2 19-04-2005 00:06:03
unir db grids piyugo Varios 3 29-08-2004 23:54:50


La franja horaria es GMT +2. Ahora son las 10:56:11.


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