Boa tarde Jack…
Seguinte, estou tentando trabalhar com uma consulta (em SQL) no Visual Basic 6.0. A idéia é filtrar na tabela de dados do Access os registros que se enquandrem nos seguintes critérios:
cod_venda = 1
E
data_venda < 10/12/2006
Quando uso a cláusula betewen funciona perfeito (pra intervalos de datas), mas quando tento fazer a instrução abaixo, ele não dá erro, mas tb não filtra nada. O que estou fazendo de errado:
Dim ate As Date
ate = Format(Date, “dd/mm/yyyy”)
Data1.RecordSource = “select * from tab_vendas where cod_venda=1 and data_venda <" & Format(ate, "dd/mm/yyyy")
Data1.Refresh
Bem, para fixar o formato da tada (dd/mm/yyyy) use o “#” durante a consulta, isso deverá resolver o problema (conforme exemplo abaixo). Note que se você já armazenou na variável “ate” a data no formato de “dd/mm/yyyy”, não precisa repetir isso na instrução em SQL:
ate = Format(Date, “dd/mm/yyyy”)
Data1.RecordSource = “select * from tab_vendas where cod_venda=1 and data_venda <#" + Str(ate) + "#"
Data1.Refresh
Para saber mais sobre como trabalhar (cálculos e formas de armazenamento) com datas no Visual Basic, visite os seguintes posts:
http://www.macoratti.net/vb_datas.htm