Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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
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?
seria assim mesmo
como ficou o sql que insere?
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"
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
Que bom que resolveu
Abraços
em vez de now use date