Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

deadEyes

problema com data no BD

Recommended Posts

galera é o seguinte...

eu tenho um campo dt_vencimento do tipo DATA no Accces...

fiz um select pra trazer datas dentro de um período:

"SELECT * FROM LANCAMENTOS WHERE STATUS_LANCAMENTO = 'NOK' AND (DT_VENCIMENTO BETWEEN  #"&data_inicio&"# AND #"&data_fim&"#)"

considerando que:

data_inicio = cdate(date())	data_fim = cdate(dateadd("d",7,data_inicio))

por exemplo: data_inicio = 1/3/2007 e data_fim = 8/3/2007

ele tah trazendo registro com data de 15/3/2007

 

outra dúvida que pode estar ligado a isso: como o campo é do tipo data na tabela, eu devo inserir a data entre '' ou entre ## ??

 

o que pode estar acontecendo??? :blink: :blink: :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve insirir entre #"campo"#e nao entendi o pq ele ta trazendo assimmas eu fiz uma funcaozinha simples.. e bacana.nao sei se vai servir pra você olha ae.. Function FormataData(Data) dia = day(Data) mes = month(Data) ano = year(Data) DataAno = mes & "/" & dia & "/" & ano FormataData = DataAno end function é em asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

está correto o uso de #"&variavel&"# para campos do tipo data no accesspara não ter problemas com datas, inicie setando a session lcid para padrão BRsession.lcid=1046depois crie uma função para formatar a o valor para data e que sempre fique como DD/MM/AAAA(no seu DB deve estar na mesma formatação

Compartilhar este post


Link para o post
Compartilhar em outros sites

a eu coloquei como mes, dia, ano..mas só mudar as ordens..dia, mes e ano.. e ja era ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza?O BETWEEN deve ficar assim:

data Between #" & data_fim & "# And #" & data_inicio & "#

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera....fiz as modificações no insert colocando #"&data&"#... mas ainda tah trazendo datas fora do intervalo...o sql ficou assim: "SELECT * FROM LANCAMENTOS WHERE STATUS_LANCAMENTO = 'NOK' AND (DT_VENCIMENTO BETWEEN #1/3/2007# AND #8/3/2007#)"não faço idéia pq isso acontece :blink: alguma outra sugestão de como eu poderia estar fazendo isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja meu post acima!abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja meu post acima!abraços

então kra... troquei a ordem das variaveis, mas o resultado é o mesmo: datas fora do intervalo

veja meu post acima!abraços

então kra... troquei a ordem das variaveis, mas o resultado é o mesmo: datas fora do intervalo

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que colocar a data no formato certo!

 

nova_var =  month(var_data) & "/" & day(var_data) & "/" & year(var_data)

o jeito que está ta consultando

 

de 03/01/2007 a 03/08/2007

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, confere se o campo está como tipo data/hora no bancocomo eu disse, a formatação que você faz na query deve ser exatamente a mesma que está no banco, sendo que você deve usar a função pra gravar também além de setar a session.lcid

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que colocar a data no formato certo!

nova_var =  month(var_data) & "/" & day(var_data) & "/" & year(var_data)
o jeito que está ta consultandode 03/01/2007 a 03/08/2007Abraços
shumi,a data está como tipo = Data/Hora e no formato está como Data Abreviada, pelo que parece aqui no access essa Data Abreviada tah no formato dd/mm/yyyy, por isso em todos os sql eu estou formatando com dd/mm/yyyy. Sabe me dizer se este tipo de formato está correto? Ou seria mesmo mm/dd/yyyy ?valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.