Programación General => Power Builder => Mensaje iniciado por: jorge2007 en Martes 19 de Junio de 2007, 17:08
Título: Setfilter
Publicado por: jorge2007 en Martes 19 de Junio de 2007, 17:08
:unsure: Hola estoy realizando un sistema tengo un datawindows que guarda la informacion que proviene de dos datawindows adicionlaes de ciudad y operador,necesito filtrar en el datawindows movimientos los datos guardados en unt em_text de los codigos fecha+ciudad+operador+cod_movi,guardados en la misma
string busqueda string val val=em_text busqueda="cod_mov=val" dw_1.setfilter(busqueda) dw_1.filter()
He probado cambiando el val a long,integer pero no me filtra por le guardado en em_text.
si coloco el numero del em_text me filtra pero cundo lo coloco como esta no funciona
Si me pueden ayudar le agradezco muchisimo.
gracias.
Jorge. :unsure:
Título: Re: Setfilter
Publicado por: achafio en Martes 19 de Junio de 2007, 22:01
Hola Jorge, haber si estoy en lo correcto, tu campo cod_mov es de tipo numérico, y deseas hacer un filtro por ese campo.
Si es el caso, entonces lo que debes hacer es lo siguiente:
string busqueda Long val val=long(em_text) busqueda="cod_mov=val" dw_1.setfilter(busqueda) dw_1.filter()
Espero te sea de mucha ayuda.
Saludos desde Lima - Perú :comp:
Título: Re: Setfilter
Publicado por: F_Tanori en Miércoles 20 de Junio de 2007, 19:37
Hola el problema es hacer esto
todo lo estas dejando en una cadena...
Citar
busqueda="cod_mov=val"
tienes que concatenarle el valor
si es numerico es asi:
Código: Text
busqueda="cod_mov=" + val
si es cadena es asi:
Código: Text
busqueda="cod_mov='" + val+"'"
o asi
Código: Text
busqueda="cod_mov="+ char(34) + val + char(34)
Saludos
Título: Re: Setfilter
Publicado por: jorge2007 en Lunes 16 de Julio de 2007, 21:03
:kicking: Hola que tal estoy verificando la existencia de un usuario en la tabla de usuarios de mi base en sql server y cuando uso la el setfilter me indica un mensaje de error
string busqueda string val val= "usuario="+val dw_1.setfilter(busqueda) dw_1.filter()
cuando utilizo un numero si me busca en la base de datos
Título: Re: Setfilter
Publicado por: F_Tanori en Martes 17 de Julio de 2007, 12:55
Ya hay respuestas en el foro....
Incluso tu Mismo Preguntaste.... <_<
Aqui estan Unidas las dos discuciones , que son lo mismo, si no te sirven las respuestas continua preguntando, no necesitas abrir otra discucion ;)
Saludos
Título: Re: Setfilter
Publicado por: jorge2007 en Martes 17 de Julio de 2007, 16:49
:kicking: Si tienes razon ya lo pregunte ,lo que pasa es que con numeros si me funciona pero quiero realizar una bisqueda por un nombre de usuario para evitar tener mas de dos usuarios con el mismo nombre y me sale un error de datawindows me imagino que es por las comillas,y espero que me disculpen por abrir otro discucion por el mismo tema,si me puedes ayudar te lo agradeceria mucho.
jorge
Título: Re: Setfilter
Publicado por: jorge2007 en Lunes 23 de Junio de 2008, 16:51
Saludos Cordiales
Mi pregunta es la siguiente necesito saber si es posible realizar una doble opcion de filtro con set filter para que la busqueda se base en dos datos
string ls_buscado,a long b a=sle_usuario.text b=string(em_estado) ls_buscado =“nombre=’a’ and cod_estado=’string(b)’”; dw_1.SetFilter(ls_buscado) dw_1.filter()
Gracias por su respuesta
Título: Re: Setfilter
Publicado por: F_Tanori en Lunes 23 de Junio de 2008, 23:59
1- Agradeceriamos que usaras las etiquetas Code para publicar codigo ;)
2- Si es posible usar fiter como si fuera WHERE aunque resuta como un HAVING pues el fiter no actua directamente sobre la tabla en la base de datos , si lo que lo hace sobre los datos ya cargados en el DW o DS , si quieres hacerlo directamente sobre la tabla seria mejor agregar argumentos al Retrive
3- Tienes un error con las comillas y al concatenar la variable b
Código: Text
string ls_buscado,a
long b
a=sle_usuario.text
b=string(em_estado)
ls_buscado ="nombre='a' and cod_estado='"+string(b)+"'";
dw_1.SetFilter(ls_buscado)
dw_1.filter()
Saludos
Título: Re: Setfilter
Publicado por: jorge2007 en Martes 24 de Junio de 2008, 16:38
Gracias por tu respuesta, y disculpas por no usar codigo lo tomare encuenta para la proxima vez