Função DLookup

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Em bancos de dados da área de trabalho do Access, você pode usar a função DLookup para obter o valor de um campo específico de um conjunto específico de registros (um domínio ). Use a função DLookup em um Visual Basic for Applications (VBA) módulo, um macro, uma expressão de consulta ou um controle calculado em um formulário ou relatório.

Observação : Este artigo não é válido para os aplicativos Web do Access.

Você pode usar a função DLookup para exibir o valor de um campo que não está na fonte de registro de seu formulário ou relatório. Por exemplo, suponha que você tenha um formulário baseado em uma tabela Detalhes do pedido. O formulário exibe os campos CódigoDoPedido, CódigoDoProduto, PreçoUnitário, quantidade e desconto. No entanto, o campo NomeDoProduto está em outra tabela, a tabela de produtos. Você pode usar a função DLookup em um controle calculado para exibir o NomeDoProduto no mesmo formulário.

Sintaxe

DLookup ( expr, domínio [critérios] )

A sintaxe da função DLookup possui os seguintes argumentos:

Argumento

Descrição

expr

Necessário. Uma expressão que identifica o campo cujo valor você deseja retornar. Pode ser uma expressão de cadeia de caracteres que identifica um campo em uma tabela ou consulta ou pode ser uma expressão que executa um cálculo nos dados desse campo. Em expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, uma constante ou uma função. Se expr inclui uma função, pode ser interno ou definida pelo usuário, mas não outro domínio agregado ou função SQL agregada.

domínio

Necessário. Uma expressão de cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de consulta para uma consulta que não exige um parâmetro.

critérios

Opcional. Uma expressão de cadeia de caracteres usada para restringir o intervalo de dados no qual a função DLookup é executada. Por exemplo, critérios costuma ser equivalente à cláusula WHERE em uma expressão SQL, sem a palavra onde. Se critérios for omitido, a função DLookup avalia expr em relação ao domínio inteiro. Qualquer campo que está incluído nos critérios também deve ser um campo no domínio; Caso contrário, retorna a função DLookup um nulo.

Comentários

A função DLookup retorna um valor único campo com base nas informações especificadas nos critérios. Embora o critério é um argumento opcional, se você não fornecer um valor para critérios, a função DLookup retorna um valor aleatório no domínio.

Se nenhum registro satisfizer os critérios ou domínio não contém registros, a função DLookup retorna Nulo.

Se mais de um campo atende aos critérios, a função DLookup retornará a primeira ocorrência. Você deve especificar critérios que garante que o valor do campo retornado pela função DLookup seja exclusivo. Talvez você queira usar um valor de chave primária para seus critérios, como [EmployeeID] no exemplo a seguir, para garantir que a função DLookup retorne um valor exclusivo:

Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _
"[EmployeeID] = 1")

Se você usar a função DLookup em uma macro ou módulo, uma expressão de consulta ou um controle calculado, você deve construir o argumento de critérios cuidadosamente para garantir que ele será avaliado corretamente.

Você pode usar a função DLookup para especificar critérios na linha critérios de uma consulta, dentro de uma expressão de campo calculado em uma consulta ou na linha Atualizar para um atualizar consulta.

Você também pode usar a função DLookup em uma expressão em um controle calculado em um formulário ou relatório se o campo que você precisa exibir não estiver na fonte de registro no qual seu formulário ou relatório se baseia. Por exemplo, suponha que você tenha um formulário de detalhes do pedido baseado em uma tabela Detalhes do pedido com uma caixa de texto chamada CódigoDoProduto que exibe o campo CódigoDoProduto. Para pesquisar NomeDoProduto em uma tabela de produtos com base no valor na caixa de texto, você pode criar outra caixa de texto e definir sua propriedade OrigemDoControle como a seguinte expressão:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Dicas

  • Embora você possa usar a função DLookup para exibir um valor de um campo em uma tabela estrangeira, talvez seja mais eficiente criar uma consulta que contém os campos que você precisa de ambas as tabelas e, depois, basear seu formulário ou relatório nessa consulta.

  • Você também pode usar o Assistente de pesquisa para localizar valores em uma tabela externa.

Observação : Alterações não salvas em registros do domínio não são incluídas quando você usa esta função. Se desejar que a função DLookup seja baseado nos valores alterados, você deve primeiro salvar as alterações clicando em Salvar registro em registros na guia dados , movendo o foco para um outro registro ou usando o método de atualização .

Exemplo

Observação : Exemplos a seguir demonstram o uso dessa função em um Visual Basic para módulo Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione a Referência do desenvolvedor na lista suspensa ao lado de pesquisa e insira um ou mais termos na caixa de pesquisa.

O exemplo a seguir retorna informações de nome do campo NomeDaEmpresa do registro que satisfaz critérios. O domínio é uma tabela Transportadoras. O argumento de critérios restringe o conjunto de registros resultante para os quais CódigoDaTransportadora é igual a 1.

Dim varX As Variant
varX = DLookup("[CompanyName]", _
"Shippers", "[ShipperID] = 1")

O próximo exemplo da tabela Transportadoras usa o controle de formulário CódigoDaTransportadora para fornecer critérios para a função DLookup . Observe que a referência ao controle não está incluída nas aspas que indicam as seqüências. Isso garante que cada vez que a função DLookup é chamada, o Access obterá o valor atual do controle.

Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & Forms!Shippers!ShipperID)

O exemplo a seguir usa uma variável, intSearch, para obter o valor.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×