Página 1 de 1

Set Filter

Enviado: 28 Jun 2005 14:39
por CristianoDM
Amigos,
Estou precisando alterar um relatório que já está pronto e não manjo muito do Clipper.
Esse relatório lista todo o conteúdo de uma tabela e agora preciso ter uma opção para listar todo ou somente os que tem algum conteúdo no campo DATA_PG. Já coloquei a opção na tela só não estou conseguindo fazer o filtro.
Vejam o que tentei fazer:

USE COMIS
IF OPACAO = "S"
SET FILTER TO DATA_PG <>" / / "
END IF

O problema é que quando a OPCAO = "S" dá o seguinte erro:
Argumento Error
Existe alguma maneira de fazer esse filtro funcionar ??

Obrigado a Todos,
Cristiano.

Enviado: 28 Jun 2005 17:31
por TerraSoftware
Caro colega, eu costumo fazer meus relatorio assim:

select alias_em_questao
set order to numero_da_order_de_indexacao
go top
do while ! eof()
IF OPACAO = "S"
skip
loop
ENDIF
@ PROW()+1,00 SAY variavel_do_banco_de_dados
@ pro..... etc e tal
skip
enddo


Espero que este simples exemplo possa te ajudar.
No caso, entao, eu naum uso set filter, ou seja, eu mando pular o registro que naum atende a condicao imposta pelo usuario.

Enviado: 29 Jun 2005 01:07
por Stanis Luksys
Olá,

Provavelmente o erro está ocorrendo porque voce está comparando um valor do tipo Data com uma String (" / / "), mude a comparacao para:

set filter to DATA_PG <> CTOD(" / / ")

Acredito que somente com esa conversão para tipo data seu programa vai rodar sem erros e funcionar normalmente.

Faça um teste e responda, por favor.

Stanis Luksys