Ir para conteúdo

POWERED BY:

Arquivado

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

Chakan

Problema com DateAdd

Recommended Posts

Gente eu achei que tinha feito corretamente o codigo abaixo:if (request("periodo") = "1m") then rsWeb.Source = "SELECT * FROM noticias WHERE Data > #"& DateAdd("m",-1,date()) &"# AND Titulo LIKE '%" & Replace(rsWeb__MMColParam, "'", "''") & "%' ORDER BY Registro DESC"if (request("periodo") = "2m") then rsWeb.Source = "SELECT * FROM noticias WHERE Data > #"& DateAdd("m",-2,date()) &"# AND Titulo LIKE '%" & Replace(rsWeb__MMColParam, "'", "''") & "%' ORDER BY Registro DESC"if (request("periodo") = "3m") then rsWeb.Source = "SELECT * FROM noticias WHERE Data > #"& DateAdd("m",-3,date()) &"# AND Titulo LIKE '%" & Replace(rsWeb__MMColParam, "'", "''") & "%' ORDER BY Registro DESC"Isso ae na pagina em ASP, deveria fazer com que a busca retornasse somente os resultados maiores de 1 mês, 2 meses, 3 meses atrás, dependendo da escolha do usuário no formulário. Problema é que não importando qual opção o usuário escolha, a busca sempre retorna, no caso, todos os resultados do mês de Julho pra trás.O que ta de errado nesse codigo em relação ao DateAdd que ta fazendo isso? Quebrando a cabeça aqui mas n acho a solução.Por favor gente me deem uma mão ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Eu não consegui entender muito bem o seu problema, mas tentarei te ajudar, exiba a string SQL na tela, assim você já conseguirá ver qual data ele está trazendo, Pegue esta string e execute no banco de dados e veja se retorna os mesmos dados que na página ASP. Caso você não consiga ver aonde esta o erro, poste a string SQL, para que eu possa te ajudar. Espero ter ajudado.Fábio P. Santana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, pelo que pude ver, depois de testar aqui umas coisas, o DateAdd tava sendo lido mas nao tava identificando corretamente a data dentro da tabela no banco Access.

 

Daí, eu mudei o campo Data dentro da tabela no banco, de TEXTO para DATA/HORA. Agora está como Data Abreviada lá, exibindo no formato DD/MM/YYYY.

 

Ao fazer isso, o DateAdd identificou beleza e mostra os resultados da busca de acordo com o q postei aí em cima.

 

Mas assim, soh pra esclarecer, pondo:

 

#"& DateAdd("m",-1,date()) &"#

Ele, aqui pelo menos, nao ta pegando somente os dados do mes anterior (julho no caso), ele pega dados de Agosto (dia 1 até dia 4 que eh a maior data) e de Julho do dia 25 ao 31 (sendo que tem dados de dias anteriores desse mes que tb poderiam aparecer na busca).

 

Alguem sabe me explicar o pq disso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensando um pouco mais aqui, entendi.#"& DateAdd("m",-1,date()) &"#Hoje, dia 24 de Agosto. Com esse comando acima, fica sendo 24 de Julho. A busca, com isso, pega todos os resultados DEPOIS de 24 de Julho no banco. Porisso que só aparece do dia 25 de Julho até 4º de Agosto(data + recente no banco).Hmm..que coisa ehheheAlguem sabe me explicar um modo que ele selecione só os dias do mês anterior mesmo? Usando o DateAdd ou outro meio que eu nao conheça hehe ^^

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.