Fórum problemas com manipulacao de datas #258554

16/11/2004

0

Ola pessoal to com o seguinte problema.. Nao consigo receber nenhum retorno em um select que faz a busca de alunos inadimplentes durante um certo periodo de tempo. A minha string eh a seguinte:

[b:04ea0f07d3]
Select * From Mensalidade
WHERE situacao = ´A´ and Venc Between :dtini and :dtfim
ORder by Venc
[/b:04ea0f07d3]

e veja a implementacao do onclick do botao:
[b:04ea0f07d3]
procedure TGeraRelAluPen.BitBtn1Click(Sender: TObject);
begin
QGEraPen.Close; //ADOQuery
QGeraPen.Parameters[0].value := formatdatetime(´dd/mm/yyyy´, de.Date);
QGeraPen.Parameters[1].value := formatdatetime(´dd/mm/yyyy´, ate.Date);
ShowMessage(QGeraPen.Parameters[0].value);
ShowMessage(QGeraPen.Parameters[1].value);
ShowMessage(QgeraPen.SQL.Text);
QgeraPen.open;
close;
AlunosPen.preview; //RELATORIO
end;
[/b:04ea0f07d3]

No 3o. ShowMessage, a string SQL eh mostrada sem os valores dos parametros, e isso impede que o meu relatorio retorne valores na tela, enquanto o 1o e 2o showmessage, mostra os valores do parametro.

Lembrando que estou usando um ADO para acessar ACCESS e para pegar as datas um TDateTimePicker

Valeu para quem puder ajudar!
=)


Thales

Thales

Responder

Posts

16/11/2004

Bruno_fantin

Não use FormatDateTime.... Passa a data como TDateTime mesmo...


Responder

Gostei + 0

16/11/2004

Bruno Belchior

tenta isso:
begin  
  with QGEraPen do
  begin
    Close;  //ADOQuery
    Parameters.ParamByName(´dtini´).Value:= DateToStr(de.Date); 
    Parameters.ParamByName(´dtfim´).Value:= DateToStr(ate.Date);
    ShowMessage(Parameters.ParamByName(´dtini´).Value); 
    ShowMessage(Parameters.ParamByName(´dtfim´).Value); 
    ShowMessage(SQL.Text); 
    Open; 
  end;
  Close; 
  AlunosPen.preview; //RELATORIO 
end;



Responder

Gostei + 0

16/11/2004

Thales

Rodou, porem mesma coisa, nao retorna nada..


Responder

Gostei + 0

28/11/2004

Bruno Belchior

quando vc esta salvando vc usa o FormatDateTime?


Responder

Gostei + 0

28/11/2004

Otto

aqui uso assim:


Select * From Mensalidade 
WHERE situacao = ´A´ and Data_Nascimento >= ´2000/10/10´
                     and Data_Nascimento <= ´2002/10/10´



Responder

Gostei + 0

29/11/2004

Adilsond

Deixe que o componente se preocupe com a formatação do campo data.

procedure TGeraRelAluPen.BitBtn1Click(Sender: TObject);
begin
  with QGEraPen do
    begin
      if Active then
         Close; //ADOQuery
      Parameters[0].AsDateTime := de.Date;
      Parameters[1].AsDateTime := ate.Date;
      Open;
      try
        if IsEmpty then
           raise Exception.Create(´Não existem informações a serem impressas no período informado.´);
        AlunosPen.preview; //RELATORIO
      finally
        Close;
      end;
    end;
end;



Responder

Gostei + 0

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

Aceitar