Filtros multiples
Publicado por werner (4 intervenciones) el 04/09/2009 22:03:31
Saludos amigos foristas:
mi consulta es la siguiente.
Quiero hacer una consulta filtrando mi dw ( tiene cargado todos los registros de mi tabla)por varios criterios o campos.
Ejemplo:
DEPARTAMENTO, PROVINCIA, DISTRITO, SERVICIO, AUTORIZACION.
Si elijo el departamento, me deben salir las provincias del departamento elejido, si elijo la provinica me debe salir los distritos de la provinica elejida.
Luego tengo que elegir el SERVICIO que es un DropDownDw (FM,OM,TV-VHF,TV-UHF), luego la autorización que tambien es un DropDownListBox (Si, No).
He conseguido filtrar los departamentos, provincias y distritos de la siguiente manera:
ITEMCHANGE
datawindowchild dwc
string ls_null
setnull(ls_null)
if not row>0 then return
accepttext( )
choose case this.getcolumnname()
case 'id_depa'
setitem(row,'id_prov',ls_null)
setitem(row,'id_dist',ls_null)
getchild('id_prov',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(data)
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.reset()
case 'id_prov'
setitem(row,'id_dist',ls_null)
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'id_depa'),data)
end choose
RETRIEEVENT
datawindowchild dwc
if not rowcount >0 then return //Retornamos en caso q no haya filas
//primero filtramos los departamentos
getchild('id_depa',dwc)
dwc.settransobject(sqlca)
dwc.retrieve()
//segundo filtramos las provincias
getchild('id_prov',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'id_depa'))
//Por último filtramos los distritos
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'id_depa'),getitemstring(getrow(),'id_prov'))
Mi problema es como hago para que se filtren simultaneamente todos los criterios mencionados y donde es que tengo que programar .
mi consulta es la siguiente.
Quiero hacer una consulta filtrando mi dw ( tiene cargado todos los registros de mi tabla)por varios criterios o campos.
Ejemplo:
DEPARTAMENTO, PROVINCIA, DISTRITO, SERVICIO, AUTORIZACION.
Si elijo el departamento, me deben salir las provincias del departamento elejido, si elijo la provinica me debe salir los distritos de la provinica elejida.
Luego tengo que elegir el SERVICIO que es un DropDownDw (FM,OM,TV-VHF,TV-UHF), luego la autorización que tambien es un DropDownListBox (Si, No).
He conseguido filtrar los departamentos, provincias y distritos de la siguiente manera:
ITEMCHANGE
datawindowchild dwc
string ls_null
setnull(ls_null)
if not row>0 then return
accepttext( )
choose case this.getcolumnname()
case 'id_depa'
setitem(row,'id_prov',ls_null)
setitem(row,'id_dist',ls_null)
getchild('id_prov',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(data)
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.reset()
case 'id_prov'
setitem(row,'id_dist',ls_null)
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(row,'id_depa'),data)
end choose
RETRIEEVENT
datawindowchild dwc
if not rowcount >0 then return //Retornamos en caso q no haya filas
//primero filtramos los departamentos
getchild('id_depa',dwc)
dwc.settransobject(sqlca)
dwc.retrieve()
//segundo filtramos las provincias
getchild('id_prov',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'id_depa'))
//Por último filtramos los distritos
getchild('id_dist',dwc)
dwc.settransobject(sqlca)
dwc.retrieve(getitemstring(getrow(),'id_depa'),getitemstring(getrow(),'id_prov'))
Mi problema es como hago para que se filtren simultaneamente todos los criterios mencionados y donde es que tengo que programar .
Valora esta pregunta


0