USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Combobox e Textbox
XuelD2
SãO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 27/03/2012 13:02 hs            
Eu já vi aqui um tópico relacionado a usar um banco de dados com combobox e textbox, mas como a pessoa não colocou o código para eu analizar onde está meu erro, gostaria de ajuda de vocês, por favor.

É o seguinte, usei 1 combobox(combo1) para pegar no banco de dados (nome do banco=bardb.mdb) na tabela produto o nome de um produto e listar nela.

Gostaria de conforme selecionei o item no combobox os dados desse item mostrassem nas texts, vou colocar abaixo o código:

OBS: o erro que esta aparecendo p mim é: "Run-time error '3021': BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual"

    Private Sub Combo1_Click()
        Set Rs = New ADODB.Recordset
      
        sql = "select nome,preco,disponivel,tipo From produto Where nome='"
        sql = sql & Mid(Combo1.Text, 1, 4) & "'"
        Rs.Open sql, conexao, adOpenKeyset, adLockPessimistic
        txtnome.Text = Rs(1)
        txtpreco.Text = Rs(2)
        txtquantidade.Text = Rs(3)
        txttipo.Text = Rs(4)
        Rs.Close
        Set Rs = Nothing
    conexao.Execute sql
    conexao.Close
    End Sub
    
    Private Sub Form_Load()
    conexao.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "dbardb.mdb"
      
        Set Rs = New ADODB.Recordset
        Combo1.Clear
        sql = "SELECT nome FROM produto ORDER BY nome"
        Rs.Open sql, conexao, adOpenKeyset, adLockPessimistic
        Do While Not Rs.EOF
            Combo1.AddItem Rs(0) & ""
            Rs.MoveNext
        Loop
        Combo1.Refresh
        Rs.Close
        Set Rs = Nothing        
        End Sub


Estou a disposição para qualquer dúvida!
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 27/03/2012 14:12 hs            
Colega existe um campo codigo

pois seria mais fácil pesquisar por ele, porém vc está errando apenas ao capturar o conteudo do combo veja como seria


Private Sub Combo1_Click()
        Set Rs = New ADODB.Recordset
      
        sql = "select nome,preco,disponivel,tipo From produto Where nome='"
        sql = sql & Mid(Combo1.List(Combo1.ListIndex), 1, 4) & "'"
        Rs.Open sql, conexao, adOpenKeyset, adLockPessimistic
        txtnome.Text = Rs(1)
        txtpreco.Text = Rs(2)
        txtquantidade.Text = Rs(3)
        txttipo.Text = Rs(4)
        Rs.Close
        Set Rs = Nothing
    conexao.Execute sql
    conexao.Close
    End Sub

au só alterei a parte do mid veja se funciona

   
XuelD2
não registrado
ENUNCIADA !
Postada em 27/03/2012 14:55 hs   
Bom, apresentou o mesmo erro. Quando vou fazendo o debug passo a passo quando chega no "txtpreco.Text = Rs(2)" aparece a mensagem ""Run-time error '3021': BOF ou EOF sao verdadeiros, ou o registro atual foi excluido. A operacao solicitada pelo aplicativo requer um registro atual"
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 27/03/2012 15:21 hs            
Tenta isso agora

       txtnome.Text = Rs(1) & ""
        txtpreco.Text = Rs(2) & ""
        txtquantidade.Text = Rs(3) & ""
        txttipo.Text = Rs(4) & ""

o (& "") pode fazer a diferença
   
XuelD2
não registrado
ENUNCIADA !
Postada em 27/03/2012 15:27 hs   
Bom, na hora de fazer o debug o VB trava, aí para testar criei o executável e apareceu o erro "Run-time error '440': BOF e EOF sao verdadeiros, ou o registro atual foi excluido. A operacao solicitada pelo aplicativo requer um registro atual."


coisa de doido...
   
Treze
não registrado
ENUNCIADA !
Postada em 27/03/2012 20:45 hs   
só uma pergunta o mid pega somente os 4 primeiros caracteres, ste pode ser o problema

quando BOF e EOF são verdadeiros, quer dizer que nenhum registro foi encontrado na consulta ou seja vc não está consultando certo.

tente sem o mid

sql = sql & Combo1.List(Combo1.ListIndex) & "'"
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página