Notifications
Clear all

Carregar Textbox com seleção Combobox

4 Posts
3 Usuários
0 Reactions
1,540 Visualizações
 ACG
(@acg)
Posts: 6
Active Member
Topic starter
 

Boa tarde a todos.

Estou com duvida, pois não consegui nada no Google sobre o assunto,
e só encontrei para uma planilha excel e não para conexão access.
Tenho um formulário vba excel que conecta com o access, e uso este
código para importar determinada campo da tabela para o combobox
e funciona perfeitamente.
Contudo gostaria de saber se após a seleção no "combobox" há como
preencher outros "textbox" com os dados correlatos a esta seleção na
tabela.
O código que estou usando é este.

 sql = "SELECT nome FROM t_Contatos"
    sql = sql & " ORDER BY nome"
    cx.Conectar
    Set banco = New ADODB.Recordset
    banco.Open sql, cx.conn
    Do While Not banco.EOF
        Me.cboNomeCli.AddItem banco!nome
        Me.cboNomeFor.AddItem banco!nome
        banco.MoveNext
    Loop
    cx.Desconectar
    Set banco = Nothing

Se alguém puder me ajudar fico grato.

Fiquem com Deus, e se cuidem.

"O impossível existe até que alguém duvide
dele e prove o contrário."
(Albert Einstein)

 
Postado : 14/04/2020 3:46 pm
(@srobles)
Posts: 231
Estimable Member
 

ACG,

Neste caso, você terá de executar uma nova consulta ao banco de dados, passando como parâmetro o valor do ComboBox, exemplo :

Private Sub ComboBox1_AfterUpdate()
sql = "SELECT * FROM t_Contatos"
    sql = sql & " WHERE nome = " & ComboBox1
    cx.Conectar
    Set banco = New ADODB.Recordset
    banco.Open sql, cx.conn

    Me.TextBox1 = banco!Campo1 'Ou banco.Fields(nomeDoCampo)
    Me.TextBox2 = banco!Campo2 'Ou banco.Fields(nomeDoCampo)
    Me.TextBox3 = banco!Campo3 'Ou banco.Fields(nomeDoCampo)

    cx.Desconectar
    Set banco = Nothing

Seria algo mais ou menos nessa linha de raciocínio. Desculpe, mas é que não tenho muita experiência com esse tipo de integração.

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 14/04/2020 4:01 pm
 ACG
(@acg)
Posts: 6
Active Member
Topic starter
 

Boa tarde
Saulo

Antes de tudo muito obrigado pela ajuda.
Bom apliquei o código mas esta gerando o
erro "Erro de sintaxe na cláusula FROM".
Você saberia me ajudar neste ponto, pois
não consegui resolver.

Grato.

 
Postado : 15/04/2020 11:26 am
(@anderson)
Posts: 203
Reputable Member
 
Private Sub ComboBox1_AfterUpdate()
IF ME.COMBOBOX1.VALUE <> "" THEN
sql = "SELECT * FROM t_Contatos"
    sql = sql & " WHERE nome = " & ComboBox1.VALUE
    cx.Conectar
    Set banco = New ADODB.Recordset
    banco.Open sql, cx.conn

    Me.TextBox1 = banco!Campo1 'Ou banco.Fields(nomeDoCampo)
    Me.TextBox2 = banco!Campo2 'Ou banco.Fields(nomeDoCampo)
    Me.TextBox3 = banco!Campo3 'Ou banco.Fields(nomeDoCampo)

    cx.Desconectar
    Set banco = Nothing
END IF

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 15/04/2020 12:13 pm