O Microsoft Access: Como utilizar a propriedade da coluna de uma caixa de combinação para actualizar uma caixa de texto

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de Abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Aprenda o que isto significa para si e como pode ficar protegido.

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 209738
Moderado: Requer base macros, codificação e capacidades de interoperabilidade.

Este artigo aplica-se para o Microsoft Access ambiente de trabalho base de dados (. mdb e. accdb) e para um projecto do Microsoft Access (. adp).

Sumário
Pode visualizar vários campos numa caixa de combinação ou uma caixa de listagem num relatório de ora formulário, mesmo quando esses campos provenham de uma tabela que não esteja dependente para theform ou para o relatório. Também pode actualizar controlos, tais como caixas de texto, com as novas informações com base nos quais um utilizador selecciona uma caixa de combinação ou uma caixa de listagem.
Mais Informação
Para efectuar as tarefas mencionadas na secção "Sumário", utilize uma das seguintes técnicas:
  • Método 1: Utilizar pesquisa automática em formulários.
  • Método 2: Utilize a propriedade da coluna de uma caixa de combinação com várias colunas para actualizar um controlo de caixa de texto com informações novas.
  • Método 3: Utilize várias funções de DLookup em formulários e relatórios.

Método 1: Utilizar a procura automática nos formulários

Pode estruturar uma consulta de várias tabelas para preencher automaticamente determinados valores de campo para um novo registo e utilizar a consulta como a origem da linha de uma caixa de combinação. Quando introduz um valor no campo de associação na consulta ou num formulário ou relatório com base na consulta, o Microsoft Access procura e preenche as informações existentes relacionadas com esse valor. Por exemplo, se souber o valor no campo de associação entre uma tabela clientes e uma tabela de encomendas (normalmente um identificador de cliente como um ID de cliente), pode introduzir o ID do cliente e que o Access introduza o resto das informações relativas a esse cliente. Não se for encontrada nenhuma informação correspondente, o Access apresenta uma mensagem de erro quando o foco deixa o registo. Para a pesquisa automática funcione, é necessário cumprir determinadas condições:

  • A consulta deve basear-se mais de uma tabela e as tabelas têm de ter uma relação um-para-muitos
  • O campo de associação no lado "um" da relação tem de ter um índice exclusivo.
  • O campo de associação que adicionar à grelha de estrutura deve ser provenientes da tabela no lado "muitos" da relação um-para-muitos. (Por outras palavras, é a chave externa para essa tabela.) Para a pesquisa automática funcione, este campo não pode ser uma chave primária e não é possível enviar a respectiva propriedade Indexed para Sim (duplicação não autorizada). Por exemplo, numa consulta que inclua as tabelas de clientes e encomendas, arraste para a grelha de estrutura o campo CódigoDoCliente na tabela Encomendas, não o ID da tabela clientes.
  • O valor que introduzir no campo de associação do lado "muitos" tem de existir já no campo de associação do lado "um".
Quando actualiza os dados:

Quando o valor do campo de associação do lado "muitos" da relação é adicionado ou alterado num registo, o Access é automaticamente localiza e apresenta os valores associados da tabela no lado "um" da relação.

Pode sempre actualizar o campo de associação do lado "muitos" de uma relação, mas pode actualizar o campo de associação do lado "um" apenas se tiver activado as actualizações em cascata quando definir a relação entre as tabelas. De qualquer modo, quando actualiza os dados, acesso volta a calcular automaticamente qualquer total ou expressão na consulta que está dependente dos dados actualizados.

Método 2: Utilizar a propriedade da coluna de uma caixa de combinação

Ao atribuir a propriedade da coluna de uma caixa de combinação com várias colunas ou a caixa de listagem a uma caixa de texto, pode apresentar uma coluna da selecção actual para a caixa de combinação na caixa de texto. O Microsoft Access actualiza automaticamente a caixa de texto quando é efectuada uma selecção da caixa de combinação. Para tal, siga estes passos:
  1. Abra a base de dados Adamastor modelo de amostra.
  2. Crie um formulário ou relatório com base na consulta ou tabela adequada.
  3. Adicione uma caixa de combinação ou caixa de listagem que obtém informações do campo de thanone mais.

    Por exemplo, pode utilizar as seguintes colunas múltiplas instrução Select como a propriedade OrigemDaLinha para uma caixa de combinação ou caixa de listagem para apresentar informações de várias colunas na tabela categorias:
    Seleccione [Empregados]. [ID] [Empregados]. [Apelido], [Empregados]. [Cargo] FROM empregados encomenda por [Empregados]. [Apelido]
    Neste exemplo, definir a propriedade NúmeroDeColunas 3 e definir a propriedade LargurasDasColunas com um tamanho adequado para a caixa de combinação ou caixa de listagem. Depois da caixa de combinação ou caixa de listagem correctamente dimensionados anddefined para devolver vários campos, pode utilizar a propriedade da coluna para visualizar a selecção actual num controlo de caixa de texto. Escolha uma entrada na caixa de listagem primeiro; caso contrário, devolve um Nulo.

    A propriedade da coluna utiliza um argumento de referência para fazer referência a uma coluna específica na caixa de listagem ou caixa de combinação com várias colunas. Utilize Column(0) para fazer referência à primeira coluna, Column(1) para fazer referência à segunda coluna e assim sucessivamente.

    Este exemplo utiliza Column(1) para fazer referência a [Apelido], a segunda coluna na caixa de combinação.
  4. Para apresentar a coluna [Apelido] da selecção actual para a caixa de combinação, crie um controlo de caixa de texto. Tornar o texto na caixa de um controlo calculado definindo a seguinte expressão como a OrigemDoControlo para a caixa de texto
    =[cboControlName]. Column(1)
    em que cboControlName é o nome da caixa de combinação. A propriedade da coluna faz com que a caixa de texto (controlo calculado) só de leitura.

Método 3: Utilizar DPesquisar em controlos

Criar um formulário independente na base de dados de exemplo Adamastor e, em seguida, adicione uma caixa de combinação denominada cboEmployeeLookup e uma caixa de texto chamado txtJobTitleLookup.
   In Northwind.mdb in Access 2003 or earlier:   Object: Combo Box   -------------------------------            Name: cboEmployeeLookup   RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)       RowSource: Employees     ColumnCount: 2    ColumnWidths: 1     BoundColumn: 1    DefaultValue: 1   Object: Text Box   -------------------------------            Name: txtLastNameLookup   ControlSource: =DLookup("[LastName]","Employees","[EmployeeID]="                          & [cboEmployeeLookup])   			   In the Northwind Template database in Access 2007 or Access 2010:    Object: Combo Box    -------------------------------             Name: cboEmployeeLookup    RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)        RowSource: Employees      ColumnCount: 3     ColumnWidths: 0";0";1"      BoundColumn: 1     DefaultValue: 1     Object: Text Box     -------------------------------              Name: txtJobTitleLookup     ControlSource: =DLookup("[Job Title]","Employees","[ID]=" & [cboEmployeeLookup])     
Tenha em atenção que quando selecciona um valor de empregado com a caixa de combinação de cboEmployeeLookup , a caixa de texto txtJobTitleLookup é preenchida.

Referências

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 209738 - Última Revisão: 10/01/2015 14:46:00 - Revisão: 2.0

Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Microsoft Access 2013, Access 2016

  • kbhowto kbinfo kbusage kbmt KB209738 KbMtpt
Comentários