Erro de data

16/07/2008

1

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....


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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira