Ir para conteúdo

POWERED BY:

Arquivado

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

tr374

SELECT ORDER BY datainicio asc

Recommended Posts

Preciso de ajuda para montar esta sql: tenho grande dificuldades para entender a lógica das datas...Quero fazer um select utilizando o campo datainicio que está em access tipo textoem ordem cronológica pela datainicio (Ex. de como está cadastrado: 21/12/2004).tentei assim:Session.LCID = 1046listar = "SELECT * FROM curso ORDER BY #cdate(year(datainicio)&"/"&month(datainicio)&"/"&day(datainicio))# asc"mas mostra o erro:Erro de tempo de execução do Microsoft VBScript erro '800a000d' Tipos incompatíveis: '[string: "SELECT * FROM curso "]' /cursospresenciais.asp, line 4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,O problema está acontecendo pq você está tentando manipular o nome do campo ao invés da informação nele contida.Já tentou simplesmente ordernar a string? Abaixo está a maneira de se fazer isso.SELECT * from curso ORDER BY Datainicio ASC;O ideal mesmo é q esse campo fosse do tipo Datetime, pois provavelmente mais tarde você terá q manipular as datas durante a sua aplicação, e da maneira atual, você terá q converter sempre a string para data e depois trabalhar com ela.Espero q possa ter ajudado de alguma forma.Qquer coisa é só entrar em contato.[ ]'sAlexandre B. DambrowskiDesenvolvedor ASP/PHP/SAP-ABAPNovo Hamburgo/RS - Brasil

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alexandre, obrigado pela ajuda, mas direto não está funcionado corretamente.mudei as datas no bd para 20041221 no lugar de 21/12/2004 e agora funcionou.o único problema é que tive que cadastrar duas datas.... para uma para mostrar e outra para filtrar(select)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ja que ta texto, então usa assim mesmo tipolistar = "SELECT * FROM curso ORDER BY RIGHT(datainicio,4) ASC, MID(datainicio,4,2) ASC, LEFT(datainicio,2) ASCai você deleta este campo que você criou...logico depois de testar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso, isso, isso!!! funcionou direitinho.Deixa eu explicar, estava fazendo assim ORDER BY cdate(datainicio) asce funcoinando, mas parou de funcionar direito quando aumentei o número de datas, agora assim funcionou uma beleza!RIGHT(datainicio,4) ASC, MID(datainicio,4,2) ASC, LEFT(datainicio,2) ASCobrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

de nada cara...mas você demorou pra testar hein?

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.