Fórum Ajuda SQL consulta datas #150199
28/03/2003
0
Eu pedi ajuda ao fórum para fazer uma consulta entre datas, usando apenas o IF. Tenho 2 maskedit, um com a data final e outro com a data inicial, sendo que eu irei digitar apenas o dia e o mes que eu gostaria de consultar. Com a ajuda de um colega do forum, a pesquisa deu certo usando este código:
var
d1, d2, d3, m1, m2, m3, a1, a2, a3: word; (onde d=dia, m=mes, a=ano e 1 = data inicial, 2=data final, 3=data da tabela)
decodedate(strtodate(data1.text),a1,m1,d1);
decodedate(strtodate(data2.text),a2,m2,d2);
tabela.first;
while not tabela.eof do
begin
decodedate([campo].asdatetime,a3,m3,d3);
if ((d3>=d1) and (m3>=m1)) and ((d3<=d2) and (m3<=m2)) then
begin
[faça o que quiser];
end;
next;
end;
EditMask: __/__ (nao está no formato date)
Banco: DBF
Delphi:6.0
Aproveitando, gostaria de saber como ficaria o código para consultar pelo dia e o mes entre duas datas, datainicial e data final em sql.
Anonymous
Curtir tópico
+ 0Posts
28/03/2003
Rodrigo Ferreira
Ficaria assim colega:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add(´Select * From Clientes Where DataIni=:DataIni and DataFin=:DataFin ´);
Query.parambymane(´DataIni´).AsDate := StrToDate(EditMask1.Text);
Query.parambymane(´DataFin´).AsDate := StrToDate(EditMask2.Text);
Query.Open
Obs: Esta instrucao ira pegar todos os Clientes que estao na data inicial e final informada no EditMask;
espero ter ajudado....
8)
Gostei + 0
28/03/2003
Anonymous
DM.Table1.close;
DM.Table1.SQL.Clear;
ShortDateTime:=´mmddaa´;
DM.Table1.SQL.add(´select * From Clientes where DATAI>=DI and DataF<=DF order by nome´);
ShortDateTime:=´ddmmaa´;
DM.Table1.Open;
Espero ter contribuido...
Gostei + 0
28/03/2003
Anonymous
Mas eu nao keria consultar a data toda, o que eu keria era consultar somente pelo dia e o mes.
Vivian
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)