Ao estruturar um formulário no Access, poderá querer apresentar um valor de uma tabela ou consulta diferente daquele a que o formulário está vinculado. Por exemplo, suponha que tem um formulário Produtos vinculado a uma tabela Produtos. No entanto, depois de estruturar o formulário, decide que pretende que o formulário apresente o nome do contacto do fornecedor para cada produto — dados que residem numa tabela denominada Fornecedores. O procedimento seguinte mostra como utilizar a função DLookup para realizar esta tarefa. Pode alterar a expressão no passo 6 para se adequar aos seus próprios dados.
Adicionar a caixa de texto
-
No Painel de Navegação, clique com o botão direito do rato no formulário que pretende alterar e, em seguida, clique em Vista Estrutura no menu de atalho.
-
No separador Estrutura, no grupo Controlos, clique em Caixa de Texto.
-
Localize a área no formulário no qual pretende adicionar o controlo e, em seguida, arraste o ponteiro no formulário para criar a caixa de texto.
-
Clique com o botão direito do rato na caixa de texto e, em seguida, clique em Propriedades no menu de atalho.
-
Na folha de propriedades, clique no separador Tudo .
-
Defina a propriedade Origem do Controlo para o seguinte valor:
=DLookup("[ContactName]","[Suppliers]","[SupplierID]=" & Forms! Produtos! IDDoForforcedor)
-
Guarde as alterações ao formulário e, em seguida, feche a folha de propriedades.
Esta expressão procura na tabela Fornecedores e devolve o nome de contacto do fornecedor cujo ID de fornecedor corresponde ao valor no controlo IDDoForforcedor no formulário Produtos. Tenha em atenção como o operador & é utilizado para construir o terceiro argumento da função DLookup (o terceiro argumento é "[IDForforforcedor]=" & Forms! Produtos! IDdoForforcedor). Um erro comum que deve evitar é colocar aspas em torno de todo o argumento em vez de apenas o texto que precede o operador & .
Nota: Como alternativa à utilização da função DLookup , pode criar uma nova consulta subjacente para incluir apenas as informações de que precisa. A utilização de uma consulta é, muitas vezes, mais eficiente do que utilizar uma função.