
filtros en datawindow
Publicado por Jonatan (30 intervenciones) el 29/01/2007 23:01:33
amigos foristas, tengo un pequeño incoveniente con los filtros de mi datawindow.
intento filtrar un dw_reporte por fechas,estado,cargo_adjunto y tipo de clientes
lo de las fechas y el cargo adjunto validan normal, el problema esta en los dos setfilter que he colocado despues, lo que hago primero es filtrar por el estado, y luego filtro por lo que haya escogido en tipo de cliente, pero al colocar un estado diferente al que se muestra por defecto, ya no se visualizan lo datos de confirmacion.
tal vez mi codigo en los setfilters esta errado o no se a que se debe
por favor deseo saber qye estoy haciendo mal
agradezco de antemano cualquier apoyo
//******************este es mi codigo***********************************************//
date ld_desde,ld_hasta
string ls_tipo_envio,ls_cod_ciudad,ls_estado,ls_cargo_adjunto,ls_tipo_cliente
IF dw_filtro.accepttext() = -1 Then Return
ld_desde = dw_filtro.object.desde[1]
ld_hasta = dw_filtro.object.hasta[1]
ls_tipo_envio = dw_filtro.object.tipo_envio[1]
ls_cod_ciudad = dw_filtro.object.cod_ciudad[1]
ls_estado = dw_filtro.object.estado[1]
ls_cargo_adjunto = dw_filtro.object.cargo_adjunto[1]
ls_tipo_cliente = dw_filtro.object.tipcliente[1]
If isnull(ls_cod_ciudad) Then ls_cod_ciudad = ''
ls_cod_ciudad = ls_cod_ciudad +'%'
if ls_cargo_adjunto = 'T' then ls_cargo_adjunto = ''
ls_cargo_adjunto = ls_cargo_adjunto + '%'
CHOOSE CASE ls_estado
CASE 'P'
dw_reporte.SetFilter(" IsNull( mv_acuse_remito ) and IsNull(mv_acuse_reportado_remito) and IsNull(mv_motivado_llegada_remito) ")
CASE 'C'
dw_reporte.SetFilter(" Len( mv_acuse_remito ) = 7 or Len(mv_acuse_reportado_remito) = 7 or Len(mv_motivado_llegada_remito) = 7 ")
CASE 'T'
dw_reporte.SetFilter("")
END CHOOSE
dw_reporte.filter()
//**********************************************************************************
CHOOSE CASE ls_tipo_cliente
CASE 'T'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'L'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'E'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'J'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'D'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'N'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'I'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'O'
dw_reporte.SetFilter("")
END CHOOSE
dw_reporte.filter()
//**********************************************************************************
If dw_reporte.retrieve(ld_desde,ld_hasta,ls_tipo_envio,ls_cod_ciudad,ls_cargo_adjunto) = 0 then
messagebox('No se encontraron registros','No se encontraron registros con los parametros ingresados')
end if
intento filtrar un dw_reporte por fechas,estado,cargo_adjunto y tipo de clientes
lo de las fechas y el cargo adjunto validan normal, el problema esta en los dos setfilter que he colocado despues, lo que hago primero es filtrar por el estado, y luego filtro por lo que haya escogido en tipo de cliente, pero al colocar un estado diferente al que se muestra por defecto, ya no se visualizan lo datos de confirmacion.
tal vez mi codigo en los setfilters esta errado o no se a que se debe
por favor deseo saber qye estoy haciendo mal
agradezco de antemano cualquier apoyo
//******************este es mi codigo***********************************************//
date ld_desde,ld_hasta
string ls_tipo_envio,ls_cod_ciudad,ls_estado,ls_cargo_adjunto,ls_tipo_cliente
IF dw_filtro.accepttext() = -1 Then Return
ld_desde = dw_filtro.object.desde[1]
ld_hasta = dw_filtro.object.hasta[1]
ls_tipo_envio = dw_filtro.object.tipo_envio[1]
ls_cod_ciudad = dw_filtro.object.cod_ciudad[1]
ls_estado = dw_filtro.object.estado[1]
ls_cargo_adjunto = dw_filtro.object.cargo_adjunto[1]
ls_tipo_cliente = dw_filtro.object.tipcliente[1]
If isnull(ls_cod_ciudad) Then ls_cod_ciudad = ''
ls_cod_ciudad = ls_cod_ciudad +'%'
if ls_cargo_adjunto = 'T' then ls_cargo_adjunto = ''
ls_cargo_adjunto = ls_cargo_adjunto + '%'
CHOOSE CASE ls_estado
CASE 'P'
dw_reporte.SetFilter(" IsNull( mv_acuse_remito ) and IsNull(mv_acuse_reportado_remito) and IsNull(mv_motivado_llegada_remito) ")
CASE 'C'
dw_reporte.SetFilter(" Len( mv_acuse_remito ) = 7 or Len(mv_acuse_reportado_remito) = 7 or Len(mv_motivado_llegada_remito) = 7 ")
CASE 'T'
dw_reporte.SetFilter("")
END CHOOSE
dw_reporte.filter()
//**********************************************************************************
CHOOSE CASE ls_tipo_cliente
CASE 'T'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'L'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'E'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'J'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'D'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'N'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'I'
dw_reporte.SetFilter("tipcliente = '"+ ls_tipo_cliente +" '")
CASE 'O'
dw_reporte.SetFilter("")
END CHOOSE
dw_reporte.filter()
//**********************************************************************************
If dw_reporte.retrieve(ld_desde,ld_hasta,ls_tipo_envio,ls_cod_ciudad,ls_cargo_adjunto) = 0 then
messagebox('No se encontraron registros','No se encontraron registros con los parametros ingresados')
end if
Valora esta pregunta


0