Access inicio | | | | | |
Olá,
Seja Bem Vindo ao Blog.

Conecte-se ou registre-se e utilize gratuitamente este equipamento, temos exemplos referente a criação de banco de dados e desenvolvimento de softwares e programas utilizando o Microsoft Access.


Administração do Blog AccessDoProgramador.

Capturar valor da coluna da ListBox e preencher TextBox no access

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

29052011

Mensagem 

Capturar valor da coluna da ListBox e preencher TextBox no access






Seção de origem no Blog: Filtros & Capturas


Boas!

Ao selecionar uma linha na ListBox, você dispõe apenas de um campo entre suas colunas como identificador exclusivo do registro, na maioria das vezes é praxe utilizar a chave primária. Este campo exclusivo identifica a linha e serve para que através do VBA, implementemos uma ação que possibilite a programação de uma função, exemplo seria deletar o registro correspondente a linha, abrir o registro selecionado em um formulário e outros possíveis.

Abaixo veja a ListBox em que seu valor identificador e exclusivo é o campo codA:
 

Para melhor entender, veja que esta ListBox é alimentada por uma consulta que une dados de duas tabelas relacionadas:

Tabela chamada tblA, contendo os campos: codA e nomeEmpresa e;
Tabela chamada tblB, contendo os campos: codB e nomeFuncionario

Logo percebemos que acessar ou manipular os registros da tblA é perfeitamente possível, pois o campo codA é um campo identificador exclusivo do registro (linha).

Já se precisarmos programar para acessar ou manipular os registros da tblB, teremos um problema, pois não temos como referenciar nos códigos, os valores das colunas codB ou nomeFuncionário. A solução seria capturar o valor correspondente a linha para outro controle, uma TextBox por exemplo:
 

A solução foi encontrada, veja:
Nota: Comentários estão na cor verde para melhor entender o código
No evento Ao Clicar da ListBox aplique o seguinte código:
'--------------------------------------------------------------------------------------

'Declara a variável que armazenará o valor da coluna da ListBox

Dim Linha As Integer

'A variável captura os valores da ListBox. Observo que, como coloquei para mostrar -
'cabeçalhos das colunas da ListBox, foi preciso acrescentar "+ 1".
'Caso deixe o cabeçalho das colunas como "Não" retire o "+ 1"

Linha = Me.NomeDaSuaListBox.ListIndex + 1

'A TextBox txtCodB recebe o valor armazenado na variável Linha
Me.txtCodB = Me.NomeDaSuaListBox.Column(2, Linha)

'-------------------------------------------------------------------------------------


Faça o download do exemplo:
Download

Nota: O código que viaja no interior deste exemplo, teve sua origem nas salas de dúvidas do MaximoAccess, se desejar, confira: Acesse

Falou galera, até a próxima!


avatar
Dilson
Facilitador
Facilitador

Brasil


http://www.dadosweb.com

Voltar ao Topo Ir em baixo

- Tópicos similares
Compartilhar este artigo em: diggdeliciousredditstumbleuponslashdotyahoogooglelive

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum