Page 1 of 1
FILTRO
Posted: Wed Sep 06, 2017 8:54 pm
by abinfra
Buenas.
Tengo una aplicación recuperada de Clipper y desearía saber como hacer un filtrado de los registro de una base de datos que contengan unos caracteres. Por ejemplo tengo la base de datos "Almacen" (de artículos) y deseo hacer un filtrado de todos los registros que el campo "Concepto" contenga la palabra "tubo".
Había pensado en:
PRIVATE cBus:="Tubo"
Almacen es el nombre de la base de datos.
SET FILTER TO Almacen-->(DBSEEK(cBus))
Pero no funciona.
Re: FILTRO
Posted: Wed Sep 06, 2017 9:34 pm
by edk
Try:
Code: Select all
SET FILTER TO LIKE( "*TUBO", Upper( concepto ) )
Or
SET FILTER TO "TUBO"$Upper( concepto )
Or
SET FILTER TO At( "TUBO", Upper( concepto ) )>0
Re: FILTRO
Posted: Wed Sep 06, 2017 11:41 pm
by luisvasquezcl
Try
Ser filter to rat( cbus, concepto ) != 0
Re: FILTRO
Posted: Thu Sep 07, 2017 5:17 am
by abinfra
Gracias edk y luis.
edk, de las tres opciones la única que me funciona es la última:
SET FILTER TO At( Upper(cBus), Upper( concepto ) )>0
Luis, tu opción solo toma uno de los varios registros que contiene lo que busco, en este caso "tubo".
Saludos cordiales.
P.D.
No se si tiene algo que ver que esté utilizando DBEDIT(), para que no me funcionen todas vuestras sugerencias.
Re: FILTRO
Posted: Fri Sep 08, 2017 4:43 pm
by ASESORMIX
Hay otra opcion: Usando indice con FOR y/ó WHILE
Re: FILTRO
Posted: Sat Sep 09, 2017 6:50 am
by abinfra
Hola ASESORMIX, entiendo lo de FOR y/o WHILE, pero que instrucción o función se usaría para ir añadiendo registros al filtro?
Saludos cordiales.
Re: FILTRO
Posted: Mon Sep 11, 2017 2:13 pm
by BeGeS
No sé si ya lo habrás solucionado. Por si acaso, yo lo haría así:
SELECT Almacen
SET FILTER TO "TUBO" $ UPPER(Almacen->Concepto)
[[AQUÍ, LAS FUNCIONES DE LECTURA DEL FICHERO, DONDE SOLO SALDRÍAN TUS "TUBOS"
]]
SET FILTER TO
Re: FILTRO
Posted: Tue Sep 12, 2017 3:28 pm
by abinfra
Gracias BeGeS.
Me funcionan las dos siguientes:
SET FILTER TO AT(cBusCon, UPPER( Concepto ) )>0
SET FILTER TO cBusCon $ UPPER(Almacen->Concepto)
Saludos cordiales.