Fórum Pesquisa por Dia e mes, date time Picker #466825

13/01/2014

0

coloquei o seguinte código no evento do botão de pesquisa:
If DateTimePicker2.Date < DateTimePicker1.Date Then
begin
ShowMessage('Intervalo de datas inválido, a data inicial é maior que a data final!');
DateTimePicker2.Date := DateTimePicker1.Date;
end
Else
begin
Inicio := DateToStr(DateTimePicker1.Date);
Final := DateToStr(DateTimePicker2.Date);
   ConsultaAniver.Close;
   ConsultaAniver.SQL.Clear;
   ConsultaAniver.SQL.Text := ' SELECT Membro.Nome, '+
  ' Membro.Fone, '+
  ' Membro.Celular, '+
  ' Membro.DataNascimento' +
  ' FROM Membros ' +
  ' WHERE Data >=:pInicial and Data<=:pFinal ORDER BY Data ';
  ConsultaAniver.ParamByName('pInicial').AsDateTime := StrToDate(Inicio);
  ConsultaAniver.ParamByName('pFinal').AsDateTime := StrToDate(Final);


AsDatetime esta sublinhado, e ai não roda
Moabe Oliveira

Moabe Oliveira

Responder

Posts

14/01/2014

Marcos Saffran

Olá Moabe,

tente alterar o código para:
   ConsultaAniver.SQL.Text := ' SELECT Nome, '+
  ' Fone, '+
  ' Celular, '+
  ' DataNascimento' +
  ' FROM Membros ' +
  ' WHERE DataNascimento >=:pInicial and DataNascimento<=:pFinal ORDER BY Data ';
Responder

Gostei + 0

14/01/2014

Leandro Chiodini

No SQL
pode usar um
to_date(:datainicial, "DD/MM")

caso for necessario.

att,
Responder

Gostei + 0

14/01/2014

Felippe Tadeu

Bom dia.

ConsultaAniver.SQL.Text := ' SELECT Nome, '+
' Fone, '+
' Celular, '+
' DataNascimento' +
' FROM Membros ' +
' WHERE DataNascimento >="'+FormatDateTime('formatoquevcquer',DateTimePicker1.Date)+'" and DataNascimento<="'+FormatDateTime('formatoquevcquer',DateTimePicker2.Date)+'" ORDER BY Data ';


vc pode usar esse também.
Responder

Gostei + 0

14/01/2014

Marcos Saffran

ConsultaAniver.ParamByName('pInicial').AsDateTime := StrToDate(Inicio);
ConsultaAniver.ParamByName('pFinal').AsDateTime := StrToDate(Final);

AsDatetime esta sublinhado, e ai não roda


Não prestei atenção nesse último detalhe.

Tente o seguinte:
ConsultaAniver.Params.ParamByName('pInicial').AsDateTime := StrToDate(Inicio);
ConsultaAniver.Params.ParamByName('pFinal').AsDateTime := StrToDate(Final);
Responder

Gostei + 0

14/01/2014

Douglas

Bom dia.

ConsultaAniver.SQL.Text := ' SELECT Nome, '+
' Fone, '+
' Celular, '+
' DataNascimento' +
' FROM Membros ' +
' WHERE DataNascimento >="'+FormatDateTime('formatoquevcquer',DateTimePicker1.Date)+'" and DataNascimento<="'+FormatDateTime('formatoquevcquer',DateTimePicker2.Date)+'" ORDER BY Data ';


vc pode usar esse também.


Meu amigo apenas uma sugestão no seu código. Fica mais elegante também.


ConsultaAniver.SQL.Text := ' SELECT Nome, '+
' Fone, '+
' Celular, '+
' DataNascimento' +
' FROM Membros ' +
' WHERE DataNascimento  between ' + QuotedStr(FormatDateTime('formatoquevcquer',DateTimePicker1.Date)) + ' and ' +     QuotedStr(FormatDateTime('formatoquevcquer',DateTimePicker2.Date)) + 'ORDER BY Data';


Responder

Gostei + 0

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

Aceitar