La Web del Programador: Comunidad de Programadores
 
    Pregunta:  54242 - RELACIONAR DOS OBJETOS DATAWINDOW DE DIFERENTES VENTANAS
Autor:  LARISA RUIZ COTRINA
Buen dia con todos:
Necesito su ayuda por favor, estoy trabajando con power builder 9.0 y como administrador de bd con sql server 2000, tengo en una w_cliente al dw_cliente cuya primay key es codcliente y tengo en otra ventana w_tarjeta un dw_tarjeta cuya primary key es codtarjeta y tiene como llave tambien a codcliente la cual a heredadpo de la tabla cliente. Mi problema es que yo deseo jalar automaticamente al hacer click en el boton cb_1 el codcliente de la ventana w_cliente, dw_cliente a la otra ventana w_tarjeta, al dw_ tarjeta, e intentado incliso realizar una consulta sql, pero nada. Lo necesito porque es parte de mi trabajo. agradezco mucho su respuesta.

  Respuesta:  Coco Cuenca
Podrías hacer lo siguiente:

declarar una variable global codigo_cliente (del tipo de dato que corresponda)

luego en el cb_1 de w_cliente escribe lo sgte:

codigo_cliente=dw_cliente.object.codcliente[dw_cliente.getrow()]
close(parent)

luego en la ventana w_tarjeta

en el evento constructor del dw_tarjeta escribe:
string consulta

consulta="codcliente = "+codigo_cliente

this.settransobject(sqlca)
this.retrieve()

this.setfilter(consulta)
this.filter()
-------
De esta manera tendrás en el dw_tarjeta el registro correspondiente al codcliente que elegiste en el dw_cliente de la ventana w_cliente.

Si alguien tiene otro tipo de solución, por favor compartirla, de esa manera tendremos multiples alternativas cuando programamos este tipo de casos.

Hasta luego