Set Filter

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

CristianoDM
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 28 Jun 2005 12:58

Set Filter

Mensagem 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.
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Mensagem 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.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem 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
Responder