Fórum Filtro por data #391968
07/12/2010
0
Preciso fazer um filtro por intervalo de datas e está dando o seguinte erro:
"tipos de dados imcompativel na expressão do critério".
Uso o componente DateTimerPicker para escolher as datas e minha rotina está assim:
dm.QRY_relatorio.Close;
dm.QRY_relatorio.SQL.Clear;
dm.QRY_relatorio.SQL.Add('SELECT * FROM telemedicina WHERE para = '+QuotedStr(Email)
+' AND '+' data BETWEEN '+QuotedStr(FormatDateTime('dd/MM/yyyy', DTP_data1.Date))
+' AND ' + QuotedStr(FormatDateTime('dd/MM/yyyy', DTP_data2.Date )));
dm.QRY_relatorio.Open;
Sou novo em programação, então qualquer informação me será útil.
Marcos Barbosa
Curtir tópico
+ 0Posts
07/12/2010
Leonardo Xavier
Gostei + 0
07/12/2010
Marcos Barbosa
Gostei + 0
08/12/2010
Emerson Nascimento
altere a propriedade Time do DTP_data2 de modo que fique 23:59:59.
depois disso, faça:
dm.QRY_relatorio.Close;
dm.QRY_relatorio.SQL.Clear;
dm.QRY_relatorio.SQL.Add('SELECT * FROM telemedicina WHERE para = :email')
dm.QRY_relatorio.SQL.Add(' and data BETWEEN :_dataini and :_datafim');
dm.QRY_relatorio.ParamByName('email').asstring := Email;
dm.QRY_relatorio.ParamByName('_dataini').asdatetime := DTP_data1.DateTime;
dm.QRY_relatorio.ParamByName('_datafim').asdatetime := DTP_data2.DateTime;
dm.QRY_relatorio.Open;
Gostei + 0
09/12/2010
Marcos Barbosa
Precisei só fazer umas pequeninas adaptações para funcionar, pois da forma q vc colocou estava dando erro na compilação, então ficou assim:
dm.QRY_relatorio.Close;
dm.QRY_relatorio.SQL.Clear;
dm.QRY_relatorio.SQL.Add('SELECT * FROM telemedicina WHERE para = :email' );
dm.QRY_relatorio.SQL.Add(' and data BETWEEN :_dataini and :_datafim');
dm.QRY_relatorio.Parameters.ParamByName('email').Value := Email;
dm.QRY_relatorio.Parameters.ParamByName('_dataini').Value := DTP_data1.DateTime;
dm.QRY_relatorio.Parameters.ParamByName('_datafim').Value := DTP_data2.DateTime;
- Coloquei o Parameter antes do ParamByName
- Troquei o Asstring, AsdateTime por Value
Só isso para funcionar, mas sua dica foi muito boa mesmo, nem sei como agradeçer...
Muito Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)