Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JotaN

Busca de dados

Recommended Posts

Olá pessoal. Sou iniciante em VB e estou criando um banco de dados.

Acesso o banco através de um Data, carrego banco e tabela no início, tudo "legalzim".

Preciso fazer uma busca para que, ao selecionar um nome através de um combo (este devidamente carregado com os nomes armazenados em uma coluna de nome "NAME" em minha tabela), apareça todos os dados do registro ao qual o nome faz parte.

O form está com todos os "textbox" necessários. Entretanto, qdo "chamo" o combo, seleciono o nome que quero e clicko em "OK", aparece a seguinte msg:

Run-time error '3077'

Sintax error (missing operator) in expression

 

O código que estou utilizando para esta função é:

 

Private Sub cmdOK_Click()

codigo = frmConsultar.cmbLocalizar.Text

frmPrincipal.Show

frmPrincipal.Data1.Recordset.FindFirst "name=" & codigo

Me.Hide

End Sub

 

Desde já, agradeço a colaboração de todos.

Sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é por causa disso que está dando erro, mas faltou colocar o nome que está procurando entre aspas simples (''), assim:

 

Private Sub cmdOK_Click()

codigo = frmConsultar.cmbLocalizar.Text

frmPrincipal.Show

frmPrincipal.Data1.Recordset.FindFirst "name='" & codigo & "'"

Me.Hide

End Sub

 

Veja se assim vai.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Claudio. Então, qdo faço sua sugestão, a parte da linha ('" & codigo & "'") colocada entre aspas simples fica desabilitada (de cor verde).

Quer saber mais? Fiz igual a um outro "sisteminha" de dados que tenho, onde esta linha funciona perfeitamente. Já procurei, comparei os forms dos dois sistemas e não consigo achar onde está o erro. A única diferença entre os dois sistemas é que o sistema onde a linha funciona tem um form MDI. Entretanto, em ambos os sistemas, os forms são carregados e descarregados igualmente.

Mais umavez, obrigado pela sua atenção.

Sucesso irmão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta trocar o findfirst por somente find e no fim colocar ,start:=1, assim:

 

frmPrincipal.Data1.Recordset.Find "name='" & codigo & "'", start:=1

 

 

Acho que não tem diferença, mas da forma como coloquei é como costumo fazer e dá certo.

 

Não faz sentido ficar verde, precisa ter as aspas simples por convenção da consulta SQL.

 

Compare os tipos de dados que sua tabela está esperando e o tipo que está enviando. Sua variável codigo está declarada como string e sua coluna é uma varchar?

 

Esse erro está bem estranho, vou testar seu código aqui e depois te digo o que deu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.