PESQUISA EM BANCO DE DADOS

ICEMAN 27/12/2004 14:23:14
#57157
Ola a todos


Meu programa pesquisa por 3 maneiras

sendo pelo campo nome, telefone e Cnpj

Pelo cnpj ele pesquisa direitinho agora pelo nome e pelo telefone não

o codigo q esta sendo usado e o seguinte para o nome

Dim ValorPesquisa As String

ValorPesquisa = InputBox("Digite o Nome que você quer encontrar:")
Data1.Recordset.FindFirst "Razão Social =" & Val(ValorPesquisa)

If Data1.Recordset.NoMatch = True Then
MsgBox "Este registro não foi encontrado no banco de dados!" & vbNewLine & "Deseja Inseri-lo", vbYesNo, App.LegalCopyright
End If


e para o telefone e o seguinte

Dim ValorPesquisa As String

ValorPesquisa = InputBox("Digite o Telefone que você quer encontrar:")
Data1.Recordset.FindFirst "Telefone 01 =" & Val(ValorPesquisa)

If Data1.Recordset.NoMatch = True Then
MsgBox "Este registro não foi encontrado no banco de dados!"
End If


e da o seguinte erro

Syntaxe error (missing operator) in expression

alguem sabe o porque deste erro pois ele ocorre ele achando ou não

obrigado desde já
USUARIO.EXCLUIDOS 27/12/2004 14:38:02
#57164
Resposta escolhida
ICEMAN, creio que o nome dos campos não podem conter espaços por isso dá erro, experimente fazer um teste mudando o nome do campo Razão Social para RazaoSocial e utilize o código do KpellaJr e faça o teste.
USUARIO.EXCLUIDOS 27/12/2004 16:25:14
#57194
Tire os espaços entre o aspas simples e o aspas duplo. tem que ficar assim:

Data1.Recordset.FindFirst "[Razão Social] ='" & Val(ValorPesquisa) & "'"

Data1.Recordset.FindFirst "[Telefone 01] ='" & Val(ValorPesquisa) & "'"
USUARIO.EXCLUIDOS 27/12/2004 16:36:54
#57196
Iceman,

eu acho q vc deve colocar o nome da razao social identico ao que está no BD ou seja as letras maiúsculas e minúsculas do mesmo jeito q foi cadastrado. Verifique se ao cadastrar o registro não foi cadastrado com espaços em branco.
USUARIO.EXCLUIDOS 27/12/2004 16:41:54
#57199
IceMan, no like vc colocou o *?

Data1.Recordset.FindFirst "RazaoSocial Like '*" & Val(ValorPesquisa) & "*"'

acho que é o * se não for deve ser o %
USUARIO.EXCLUIDOS 27/12/2004 18:48:19
#57203
Ooops! Foi mal Iceman esqueci! tem q tirar o VAL

fica assim:

Data1.Recordset.FindFirst "RazaoSocial = '" & ValorPesquisa & ""'
USUARIO.EXCLUIDOS 27/12/2004 18:55:35
#57210
Me parece que não existe esse campo no 'Razão_Social' BD
USUARIO.EXCLUIDOS 27/12/2004 20:00:04
#57233
Iceman, vc tirou o Val do ValorPesquisa?

tem q ficar assim

Data1.Recordset.FindFirst "RazaoSocial = '" & ValorPesquisa & ""'

Espero ter ajudado!

Nilton.
USUARIO.EXCLUIDOS 27/12/2004 20:03:57
#57235
Então Iceman:

isso tá errado tem q tirar o VAL
Data1.Recordset.FindFirst "Razao_social ='" & Val(ValorPesquisa) & "'"

o certo é assim:
Data1.Recordset.FindFirst "Razao_social ='" & ValorPesquisa & "'"
USUARIO.EXCLUIDOS 27/12/2004 20:07:45
#57238
Porque o Val converte para numérico.
Tópico encerrado , respostas não são mais permitidas