Power Builder - Problemas con SETFILTER()

 
Vista:

Problemas con SETFILTER()

Publicado por Edgar Flores (44 intervenciones) el 23/01/2004 19:28:18
Por favor, si pueden ayudarme con esta consulta:
Tengo una ventana inicial w_cliente, en la cual hay un DW_1 desde aqui capturo un codigo de cliente(cliente_id) este campo es numerico.
Luego habro otra ventana w_cliente_precio via OpenWithParm, el Open de esta ventana le detallo abajo: en esta ventana hay dos(2) datawindows dw_11 y dw_22, ambos estan creadas con la misma base de datos: en la primera es para insertar datos y en la segunda para mostrar lo insertado.
//------------------------------
integer documento, r
string selecciona
documento = 0
dw_11.SetTransObject(sqlca)
dw_11.Retrieve()
dw_22.SetTransObject(sqlca)
dw_22.Retrieve()

//desactiva el dw_1 y botones Grabar e ignorar
dw_11.Enabled = false
cb_2.Enabled = false
cb_3.Enabled = false
r=dw_22.rowcount()
if r >= 1 then
documento=dw_22.GetItemNumber(dw_22.Getrow(),"cliente_id")
messagebox("documento",documento, stopsign!)
selecciona = "documento = i_custidp1"
messagebox("selecciona",selecciona, stopsign!)
dw_11.SetFilter(selecciona)
dw_11.Filter()
dw_22.SetFilter(selecciona)
dw_22.Filter()
end if

st_1.text = ls_fullname
//----------------------------------------------------
La variable i_custidp1, contiene el codigo de cliente(cliente_id),tomada de la ventana w_cliente, y es publica.
Lo que no me funciona es la instruccion SetFilter(selecciona), me da el siguiente error: Expression is not valid.

En realidad lo que quiero hacer es recuperar los precios de un cliente y mostrarlo, por que en esta tabla puede haber precios de difere
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con SETFILTER()

Publicado por Carlos Gil (124 intervenciones) el 24/01/2004 15:42:39
Reemplazálo por esto:

dw_11.Enabled = false
cb_2.Enabled = false
cb_3.Enabled = false

if dw_22.rowcount() >= 1 then
documento=dw_22.GetItemNumber(dw_22.Getrow(),"cliente_id")
messagebox("documento",documento, stopsign!)
selecciona = "nombre_de_Objeto_del_DW = " + String ( i_custidp1 )
messagebox("selecciona",selecciona, stopsign!)
dw_11.SetFilter(selecciona)
dw_11.Filter()
dw_22.SetFilter(selecciona)
dw_22.Filter()
end if

Recuerda que PB se ejecuta mas rapido mientras menos lineas de codigo y variables utilizas.
Te recomendaria que no uses variables globales en su lugar pudiste trabajar con OpenSheetWithParm y en el Open de w_cliente_precio añadiriás estas Lineas de codigo

//il_KeyCliente es variable de instancia si la vas a usar en toda la ventana
//puede ser local solo, si lo utilizas en este evento.
il_KeyCliente = Message.DoubleParm

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con SETFILTER()

Publicado por Edgar Flores (44 intervenciones) el 24/01/2004 16:08:30
Gracias por la ayuda Carlos, funciono perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar