Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Ajuda com com Combobox VBA e access
Moderador: joseA
Ajuda com com Combobox VBA e access
Olá primeiramente Bom dia, Boa Tarde, Boa noite.
Estou com o seguinte inconveniente e preciso da ajuda dos veteranos no excel e access,
Primeiro, tenho um formulário com um combobox e um textbox, e no access tenho como banco de dados a coluna Código, descrição e valor
No caso fiz o código para o combobox puxar os dados do acess da coluna descrição e funciona normalmente, porém quero que ao clicar em algum item do combobox ele puxe o dado da coluna valor do access e preencha o textbox do formulário .
utilizo esta rotina dentro do combobox
Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String
cx.Conectar
sql = "SELECT Código,descrição,preço FROM tabela"
sql = sql & " WHERE descrição = " & Me.descrição
Set banco = New ADODB.Recordset
On Error Resume Next
banco.Open sql, cx.Conn
Dim preço As String
preço = banco.Fields("preço")
Me.txtvalorunitario.Text = preço
cx.Desconectar
End Sub
Agradeço desde já.
Estou com o seguinte inconveniente e preciso da ajuda dos veteranos no excel e access,
Primeiro, tenho um formulário com um combobox e um textbox, e no access tenho como banco de dados a coluna Código, descrição e valor
No caso fiz o código para o combobox puxar os dados do acess da coluna descrição e funciona normalmente, porém quero que ao clicar em algum item do combobox ele puxe o dado da coluna valor do access e preencha o textbox do formulário .
utilizo esta rotina dentro do combobox
Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String
cx.Conectar
sql = "SELECT Código,descrição,preço FROM tabela"
sql = sql & " WHERE descrição = " & Me.descrição
Set banco = New ADODB.Recordset
On Error Resume Next
banco.Open sql, cx.Conn
Dim preço As String
preço = banco.Fields("preço")
Me.txtvalorunitario.Text = preço
cx.Desconectar
End Sub
Agradeço desde já.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Ajuda com com Combobox VBA e access
Essa rotina está em que evento do Combo? Descrição e a denominação do seu Combo?
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Ajuda com com Combobox VBA e access
Gera algum erro ou a consulta retorna vazia?
A Descrição é unica para cada registro, ou se repete?
Como é "carregado" o combobox
A Descrição é unica para cada registro, ou se repete?
Como é "carregado" o combobox
Re: Ajuda com com Combobox VBA e access
estou anexando o arquivo junto mais tarde, o evento é changue do combobox
Editado pela última vez por sandrojrs em Ter Mar 13, 2018 12:01 pm, em um total de 1 vez.
Re: Ajuda com com Combobox VBA e access
eu acabei excluindo a coluna código do access para testar se funcionava sem ele
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Ajuda com com Combobox VBA e access
Uma consulta pode ser efetuada por qualquer campo da tabela independentemente de sua posição dentro dessa tabela. Se a sql não está retornando dado, algo em relação ao parâmetro passado ou nome do campo na tabela.
Uma possibilidade e quando do "carregamento" da combo,carregar (e deixar oculto) junto o valor desejado. assim ao clicar "mostrar" esse valor no txt
Uma possibilidade e quando do "carregamento" da combo,carregar (e deixar oculto) junto o valor desejado. assim ao clicar "mostrar" esse valor no txt
Re: Ajuda com com Combobox VBA e access
consegui resolver e aqui esta o código, quase fritou meus neurónios hahah
Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String
cx.Conectar
sql = "SELECT* FROM tabela WHERE descrição = '" & Me.descrição.Text & "'"
Set banco = New ADODB.Recordset
'On Error Resume Next
banco.Open sql, cx.Conn
Me.txtvalorunitario.Text = banco.Fields("valor")
cx.Desconectar
Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String
cx.Conectar
sql = "SELECT* FROM tabela WHERE descrição = '" & Me.descrição.Text & "'"
Set banco = New ADODB.Recordset
'On Error Resume Next
banco.Open sql, cx.Conn
Me.txtvalorunitario.Text = banco.Fields("valor")
cx.Desconectar