Como preencher caixas de texto com seleções da Caixa de Combinação multicoluna

Moderado: requer competências básicas de macro, codificação e interoperabilidade.

Este artigo aplica-se a uma base de dados do Microsoft Access (.mdb) e a um projeto do Microsoft Access (.adp).

Resumo

Este artigo explica como preencher várias caixas de texto com as seleções efetuadas numa caixa de combinação multicoluna e, em seguida, guardar o conteúdo das caixas de texto como um registo numa tabela.

Mais informações

Atenção

Se seguir os passos neste exemplo, modifique a base de dados de exemplo Northwind.mdb. Poderá querer fazer uma cópia de segurança do ficheiro Northwind.mdb e seguir estes passos numa cópia da base de dados.

A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas. Para atualizar caixas de texto com seleções efetuadas numa caixa de combinação com várias colunas, utilize os seguintes passos:

  1. Abra a base de dados de exemplo Northwind.mdb.

  2. Crie uma nova tabela no Northwind.mdb que inclua os seguintes campos:

    Table: Table1
    ----------------------
    Field Name: ID
    Data Type: Autonumber
    Primary Key
    ---
    Field Name: FirstName
    Data Type: Text
    ---
    Field Name: LastName
    Data Type: Text
    ---
    Field Name: Title
    Data Type: Text
    
  3. Crie um novo formulário no Northwind.mdb que contenha os seguintes controlos:

    Form: Form1
    ----------------------
    RecordSource: Table1
    ---
    Control Type: Text Box
    Name: txtFirstName
    ControlSource: FirstName
    ---
    Control Type: Text Box
    Name: txtLastName
    ControlSource: LastName
    ---
    Control Type: Text Box
    Name: txtTitle
    ControlSource: Title
    
  4. Adicione uma caixa de combinação ao Form1. No assistente da Caixa de Combinação, siga estes passos:

    1. Clique em Pretendo que a caixa de combinação procure os valores numa tabela ou consulta e, em seguida, clique em Seguinte.
    2. Clique em Tabela: Funcionários e, em seguida, clique em Seguinte.
    3. Mova os campos LastName, FirstName e Title da lista Campos Disponíveis para a lista Campos Selecionados ao selecionar cada campo e, em seguida, clicar no > botão. Click Next.
    4. Clique em Seguinte, clique em Memorizar o valor para utilização posterior e, em seguida, clique em Seguinte.
    5. Na caixa Que etiqueta pretende para a sua caixa de combinação , escreva Fazer Seleção e, em seguida, clique em Concluir.
  5. Clique com o botão direito do rato na caixa de combinação que criou no passo 4 e, em seguida, clique em Propriedades.

  6. Clique no separador Outro e, em seguida, escreva cboNames na caixa Nome.

  7. Clique no separador Evento, clique na caixa de evento Depois de Atualizar e, em seguida, clique no botão Compilar (...).

  8. Clique em Construtor de Código e, em seguida, clique em OK.

  9. Na Revisor Visual Basic, escreva o seguinte código:

Private Sub cboNames_AfterUpdate()
   Me.txtFirstName = Me![cboNames].column(1)
   Me.txtLastName = Me![cboNames].column(2)
   Me.txtTitle = Me![cboNames].column(3)
End Sub

  1. Saia do visual basic Revisor e, em seguida, abra o formulário Form1 na vista Formulário.
  2. Clique num item na caixa de combinação e, em seguida, clique em Registo Seguinte. Repita este passo para cada registo que pretende guardar.
  3. Abra a Tabela1 na vista Tabela para confirmar que foram guardados novos registos. Tenha em atenção que, depois de clicar num item na caixa de combinação, a propriedade AfterUpdate executa o procedimento de evento que preenche as três caixas de texto no formulário e é adicionado um novo registo à Tabela1.