COMPARAR DATA COM SQL

USUARIO.EXCLUIDOS 09/12/2006 12:40:55
#188988
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]
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=]
SILVIO.GARCIA 09/12/2006 12:51:24
#188992
Select * from tabela1 where data='# & cbodata.Text & "#"

t+

HUGOSSOUZA 09/12/2006 13:43:28
#189007
tenta assim tbm...
"Select * from tabela1 where data = #" & Format(cbodata.text, "mm/dd/yyyy") & "#" 
USUARIO.EXCLUIDOS 10/12/2006 00:03:01
#189073
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:

'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
USUARIO.EXCLUIDOS 10/12/2006 01:27:50
#189078
Gente o Banco é SQL ... data não vai com # e sim Aspas simples '

Somente a dica do Thiago é valida só por conta deste char !!!
USUARIO.EXCLUIDOS 10/12/2006 02:07:44
#189082
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.
STRANDOW 10/12/2006 07:06:18
#189091
Resposta escolhida
Kara, se pode fazer assim,pois tb uso sql e ja me deparei com isto

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
USUARIO.EXCLUIDOS 11/12/2006 13:06:46
#189278
obrigado,Strandow,funcionou aqui!!
Obrigado a todos que ajudaram!!valew=]
Tópico encerrado , respostas não são mais permitidas