[firebase-br] Parâmetro Global

Tecnobyte Informática temp2 em tecnobyte.com.br
Ter Nov 29 10:29:10 -03 2011


Esqueci de dizer que para usar asterisco o campo tem que ser CHAR ou 
VARCHAR. Para campo numérico, use um valor numérico tal como ZERO ou 
negativo para representar TODOS.

Exemplo:

... WHERE ID_CENTCUST = :CENTCUST OR :CENTCUST = 0
ParamByName('CENTCUST').AsInteger := 0;

ou

... WHERE ID_CENTCUST = :CENTCUST OR :CENTCUST = -1
ParamByName('CENTCUST').AsInteger := -1;


Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Tecnobyte Informática
Sent: Tuesday, November 29, 2011 8:17 AM
To: FireBase
Subject: Re: [firebase-br] Parâmetro Global

Bom dia

Faça assim:

SELECT * FROM TBL_CXADM WHERE ID_CENTCUST = :CENTCUST OR :CENTCUST = '*';
ParamByName('CENTCUST').AsString := '*';

Salvo engano, na versão 2.5 você já pode fazer um pouco diferente:

SELECT * FROM TBL_CXADM WHERE ID_CENTCUST = :CENTCUST OR :CENTCUST IS NULL
ParamByName('CENTCUST').Clear; { Passa NULL como parâmetro }


Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Jáber Lima
Sent: Tuesday, November 29, 2011 7:21 AM
To: FireBase
Subject: [firebase-br] Parâmetro Global

Bom dia pessoal.
Gostaria de saber se existe alguma forma de se definir um parâmetro
global para pesquisas SQL no banco.
Ex.: Tenho um relatório onde o cliente pode escolher o centro de custo
para a geração do relatório. Atualmente tenho dias instruções SQL para a
geração do relatório:

1ª: SELECT * FROM TBL_CXADM WHERE ID_CENTCUST = :CENTCUST;
2ª: SELECT * FROM TBL_CXADM;

Preciso das duas consultas pois o usuário pode pedir o relatório de
todos os centros de custo ou então de apenas um centro de custo específico.
A pergunta é:
Existe alguma forma de eu usar apenas a primeira sentença e passar um
parâmetro onde pegue todos os centro de custo? (Algo do tipo:
ParamByName('CENTCUST').AsString := '*';)

Espero ter conseguido me expressar!

Grato pela atenção de todos...

Jáber Sancho Coelho de Lima
Cel: (66)9613-2594
Fax: (66)3426-2171
Msn: jabertecnico em hotmail.com
Skype: jabertecnico 





Mais detalhes sobre a lista de discussão lista