COMPARAR DATA COM SQL
olá,
eu estou fazendo um programinha simples integrado com sql em vb....acontece que para comparar datas eu só conheço o modo "uma de cada vez",dia,mes e depois o ano...gostaria de saber como comparar tudo de uma vez,evitando que eu precise colocar o dia/mes/ano em textbox separados.
aqui está o exemplo do comando sql que estou tentando fazer:[txt-color=#3333ff]
aparece a seguinte mensagem: "Data type mismatch in criteria expression"
desde jah agradeçoo pelaa ajudaaa=]
eu estou fazendo um programinha simples integrado com sql em vb....acontece que para comparar datas eu só conheço o modo "uma de cada vez",dia,mes e depois o ano...gostaria de saber como comparar tudo de uma vez,evitando que eu precise colocar o dia/mes/ano em textbox separados.
aqui está o exemplo do comando sql que estou tentando fazer:[txt-color=#3333ff]
Private Sub cbodata_Click()
cbohora.ListIndex = cbodata.ListIndex
Set r = d.OpenRecordset("Select * from tabela1 where data=' " & cbodata.Text & "'")
txttexto.Text = r!texto
End Sub
[/txt-color]aparece a seguinte mensagem: "Data type mismatch in criteria expression"
desde jah agradeçoo pelaa ajudaaa=]
Select * from tabela1 where data='# & cbodata.Text & "#"
t+
t+
tenta assim tbm...
"Select * from tabela1 where data = #" & Format(cbodata.text, "mm/dd/yyyy") & "#"
se o banco de dados for Access vc deve usar o tralha '#' antes e depois da data e formatar a data p mes-dia-ano. Se for Sql Server use aspas simples e a mesma formatação.
Experimente o Operador Between, ele verifica uma data entre duas datas, tipo assim:
espero q funcione OK ai
Experimente o Operador Between, ele verifica uma data entre duas datas, tipo assim:
'Access
Sql = "select * from tabela where data Between #" & format(Dt_INI,"mm/dd/yyyy") & "# and #" & format(Dt_FIM) & "#"
'Sql Server- obs normalmente o Sql vem configurado p esse formato de Data(é o padrão: mm/dd/yyyy)
Sql = "select * from tabela where data Between '" & format(Dt_INI,"mm/dd/yyyy") & "' and '" & format(Dt_FIM) & "'"
espero q funcione OK ai
Gente o Banco é SQL ... data não vai com # e sim Aspas simples '
Somente a dica do Thiago é valida só por conta deste char !!!
Somente a dica do Thiago é valida só por conta deste char !!!
Luis, relendo seu post recomendo que mude o quanto antes sua aplicação ou o direcionamento de estudo para ADO, pois o DAO já não rola mais no mercado de trabalho em São Paulo faz uns bons 8 anos.
Garanto que postando aqui no fórum vc não demora 2 semanas para se adaptar completamente, inclusive pode me chamar por MI quando criar tópicos que eu o visito e ajudo.
Garanto que postando aqui no fórum vc não demora 2 semanas para se adaptar completamente, inclusive pode me chamar por MI quando criar tópicos que eu o visito e ajudo.
Kara, se pode fazer assim,pois tb uso sql e ja me deparei com isto
veja como ficaria seu exemplo
pode testar ok....
é que nao sei o pq, o SQL utiliza a data na forma ano/mes/dia....
bem, qq coisa, tamos ai
veja como ficaria seu exemplo
Private Sub cbodata_Click()
cbohora.ListIndex = cbodata.ListIndex
Set r = d.OpenRecordset("Select * from tabela1 where data=' " & format(cbodata.Text,"yyyy/mm/dd") & "'")
txttexto.Text = r!texto
End Sub
pode testar ok....
é que nao sei o pq, o SQL utiliza a data na forma ano/mes/dia....
bem, qq coisa, tamos ai
obrigado,Strandow,funcionou aqui!!
Obrigado a todos que ajudaram!!valew=]
Obrigado a todos que ajudaram!!valew=]
Tópico encerrado , respostas não são mais permitidas