FILTRO

HMG en Español

Moderator: Rathinagiri

Post Reply
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

FILTRO

Post 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.
edk
Posts: 909
Joined: Thu Oct 16, 2014 11:35 am
Location: Poland

Re: FILTRO

Post 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
 
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: FILTRO

Post by luisvasquezcl »

Try
Ser filter to rat( cbus, concepto ) != 0
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: FILTRO

Post 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.
ASESORMIX
Posts: 189
Joined: Thu Oct 25, 2012 8:08 pm
Location: Bqto, Venezuela

Re: FILTRO

Post by ASESORMIX »

Hay otra opcion: Usando indice con FOR y/ó WHILE
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: FILTRO

Post 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.
User avatar
BeGeS
Posts: 125
Joined: Fri Jul 14, 2017 10:45 am
DBs Used: DBF
Location: La Mancha, Spain

Re: FILTRO

Post 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" :mrgreen: ]]

SET FILTER TO
I get by with a little help from my friends
abinfra
Posts: 68
Joined: Sat Jan 25, 2014 7:25 am
DBs Used: DBF

Re: FILTRO

Post 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.
Post Reply