SELECT COM HORARIO
Pessoal estou tendo problema para comparar horarios no banco de dados.
Estou usando access 97, o campo esta como data/hora, mask 00:00:00 no banco.
O que tenho que fazer para o select abaixo funcione corretamente;
dim vhora as date 'também ja utilizei a variavel declara como string
dim strSQL as string
vhora = 15:10:00
strSQL = "select * from where campohorario = vhora"
set rs = bd.openrecordeset(strSQL)
erro 3664 - type mismatch in criteria expression
Obs.
apos isso faço uma inserção no banco utilizando a mesma variavel e não ocorre erro nenhum.
quando o banco esta vazio tambem não ocorre nenhum erro.
Se alguem tiver alguma dica por favor me enviem.
Desde agradeço a atenção de todos
Estou usando access 97, o campo esta como data/hora, mask 00:00:00 no banco.
O que tenho que fazer para o select abaixo funcione corretamente;
dim vhora as date 'também ja utilizei a variavel declara como string
dim strSQL as string
vhora = 15:10:00
strSQL = "select * from where campohorario = vhora"
set rs = bd.openrecordeset(strSQL)
erro 3664 - type mismatch in criteria expression
Obs.
apos isso faço uma inserção no banco utilizando a mesma variavel e não ocorre erro nenhum.
quando o banco esta vazio tambem não ocorre nenhum erro.
Se alguem tiver alguma dica por favor me enviem.
Desde agradeço a atenção de todos
"select * from where campohorario = #vhora# "
testa ai ;
testa ai ;
dim vhora as date 'também ja utilizei a variavel declara como string
dim strSQL as string
vhora = 15:10:00
strSQL = "select * from SUATABELA where campohorario = #" & vhora & "#"
set rs = bd.openrecordeset(strSQL)
dim strSQL as string
vhora = 15:10:00
strSQL = "select * from SUATABELA where campohorario = #" & vhora & "#"
set rs = bd.openrecordeset(strSQL)
Estou sem o Visual Basic e Acess aqui para testar, mas acho que você deveria colocar a máscara do campo lá no banco de dados assim : hh:mm:ss
E instrução SQL assim:
"select * from where campohorario =#" & vhora & "#"
Desculpe se não tenho como testar... mas acho que deveria ser assim
E instrução SQL assim:
"select * from where campohorario =#" & vhora & "#"
Desculpe se não tenho como testar... mas acho que deveria ser assim
Galera infelizmente, já tentei isso tambem.
Por desencargo de conciencia, testei novamente mas o erro é o mesmo. [S52]
Mais obrigado pela força
Por desencargo de conciencia, testei novamente mas o erro é o mesmo. [S52]
Mais obrigado pela força
tenta assim:
select * from where campo LIKE '" & vhora & "%'"
select * from where campo LIKE '" & vhora & "%'"
não estamos atentando para um detalhe, primeiro vamos ver que formato de dados uma consulta sql retorna para voce, faça uma consulta assim:
"select campohorario from suatabela"
depois um msgbox
msgbox rs("campohorario")
depois poste qual o formato que apareceu na msgbox
"select campohorario from suatabela"
depois um msgbox
msgbox rs("campohorario")
depois poste qual o formato que apareceu na msgbox
ops
naun é vhora... é o campo de data, no formato dd/mm/yyyy
(ou mm/dd/yyyy - vc terá que testar)
naun é vhora... é o campo de data, no formato dd/mm/yyyy
(ou mm/dd/yyyy - vc terá que testar)
wiliam
strSQL = "select campohorario from tabela"
Set Rs = DB.OpenRecordset(strSQL)
MsgBox "hora = " & Rs.Fields("campohorario")
resultado:
[txt-color=#0000ff]hora = 23:45:00[/txt-color]
Eu não tive uma
esporo que voce consiga enchargar [S95] o que esta acontecendo
Grato mais uma vez
strSQL = "select campohorario from tabela"
Set Rs = DB.OpenRecordset(strSQL)
MsgBox "hora = " & Rs.Fields("campohorario")
resultado:
[txt-color=#0000ff]hora = 23:45:00[/txt-color]
Eu não tive uma
esporo que voce consiga enchargar [S95] o que esta acontecendoGrato mais uma vez
BEM...
tenta assim:
SELECT * FROM tabela WHERE campo LIKE '"%" & vhora & "%'"
deve resolver.
tenta assim:
SELECT * FROM tabela WHERE campo LIKE '"%" & vhora & "%'"
deve resolver.
ou ainda, assim:
SELECT * FROM tabela WHERE campo = '"" & FORMAT(vhora, "hh:mm:ss") & "'"
SELECT * FROM tabela WHERE campo = '"" & FORMAT(vhora, "hh:mm:ss") & "'"
Tópico encerrado , respostas não são mais permitidas