Fórum duvida no select #366025

11/11/2008

0

amigos tenho esse select em um botao para pesquisar as datas dos vencimentos -> SELECT * FROM CONTAS_RECEBER WHERE CTR_VENCIMENTO BETWEEN ...
Gostaria de estar adicionando mais um campo para ele pesquisar no mesmo select que seria o campo CTR_VENCIMENTO2, alguem podeira me ajudar

agradeço desde já !

Danilo


Gemim

Gemim

Responder

Posts

11/11/2008

Jeanalysson

Danilo,

vc deve adicionar o operador AND e acrescentar quantos campos forem necessarios, ex:

SELECT * FROM CONTAS_RECEBER WHERE CTR_VENCIMENTO BETWEEN ´2008-11-01´ and ´2008-11-30´
AND CTR_VENCIMENTO2 BETWEEN ´2008-11-01´ and ´2008-11-30´

falow


Responder

Gostei + 0

11/11/2008

Gemim

jeanalysson, oque eu preciso é colocar tipo assim, pesquisar no CTR_VENCIMENTO OU/E NO CTR_VENCIMENTO2 no mesmo select coloquei conforme vc pediu mas deu erro olha só :

´SELECT * FROM CONTAS_RECEBER WHERE CTR_VENCIMENTO AND CTR_VENCIMENTO2 BETWEEN ´+QuotedStr(MaskEdit1.Text)+´ AND ´+QuotedStr(MaskEdit2.Text));


Responder

Gostei + 0

11/11/2008

Emerson Nascimento

Danilo, preste atenção na linha postada pelo colega a na linha que você informou.
SELECT * 
FROM CONTAS_RECEBER
WHERE
  CTR_VENCIMENTO BETWEEN ´2008-11-01´ and ´2008-11-30´
OR
  CTR_VENCIMENTO2 BETWEEN ´2008-11-01´ and ´2008-11-30´  



Responder

Gostei + 0

11/11/2008

Gemim

amigo estou com duvida na hora de montar o meu select olha só como que ta ficando :
codigo:

SQL.Add(´SELECT * FROM CONTAS_RECEBER WHERE CTR_VENCIMENTO BETWEEN ´+QuotedStr(MaskEdit1.Text)+´ AND ´+QuotedStr(MaskEdit2.Text) OR ´CTR_VENCIMENTO2´ BETWEEN QuotedStr(MaskEdit1.Text)+´ AND ´+QuotedStr(MaskEdit2.Text)

só que esta dando erro ! !


agradeço desde já


Responder

Gostei + 0

11/11/2008

Emerson Nascimento

SQL.Add(´SELECT * FROM CONTAS_RECEBER´);
SQL.Add(´WHERE CTR_VENCIMENTO BETWEEN ´+QuotedStr(MaskEdit1.Text)+´ AND ´+QuotedStr(MaskEdit2.Text));
SQL.Add(´ OR CTR_VENCIMENTO2 BETWEEN ´+QuotedStr(MaskEdit1.Text)+´ AND ´+QuotedStr(MaskEdit2.Text));


ou

SQL.Add(´SELECT * FROM CONTAS_RECEBER´);
SQL.Add(´WHERE CTR_VENCIMENTO BETWEEN :_DtIni AND :_DtFim´);
SQL.Add(´ OR CTR_VENCIMENTO2 BETWEEN :_DtIni AND :_DtFim´);
ParamByName(´_DtIni´).AsDate := DateToStr(MaskEdit1.Text);
ParamByName(´_DtFim´).AsDate := DateToStr(MaskEdit2.Text);



Responder

Gostei + 0

12/11/2008

Jeanalysson

cara, qual banco vc esta usando ?

a data deve seguir um padrao de formatacao, no meu exemplo usei Firebird, sendo o padrao ano-mes-dia ´2008-11-30´

se vc passar de outra forma, ex: 01/11/2008 vai dar erro mesmo
faça uma funcao em Delphi pra inverter a string da data e ficar no formato certo

falow


Responder

Gostei + 0

12/11/2008

Gemim

amigos obrigado pelas dicas, deu certo !

Obrigado
Danilo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar