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 17-01-2015
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Consulta con dos bbdd

Hola buenas,
soy nuevo en este foro, la verdad que me habéis resuelto muchos problemas que he tenido así que gracias de antemano .
Ando un poco desesperado porque no consigo dar con la solución al problema que se me ha presentado. Por más que busco no encuentro solución. Espero no haberme equivocado en el lugar de plantearlo.
Os expongo los datos de mi problema:

Trabajo con Delphi XE 6 y tengo dos bases de datos gestionados mediante Interbase, son distintas, es decir, contienen tablas distintas.
Necesito hacer una consulta que una dos tablas de las dos bases de datos(una tabla en cada base de datos), por un mismo campo que tienen en común.

Os lo expongo con el ejemplo:

BBDD1

TABLA PROYECTMANAGER

CAMPOS
NUMEROPM
VENTAS
PROYECTOS<-- Este es el campo a igualar
...

BBDD2

TABLA FACTURAS

CAMPOS
DOCNUM
DOCBASEIMP
PROYECTOS <-- Este es el campo a igualar
...

Bien, he intentado hacer dos IBQuerys con sus respectivos SELECTS en la propiedad SQL.
IBQuery1 lo asigno a DataSetProvider1 mediante su propiedad DataSet y IBQuery2 a DataSetProvider2.

Aquí es donde viene mi problema, intentar juntar esas dos consultas en un mismo ClientDataSet o en dos ClientDataSet y que se junten en un mismo DBGrid.

He conseguido asignar un DataSetProvider a cada ClientDataSet mediante su campo ProviderName, luego hacer doble click, Ctrl+A, insertar los campos de la consulta y de ahi asignarlo a dos DBGrids distintos.

Pero no consigo que se junten las dos querys.

Para aclararlo un poco más, lo que realmente yo quiero es hacer una consulta que me diga todas los FACTURAS que pertenecen a un PROYECTMANAGER.

Por eso pensé en dividirlo en dos consultas:
1ºConsulta: que muestre todos los proyectos que tiene un ProyectManager en concreto
2ºConsulta: con esos proyectos de la consulta anterior sacar todas las facturas.

Pero no consigo juntarlos en el ClientDataSet.

¿Podríais echarme una mano?

Muchísimas gracias de verdad!
Responder Con Cita
  #2  
Antiguo 17-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Interbase no es exactamente igual que Firebird, lo comento porque con Firebird puedes consultar una base de datos externa.
De todas formas, de la forma en que lo haces también es perfectamente posible.
Debes hacerlas totalmente independiente, cada una con su conexión, transacción, dataset, etc. y luego puedes recorrer ambas e ir añadiendo los registros a un clientdataset, por ejemplo.
Responder Con Cita
  #3  
Antiguo 19-01-2015
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Hola Casimiro,
muchas gracias por contestar, se que a lo mejor es una tontería lo que me queda pero no lo consigo, podrías detallar tu respuesta un poco más.
Muchas gracias de nuevo!
Responder Con Cita
  #4  
Antiguo 19-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, me refería a hacer lo que tú mismo has comentado:
Cita:
Por eso pensé en dividirlo en dos consultas:
1ºConsulta: que muestre todos los proyectos que tiene un ProyectManager en concreto
2ºConsulta: con esos proyectos de la consulta anterior sacar todas las facturas.
Y sobre esto:
Cita:
Pero no consigo juntarlos en el ClientDataSet.
nos cuentas lo que te ocurre, pones el código, nos dices el error y en dónde sale, etc.
Responder Con Cita
  #5  
Antiguo 19-01-2015
Catublipas Catublipas is offline
Miembro
NULL
 
Registrado: ene 2015
Posts: 55
Poder: 10
Catublipas Va por buen camino
Perdona a lo mejor no me he expresado bien, yo he conseguido que por separado se muestren, es decir, tengo esto:

IBDataBase1>>IBTransaction1>>IBQuery1>>DataSource1>>DataSetProvider1>>ClientDataSet1 y de ahi a un Grid.

IBDataBase2>>IBTransaction2>>IBQuery2>>DataSource2>>DataSetProvider2>>ClientDataSet2.

Con esto no tengo problema, lo que no se hacer es(desarrollarlo) o bien que los dos ClientDataSet se unan en un tercero y que se cruce la información de todos los Proyectos de un Proyect Manager o que lo hagan antes y solo se utilice un ClientDataSet.
Mi problema es que no se terminar de juntarlos .

P.D. Lo he hecho todo en Diseño.
Responder Con Cita
  #6  
Antiguo 19-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por eso te digo:
Cita:
nos cuentas lo que te ocurre, pones el código, nos dices el error y en dónde sale, etc.
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
Escuchar BBDD Guti13 Conexión con bases de datos 2 03-11-2014 17:49:23
Acceso a BBDD hybrid Conexión con bases de datos 1 14-11-2009 17:55:03
Consulta a tabla de bbdd Firebird externa Gonbamon Firebird e Interbase 4 05-07-2008 05:32:26
copia de bbdd majosf Conexión con bases de datos 3 18-11-2005 20:49:19
BBDD database.wrk ??? Mulero Conexión con bases de datos 8 03-11-2005 11:24:31


La franja horaria es GMT +2. Ahora son las 06:54:55.


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