ajuda com select e between
Boa tarde, pessoal, preciso de uma ajuda, estou usando este select aqui.
query2.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
so que eu preciso desse jeito
query2.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2 between a07_dt_in and a07_dt_fi)´);
alguem sabe como eu poderia colocar o parametro no lugar do campo e o campo no lugar do parametro.
uso paradox.
obrigado
query2.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
so que eu preciso desse jeito
query2.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2 between a07_dt_in and a07_dt_fi)´);
alguem sabe como eu poderia colocar o parametro no lugar do campo e o campo no lugar do parametro.
uso paradox.
obrigado
Victor_antonio
Curtidas 0
Respostas
Dbergkamps
10/04/2004
caro colega,sem maiores pretensões eu lhe sugiro que reescreva o source da seguinte forma
query2.SQL.Add(´where ´ + (a07_dt_in between :wvar1 and :wvar2) + ´or´ + (a07_dt_fi between :wvar3 and :wvar4));
Obs.:Geralmente, teste suas SQL´s num memo pra ver se está da forma como quer.
Valeu e Feliz Páscoa
query2.SQL.Add(´where ´ + (a07_dt_in between :wvar1 and :wvar2) + ´or´ + (a07_dt_fi between :wvar3 and :wvar4));
Obs.:Geralmente, teste suas SQL´s num memo pra ver se está da forma como quer.
Valeu e Feliz Páscoa
GOSTEI 0
Victor_antonio
10/04/2004
nao funciona, oq eu preciso, tenho uma data inicial que 10/12/2004 e final que é 20/12/2004, se faço uma pesquisa usando data inicial 12/12/2004 e final que é 18/12/2004 ele nao acha, por isso eu tenho a necessidade de colocar o paramentro no lugar do campo.
dessa forma ele nao funciona.
query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
se tiver um jeito de colocar a consulta dessa maneira iria funionar.
query1.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2between a07_dt_in and a07_dt_fi)´);
obrigado
dessa forma ele nao funciona.
query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
se tiver um jeito de colocar a consulta dessa maneira iria funionar.
query1.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2between a07_dt_in and a07_dt_fi)´);
obrigado
GOSTEI 0
Djjunior
10/04/2004
como esse parametro ia ser passado? se for o usuário que for escolher faça o seguinte :
case Escolha.ItenIndex of
0: query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2)´);
1: query1.SQL.Add(´where (a07_dt_fi between :wvar1 and :wvar2)´);
2: query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
end;
sendo escolha um RadioGroup.
case Escolha.ItenIndex of
0: query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2)´);
1: query1.SQL.Add(´where (a07_dt_fi between :wvar1 and :wvar2)´);
2: query1.SQL.Add(´where (a07_dt_in between :wvar1 and :wvar2) or (a07_dt_fi between :wvar3 and :wvar4)´);
end;
sendo escolha um RadioGroup.
GOSTEI 0
Adilsond
10/04/2004
query2.SQL.Add(´where (a07_dt_in >= :wvar1 and a07_dt_fi <= :wvar2)´);
GOSTEI 0
Victor_antonio
10/04/2004
query2.SQL.Add(´where (a07_dt_in >= :wvar1 and a07_dt_fi <= :wvar2)´);
- nenhum desses tipo ai cima funciona pois se eu tenho um registro que tem esta data inicial que é 10/12/2004 e a data final que 20/12/2004
se eu faço uma procura pela data inicial que é 10/12/2004 e data final que é 18/12/2004 ele nao acha, esta data inicial e final fica no mesmo registro, se fosse um campo data por registo iria funcionar mas como sao dois campos no mesmo regitro eu precisaria fazer a procura desse jeito
query2.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2 between a07_dt_in and a07_dt_fi)´);
se alguem puder me ajudar ou nao, desde ja agradeço.
victor.
- nenhum desses tipo ai cima funciona pois se eu tenho um registro que tem esta data inicial que é 10/12/2004 e a data final que 20/12/2004
se eu faço uma procura pela data inicial que é 10/12/2004 e data final que é 18/12/2004 ele nao acha, esta data inicial e final fica no mesmo registro, se fosse um campo data por registo iria funcionar mas como sao dois campos no mesmo regitro eu precisaria fazer a procura desse jeito
query2.SQL.Add(´where (:wvar1 between a07_dt_in and a07_dt_fi) or (:wvar2 between a07_dt_in and a07_dt_fi)´);
se alguem puder me ajudar ou nao, desde ja agradeço.
victor.
GOSTEI 0