AJUDA SQL COM DATAS

LEANDRO.BUENO 18/11/2009 13:47:01
#328059
olá amigos estou tentando fazer uma consuta sql com datas.
funiconaria assim:

eu busco na minha tavbela todas as datas anteriores a data atual (data do PC)

txtdataatual = date
txtdataprevista = Format$(txtdataprevista, [Ô]dd/mm/yyyy[Ô])

With Adodc1
.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0;[Ô] & [Ô]data Source = [Ô] & App.Path & [Ô]\Cadastro.mdb; jet OLEDB:Database Password=leeday0312[Ô]
.CursorLocation = adUseClient
.RecordSource = [Ô]select * from PedidoVenda where dataprevista < #[Ô] & txtdataatual & [Ô]# order by format(dataprevista, [ô]yyyy/mm/dd[ô])[Ô]
.ConnectionTimeout = 500
.Refresh
End With

Hoje é dia 18/11/2009 e a sql listou as datas anteriores a esta no mês 11, mas não listou datas da mês 10 e tbm listou data do mês 12 que são posteriores a data de hj?

podem me ajudar?
MARCELO.TREZE 18/11/2009 13:49:16
#328060
qual o banco de dados?

qual otipo do campo das datas?
LEANDRO.BUENO 18/11/2009 13:50:58
#328062
banco de dados access.
o tipo de campo deixei como texto e fiz o reconhecimento para formato dado no vb.
MARCELO.TREZE 18/11/2009 13:54:24
#328065
se está como texto não sairá correta a consulta, mas você pode converte-lo assim

DataAtual = Format$(DataAtual, [Ô]mm/dd/yyyy[Ô])

With Adodc1
.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0;[Ô] & [Ô]data Source = [Ô] & App.Path & [Ô]\Cadastro.mdb; jet OLEDB:Database Password=leeday0312[Ô]
.CursorLocation = adUseClient
.RecordSource = [Ô]select * from PedidoVenda where CDate(dataprevista) < #[Ô] & DataAtual & [Ô]# order by dataprevista[Ô]
.ConnectionTimeout = 500
.Refresh
End With


tente

LEANDRO.BUENO 18/11/2009 13:54:34
#328066
marcelo, mudei o tipo de dados de texto para data no banco de dados e deu certo agora listou certinho...
obrigado pela dica..

só tenho mais uma duvida.

teria como depois da sql filtrar os dados, automaticamente eu alterar o campo situação destas datas da minha tabela para [Ô]ATRASADO[Ô] por exemplo?
MARCELO.TREZE 18/11/2009 14:30:36
#328073
Resposta escolhida
sim claro assim

DataAtual = Format$(DataAtual, [Ô]mm/dd/yyyy[Ô])

With Adodc1
.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0;[Ô] & [Ô]data Source = [Ô] & App.Path & [Ô]\Cadastro.mdb; jet OLEDB:Database Password=leeday0312[Ô]
.CursorLocation = adUseClient
.RecordSource = [Ô]UPDTE PedidoVenda SET situacao = [ô]ATRASADO[ô] WHERE dataprevista < #[Ô] & DataAtual & [Ô]# [Ô]
.ConnectionTimeout = 500
.Refresh
End With
LEANDRO.BUENO 18/11/2009 14:37:45
#328076
deu certo muito obrigado marcelo.
MARCELO.TREZE 18/11/2009 14:45:04
#328077
disponha colega nào esquece de encerrar o tópico
Tópico encerrado , respostas não são mais permitidas