Danielsh Postado Março 28, 2012 Denunciar Share Postado Março 28, 2012 Pessoal por que não funciona? Fiz o mesmo com o campo código e deu certo, por nome não vai.Sou iniciante, me ajudem.Dim ValorPesquisa As String ValorPesquisa = InputBox("Digite o Nome que quer encontrar:") dtb_clientes.Recordset.FindFirst "Nome do Cliente = '" & ValorPesquisa & "'" If dtb_clientes.Recordset.NoMatch = True Then MsgBox "Este Registro não foi encontrado no banco de dados!" End If Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Março 28, 2012 Denunciar Share Postado Março 28, 2012 (editado) Que tipo de acesso você usa para comunicar-se com o BD ??? é DAO, RDO ou ADO ???ADO é bem melhor, mais atual e mais usada...existem inúmeros exemplos com ele aqui mesmo no fórum.Se fosse com ADO, eu faria com um "SELECT WHERE"...Um exemplo:Dim rs As ADODB.Recordset Dim conn As ADODB.Connection Dim nome As String Set conn = New ADODB.Connection conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Bases de Dados\BIBLIO.accdb;Persist Security Info=False;" nome = "Addison-Wesley" Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open "SELECT Name,Address,Telephone FROM Publishers WHERE Name='" & nome & "'", conn MsgBox "Nome : " & rs("Name") & vbNewLine & "Endereço : " & rs("Address") & vbNewLine & "Telefone : " & rs("Telephone") conn.Close - No exemplo acima, faço uma conexão ADO com o banco Access 2007 denominado "BIBLIO"; - Faço uma consulta a tabela "Publishers"; - Na consulta seleciono apenas os campos: "Name, Address e Telephone"; - Determino que "apenas" os dados referente ao nome "Addison-Wesley" deve ser apresentado (uso o WHERE); - Apresento em caixa de diálogo o que foi selecionado no BD.Se quiser saber mais sobre ADO :http://www.macoratti.net/ado_vbas.htmftp://ftp.cefetes.br/Cursos/Geomatica/Ger...muito%20boa.pdfhttp://www.codelines.com/ManualVB/Cap%C3%A...C3%ADtulo19.htm Existe muito mais conteúdo no Google. Editado Março 28, 2012 por Danleonhart Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danielsh Postado Março 28, 2012 Autor Denunciar Share Postado Março 28, 2012 Que tipo de acesso você usa para comunicar-se com o BD ??? é DAO, RDO ou ADO ???ADO é bem melhor, mais atual e mais usada...existem inúmeros exemplos com ele aqui mesmo no fórum.Se fosse com ADO, eu faria com um "SELECT WHERE"...Um exemplo:Dim rs As ADODB.Recordset Dim conn As ADODB.Connection Dim nome As String Set conn = New ADODB.Connection conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Bases de Dados\BIBLIO.accdb;Persist Security Info=False;" nome = "Addison-Wesley" Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open "SELECT Name,Address,Telephone FROM Publishers WHERE Name='" & nome & "'", conn MsgBox "Nome : " & rs("Name") & vbNewLine & "Endereço : " & rs("Address") & vbNewLine & "Telefone : " & rs("Telephone") conn.Close - No exemplo acima, faço uma conexão ADO com o banco Access 2007 denominado "BIBLIO"; - Faço uma consulta a tabela "Publishers"; - Na consulta seleciono apenas os campos: "Name, Address e Telephone"; - Determino que "apenas" os dados referente ao nome "Addison-Wesley" deve ser apresentado (uso o WHERE); - Apresento em caixa de diálogo o que foi selecionado no BD.Se quiser saber mais sobre ADO :http://www.macoratti.net/ado_vbas.htmftp://ftp.cefetes.br/Cursos/Geomatica/Ger...muito%20boa.pdfhttp://www.codelines.com/ManualVB/Cap%C3%A...C3%ADtulo19.htm Existe muito mais conteúdo no Google.Estou usando o mais simples possível, access 2000 e um Data, estou iniciando agora. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ferretto Postado Março 28, 2012 Denunciar Share Postado Março 28, 2012 cara, teria como postar mais informações? qual a mensagem de erro? tem como postar o seu código mais completo digo da parte onde você carrega o recordset, e como você declarou o recordset?fico no aguardo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danielsh Postado Março 28, 2012 Autor Denunciar Share Postado Março 28, 2012 cara, teria como postar mais informações? qual a mensagem de erro? tem como postar o seu código mais completo digo da parte onde você carrega o recordset, e como você declarou o recordset?fico no aguardoNão apresenta erro nenhum simplesmente me parece que ele não faz a comparação, já cai direto na msg " Este Registro nome não foi encontrado no banco de dados! " sendo que existe o nome.obs: Não declarei recordset em nenhum dos códigos de pesquisa mas pesquisar por código funciona.Código para procurar por código ( esse funciona normal ) Private Sub Option1_Click()Dim ValorPesquisa As String ValorPesquisa = InputBox("Digite o código que quer encontrar:") dtb_clientes.Recordset.FindFirst "Código =" & Val(ValorPesquisa) Option1.Value = False If dtb_clientes.Recordset.NoMatch = True Then MsgBox "Este Registro não foi encontrado no banco de dados!" End IfEnd Sub----------------------------------------codigo para procurar por nome ( não funciona )Private Sub Option2_Click() Dim pesquisa As String Dim b As String ValorPesquisa = InputBox("Digite o Nome que quer encontrar:") b = ValorPesquisa dtb_clientes.Recordset.FindFirst "Nome do Cliente " = " b '" Option2.Value = False If dtb_clientes.Recordset.NoMatch = True Then MsgBox "Este Registro nome não foi encontrado no banco de dados!" End If Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Março 28, 2012 Denunciar Share Postado Março 28, 2012 Danielsh... Você tá começando agora, certo ?! sabes lógica de programação ??? algoritmo ??? sabes diferenciar os tipos de dados ? String, Integer, Long... É bom saber bem estes conceitos básicos antes de partir para a parte prática com BD's...Estou usando o mais simples possível, access 2000 e um Data, estou iniciando agora. Certo... e qual o modo de conexão com o BD ??? DAO ou ADO ???pelo que posso notar no código é DAO...então, é bom saber qual vai usar...eu não uso muito o DAO...só sei o básico...já o ADO, tenho alguns projetos com ele, então conheço um pouco mais.pelo que notei você quer listar os nomes que começam com a letra "b", é isso ???faça um teste...se no banco tem um nome, por exemplo João, coloque assim na linha:dtb_clientes.Recordset.FindFirst "João" só para teste...Outro detalhe é que você não especificou o script inicial... pode ser que estejas procurando o nome na coluna "Código"... :mellow: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Danielsh
Pessoal por que não funciona? Fiz o mesmo com o campo código e deu certo, por nome não vai.
Sou iniciante, me ajudem.
Dim ValorPesquisa As String
ValorPesquisa = InputBox("Digite o Nome que quer encontrar:")
dtb_clientes.Recordset.FindFirst "Nome do Cliente = '" & ValorPesquisa & "'"
If dtb_clientes.Recordset.NoMatch = True Then
MsgBox "Este Registro não foi encontrado no banco de dados!"
End If
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.