Trabajar con dos tablas power builder

Tengo que construir una grid donde tengo que utilizar dos base de datos donde una tabla con los campos código y nombre del cliente (base datos A)
Por otro lado tengo la otra base de datos donde tengo una tabla que tiene como campo el código de cliente. (Base datos B)
La grid que quiero construir tiene que unir las dos base de datos donde el código de la tabla B llame al nombre de la tabla A
Cuando estoy en el power builder en la creación de datawindows solo puedo leer una sola base de datos .
Y si la respuesta tienes que decirla por teléfono te llamo no importando en país que estés
Es un problema que no he podido resolver y cueste lo que cueste lo tengo que hacer.
Respuesta
1
Lo que podes hacer es escribir la instrucción SQL de la datawindow especificando la base de datos donde recide cada tanbla, y relacionarlas por ejemplo.
select DB1.dbo.TablaA.Nombre FROM DB1.dbo.TablaA,DB2.dbo.Tabla2 WHERE
DB1.dbo.TablaA.Codigo = DB2.dbo.TablaB.Codigo
Esta es una forma, otra forma un poco más compleja es utilizar datawindows anidadas, una seria para los datos de la tabla A y la otra para los datos de la tabla B.
Lo que tienes que hacer es crear un objeto transacción que se conecte a la base de datos donde esta la tabla B.
Después usas un método que se llama GetChild del objeto Datawindow. Este método te devuelve la datawindow que esta dentro de la dw principal. Una vez que tienes la referencia al a la dw child, le haces un SetTransObject, al objeto transacción que se conecta al base de datos B, y después le haces un retrieve. En realidad tienes que manipular la "datawindow Child" como si fuera una datawindow normal, y sincronizarla con la DW principal.
Transaction txn2 //Declaro Obj Transaccion
txn2 = Create Transaction
//Defino la connecion
txn2.provider=MSSQL...
...
..
..
connect using txn2
Datawindow dwo
dw_1. GetChild("codigoCliente", dwo)
Dwo. SetTransObject(txn2)
//recupero los datos de la tablaB
Dwo. Retrieve
//Una vez que tengo los datos, solo resta sincronizar con la dw principal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas