Power Builder - Filtrar campos vacios de un DW

   
Vista:

Filtrar campos vacios de un DW

Publicado por Juan Vlas (206 intervenciones) el 01/12/2008 19:06:50
Hola a todos, tengo una inquietud que me gustaria puedan ayudarme a resolver:

Tengo un datawindow llamado (dw_reporclienteconequipos) en el que filtro clientes que cuentan con equipos asignados por la empresa y otros clientes que cuentan con su propio equipo:

Yo he creado un DropDwonListBox en power 9.0, en el he colocado:

Clientes con Equipos
Clientes sin equipos

Mi pregunta es como puedo hacer con un código que permita que al seleccionar clientes con equipos solo filtre los clientes que cuentan con equipos mas nó los clientes que no tengan equipos y si selecciono clientes sin equipos solo muestre los que no tienen equipos.

Ha me olvidaba el campo en donde estan los codigos de los equipos que se encuentran registrados o no para cada cliente se llama (serie_equipo_asignado)

Ayuda urgente porfa:
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:Filtrar campos vacios de un DW

Publicado por sthif (63 intervenciones) el 02/12/2008 20:44:35
en el itemchanged de tu dw coloca algo como esto:

if getcolumname() = 'dddw_equipos' then
SetRedraw(false)
if getitemstring(row, 'campo' ) = 'Clientes con Equipos' then
setfilter(' len(trim(campo_valor)) >0 ')
else
setfilter('len(trim(campo_valor)) =0 or isnull(campo_valor)')
end if
dw.filter()
SetRedraw(true)
end if
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:Filtrar campos vacios de un DW

Publicado por Juan Vlas (206 intervenciones) el 03/12/2008 18:29:43
Hola sthif me arroja un herror al cargar en el fondo del datawindow, herror de función y otros más

Me podrias darme una expliaciòn más porfa

Gracias de antemano
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:Filtrar campos vacios de un DW

Publicado por sthif (63 intervenciones) el 03/12/2008 20:14:46
en el itemchanged de tu dw coloca algo como esto:

// preguntar si estas en la columna del dropdown
if getcolumname() = 'COLUMNA_DROPDOWN' then
SetRedraw(false)
// verificar si el valor del campo conincide con el criterio para generar e lfiltro
if string(data) = 'Clientes con Equipos' then
// aplicar el filtro cuando la cantidad se mayor a 0
setfilter(' CAMPO_CANTIDAD_EQUIPO >0 ')
// si el campo es texto setfilter(' long(CAMPO_CANTIDAD_EQUIPO) >0 ')
else
setfilter( 'CAMPO_CANTIDAD_EQUIPO=0 or isnull(CAMPO_CANTIDAD_EQUIPO)')
// si el campo a comparar es texto se debe convertir
end if
dw.filter()
SetRedraw(true)
end if

PD: Envíame el error de ser posible, si este sucede nuevamente.
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:Filtrar campos vacios de un DW

Publicado por Juan F. (206 intervenciones) el 05/12/2008 15:59:38
sale el mismo error sthif:

El error es el siguiente:

Error C0051: Unknown function name: Getcolumname
Error C0003: Condition for if statement must be a bolean
Error C0003: Condition for if statement must be a bolean

no se por que será

creo que hay que crear alguna funcion o algo asi

Gracias por tu ayuda

otra inquietud, en el còdigo que me dices en las dos primeras linesas yo he cambiado 'COLUMNA_DROPDOWN' por el nombre del campo del datawindow donde va a buscar; ¿esta bien? (en estos párrafos)

if getcolumname() = 'serie_equipo_asignado' then
SetRedraw(false)

y a que se refuere esto: ' CAMPO_CANTIDAD_EQUIPO'

setfilter(' CAMPO_CANTIDAD_EQUIPO >0 ')

que tengo que nombrar aqui?

gracias de antemano
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:Filtrar campos vacios de un DW

Publicado por sthif (2 intervenciones) el 05/12/2008 16:39:24
OK, no leí bien tu mail, asumí que el dropdown estaba dentro del dw, el código deber ser el siguiente:}

En el evento selectionchanged del dropdownlistbox :
dw_1 = dw a filtar

if dw_1.rowcount() = 0 then return

dw_1.setredraw( false)
choose case upper(text)
case 'CON EQUIPOS'
dw_1.setfilter('cantidad_equipos > 0')
case 'SIN EQUIPOS'
dw_1.setfilter('cantidad_equipos= 0')
case else
dw_1.setfilter('')
end choose
dw_1.filter()
dw_1.setredraw( true)
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:Filtrar campos vacios de un DW

Publicado por Juan Vlas. (206 intervenciones) el 06/12/2008 16:31:00
Ha ya:

Lo que pasa es que el dropdown está en la ventana, deseo que al escoger cualquiera de esas obciones filtre automáticamente lo que le solicito

gracias amigo
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:Filtrar campos vacios de un DW

Publicado por solindeveloper (51 intervenciones) el 10/12/2008 02:19:24
oe compadre no te compliques la vida con los filtros!

Mira es mas facil hacerlo internamente en el QUERY del datawindow
Indicame si estoy en lo correcto:

1. Tienes una tabla clientes?
2. Que otra tabla tienes que se relaciona con esta para ver si tienen o no equipos asignados.

Si me respondes indicandome estructura de tablas intervientes te puedo apoyar.

Saludos desde Peru
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:Filtrar campos vacios de un DW

Publicado por Juan (206 intervenciones) el 29/04/2010 16:48:03
Lo que pasa es que como son varios equipos de múltiples marcas, modelos, etc solo quiero que me mustre los que tienen equipos asignados nada más y si no tiene solo muestre los que no tiene con un pequeño filtro

Gracias por tu aporte
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