PESQUISA MYSQL

GOLVEIAR 15/12/2013 20:57:25
#432107
Galera blz! Ajuda ai, estou tentando uma pesquisa em mysql que carregue os cadastros de um curso que esteja com a data de conclusão menor que a data do sistema, Data Atual, estou fazendo assim mas não ta dando certo
Set TbCarregaGrid = New ADODB.Recordset
strSQL = [Ô]Select * FROM Alunos Where DataVencimento <=[ô][Ô] & Date & [Ô][ô][Ô]
TbCarregaGrid.Open strSQL, Conexao, adOpenStatic, adLockOptimistic, adCmdText

enquanto a data atual e menor blz quando fica maior ai vem o erro retorna todos os cadastros e não so os cadastros menores que a data atual alguém pode me ajudar desde já agradeço.
MARCELO.TREZE 16/12/2013 08:35:19
#432114
Resposta escolhida
qual é o tipo do campo datavencimento?
RO.DRIGOSG 17/01/2014 17:25:19
#433240
GOLVEIAR,

Citação:


As funções CURDATE(), CURRENT_DATE e CURRENT_DATE() são usadas quando queremos obter a data atual do servidor MySQL. O valor retornado pode estar no formato [ô]YYYY-MM-DD[ô] ou YYYYMMDD, dependendo se a função for chamada em um contexto string ou numérico. Veja:
SELECT CURDATE()
O valor retornado será algo como 2008-03-30. Veja agora como usar CURDATE() em um contexto numérico:
SELECT CURDATE() + 0
O retorno será algo como 20080330.



Logo:

SELECT * FROM ALUNOS WHERE DATAVENCIMENTO <= CURDATE()


FILMAN 17/01/2014 22:05:19
#433248
Se o campo DataVencimento for tipo(DATE) faça assim

strSQL = [Ô]Select * FROM Alunos Where DataVencimento <=[ô][Ô] & format(Date, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô][Ô]

[ô]Se o campo for varchar você precisa ver como esta gravando e da mesma maneira que você esta gravando deve consultar
[ô]Só que não poderá comparar com a expressão acima e sim com o BETWEEN ou convertendo o campo para DATE.




Espero ter ajudado
Tópico encerrado , respostas não são mais permitidas