Ir para conteúdo

POWERED BY:

Arquivado

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

carneirinho

[Resolvido] Problemas ao ordenar por data

Recommended Posts

Estou alterando um sistema que não foi feito por mim e cheguei num ponto que preciso mostrar uma agenda de eventos a partir do dia atual, o problema é que ela só está pegando do dia seguinte em diante, a consulta está sendo feita no asp e está assim:

 

msql = "SELECT Top 1 * FROM agenda WHERE data >= NOW order by data ASC"

 

Eu penso assim, o campo data está 24/7/2008, e tenho um evento pra esse dia, e não aparece, o possível erro na query é que talves esteja comparando junto com a hora, dai poderia estar assim 24/7/2008 00:00:00 >= 24/7/2008 19:04:22 mas não sei como driblar isso de comparar só a data independente da hora, alguma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de now use date

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei o date e ele da um erro, da uma olhada, eu ja tinha tentado antes:

 

msql = "SELECT Top 1 * FROM agenda WHERE data >= DATE order by data ASC"

 

Microsoft JET Database Engine erro '80040e10'

 

Nenhum valor foi fornecido para um ou mais parâmetros necessários.

 

/1_clientes/brasilis/site/html_brasilis/includes/destagenda.asp, line 18

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o campo é data/hora estou inserindo no asp assim:

 

 

 

data_atual = now

 

sql = "Insert into agenda (data...) VALUES ('" & data_atual &...

 

Dai ele insere por exemplo 04/04/2008 10:10:10

 

Dai eu to tentando colocar na string o 23:59:59 pra dar a hora máxima, sendo assim como ele pega como padrão o 00:00:00 ele passaria como maior ou no mínimo igual, dai tentei isso:

 

data_atual = dia & "/" & mes & "/" & ano

 

data = data_atual & " 23:00:00"

 

ele da um Response.Redirect depois do Execute, porem só fica gravaod dia/mes/ano e a hora não aparece como quando gravo com o now, existe uma manha pra ele inserir a hora junto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria assim mesmo

 

como ficou o sql que insere?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava usando assim:

 

data = data_atual & " 23:00:00"

 

' Condição sem imagem

if imagem1 = "" then

' cadastra os dados no banco de dados

sql = "Insert into agenda (data, dia, mes, ano, titulo, materia, aprovado) VALUES ('" & data_atual & "'...

 

Mas agora acho que quase resolvi, acho que com uma pequena ajuda eu fecho isso, fiz assim:

 

dta = now()

dia = Day(dta)
mes = Month(dta)
ano = Year(dta)

formatado = "#" & dia & "-" & mes & "-" & ano & "#"

msql = "SELECT TOP 1 * FROM agenda WHERE data >= #25-07-2008# ORDER BY data ASC, id"

Com esse #25-07-2008# ele pegou certo, só que eu to usando o formatado pra gerar essa string, e quando eu jogo dessa forma:

 

msql = "SELECT TOP 1 * FROM agenda WHERE data >= formatado ORDER BY data ASC, id"

Ele não aceita, teria um jeito certo de colocar essa variavel dentro da query? ele da esse erro:

 

Microsoft JET Database Engine erro '80040e10'

 

Nenhum valor foi fornecido para um ou mais parâmetros necessários.

 

Eu usaria normalmente assim:

 

msql = "SELECT TOP 1 * FROM agenda WHERE data >= '" & formatada & "' ORDER BY data ASC, id"

 

porem ele da esse erro:

 

Microsoft JET Database Engine erro '80040e07'

 

Tipo de dados imcompatível na expressão de critério.

 

/1_clientes/brasilis/site/html_brasilis/includes/destagenda.asp, line 26

 

Acreditem "iMcompatível"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, só pra constar eu resolvi aqui, na concatenação eu estava usando formatada e na string estava formatado, dai claro que não ia dar certo, agora foi que foi.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que resolveu

 

Abraços

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.