Erro de data
16/07/2008
0
Boa tarde, pessoal estou com um problema com relacao a data, utilizo um componente evdateedit se no meu form principal seto shortdateformat := dd.mm.yyyy e quando vou fazer a expressao sql faço assim:
SQL.Add(´ where (mov_datalcto >= ´ + QuotedStr(datetostr(EvDateEdit1.DateValue)) + ´)´);
SQL.Add(´ and (mov_datalcto <= ´ + QuotedStr(DatetoStr(EvDateEdit2.DateValue)) + ´)´);
data tudo certo e passa sem erro, porem, nos relatorios os campos tipo data sai impresso 15.07.2008, com separadores em ponto e nao barra e na mascara do field esta !99/99/9999;1;_´
se comento a linha shortdateformat do meu form principal e utilizo na expressao sql da seguinte forma:
SQL.Add(´ where (mov_datalcto >= ´ + QuotedStr(Formatdatetime(´DD/MM/YYYY´,EvDateEdit1.DateValue)) + ´)´);
SQL.Add(´ and (mov_datalcto <= ´ + QuotedStr(Formatdatetime(´DD/MM/YYYY´,EvDateEdit2.DateValue)) + ´)´);
me retorna o seguinte erro
conversion error from string ´31/07/2008´
como contornar isso?
Aguardo....
SQL.Add(´ where (mov_datalcto >= ´ + QuotedStr(datetostr(EvDateEdit1.DateValue)) + ´)´);
SQL.Add(´ and (mov_datalcto <= ´ + QuotedStr(DatetoStr(EvDateEdit2.DateValue)) + ´)´);
data tudo certo e passa sem erro, porem, nos relatorios os campos tipo data sai impresso 15.07.2008, com separadores em ponto e nao barra e na mascara do field esta !99/99/9999;1;_´
se comento a linha shortdateformat do meu form principal e utilizo na expressao sql da seguinte forma:
SQL.Add(´ where (mov_datalcto >= ´ + QuotedStr(Formatdatetime(´DD/MM/YYYY´,EvDateEdit1.DateValue)) + ´)´);
SQL.Add(´ and (mov_datalcto <= ´ + QuotedStr(Formatdatetime(´DD/MM/YYYY´,EvDateEdit2.DateValue)) + ´)´);
me retorna o seguinte erro
conversion error from string ´31/07/2008´
como contornar isso?
Aguardo....
Ieustaquio
Curtir tópico
+ 0
Responder
Posts
16/07/2008
Altingon
Tente assim
SQL.Add(´ where (mov_datalcto >= :data ´)´); sql.parambyname(´data´).asdate := EvDateEdit2.DateValue
Responder
16/07/2008
Ieustaquio
Tente assim
SQL.Add(´ where (mov_datalcto >= :data ´)´); sql.parambyname(´data´).asdate := EvDateEdit2.DateValue
nao existe outra forma, pq desta forma deu certo o filtro do banco, porem, como chamo outro form de impressao tenho a seguinte linha
fdm_principal.Qtmp.CommandText := ´SELECT SUM(MOV_VALOR*RECEITA_DESPESA) as saldoanterior FROM MVTBANCO WHERE (CTBN_CODIGO = ´+ Frm_SelRelExtrato.EdtCodBanco.Text+´) and (mov_situacao = ´´A´´) and (mov_datalcto < ´ + QuotedStr(datetostr(Frm_SelRelExtrato.EvDateEdit1.DateValue)) +´)´;
nesta linha esta pegando uma soma ireal. Desde jeito terei que refazer todo os codigos do meu sistema, nao teria uma forma para tratar isso mais simples.
Responder
Clique aqui para fazer login e interagir na Comunidade :)