FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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! |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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! |
#4
|
||||
|
||||
Hola, me refería a hacer lo que tú mismo has comentado:
Cita:
Cita:
|
#5
|
|||
|
|||
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. |
#6
|
||||
|
||||
Por eso te digo:
Cita:
|
|
|
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 |
|