Página 1 de 1

Filtrar muitos itens com set filter

Enviado: 06 Jul 2018 20:50
por rubens
Boa noite...

Como eu poderia simplificar este filtro, tendo em vista que a condição pode aumentar?

Código: Selecionar todos

		Set filter to Iexa->Codigo != '0510' .and. ;
						  Iexa->Codigo != '0111' .and. ;
						  Iexa->Codigo != '0003' .and. ;
						  Iexa->Codigo != '0802' 
Obrigado
Rubens

Filtrar muitos itens com set filter

Enviado: 07 Jul 2018 00:55
por ar sistemas
Olá Rubens...
Usando set filter, não sei como simplificar isso não. Quanto maior o número registros, mais tempo demandará para a criação do mesmo.
Em tempo, qual rdd você está usando ( ntx, cdx, ...) ?

Filtrar muitos itens com set filter

Enviado: 07 Jul 2018 03:29
por JoséQuintas

Código: Selecionar todos

cText := ""
cText := "[ iexa->código != "0510"]
cText += [ .AND. iexa->Código != "0111"]
...
SET FILTER TO &cText
ou

Código: Selecionar todos

cLista := "0510,0111,0003,0802"
cText := "! iexa->Codigo $ "] + cLista + ["]
SET FILTER TO &cText
Só procure criar um filtro que não dependa de conteúdo de variável, assim não terá problemas.
SET FILTER TO ! iexa->Codigo $ cLista
Isso deixaria preso a existir a variável cLista.

Outra Opção:

SET FILTER TO P0150_Filtro()
E criar a função no módulo.

Filtrar muitos itens com set filter

Enviado: 07 Jul 2018 08:40
por rubens
Bom dia

Ar Sistemas... eu uso CDX

Quintas é estático mesmo... já está filrado com ordscope, por isso preciso do set filter...

Eu tentei Set Filter to ! Iexa->Codigo $ '\5102\0111\0802' mas com essa expressão não funcionou... seria menor do que usando .and.

Obrigado

Filtrar muitos itens com set filter

Enviado: 07 Jul 2018 08:53
por JoséQuintas
rubens escreveu:u tentei Set Filter to ! Iexa->Codigo $ '\5102\0111\0802' mas com essa expressão não funcionou...
Por acaso no arquivo tem os zeros? ou o campo é mesmo de 4 caracteres?

Filtrar muitos itens com set filter

Enviado: 08 Jul 2018 16:18
por rubens
tem os zeros...
Campo caracter...

Rubens

Filtrar muitos itens com set filter

Enviado: 08 Jul 2018 17:49
por JoséQuintas
rubens escreveu:mas com essa expressão não funcionou.
Então defina exatamente o que significa esse seu "não funcionou".
Deu erro ou não filtrou?
Não vejo porque não funcionar, a não ser que o tamanho do campo código seja maior que 4 caracteres ou algo assim.
Ou filtro na área errada...

Tente simular com um arquivo pequeno e um fonte pequeno., e poste o resultado.