Obtendo um valor de uma tabela: DLookup ()
Cedo ou tarde você vai precisar para recuperar um valor armazenado em uma tabela. Se você faz regularmente escrever facturas às empresas, você terá uma tabela Empresa que contém todos os detalhes da companhia, incluindo um campo CompanyID, bem como um quadro do contrato que armazena apenas CompanyID a olhar para os detalhes. Às vezes você pode basear seu formulário ou relatório em uma consulta que contém todas as tabelas adicionais. Outras vezes, DLookup () vai ser um salva-vidas.
DLookup () espera que você dê a ele três coisas dentro dos colchetes. Pense neles como:
Procure o campo _____, _____ da tabela, onde o registro é _____Each destes deve ir entre aspas, separados por vírgulas.
Você também deve usar colchetes em volta da mesa ou nomes de campo se os nomes contenham caracteres estranhos (espaços, #, etc) ou começar com um número.
Este é provavelmente o mais fácil de seguir com alguns exemplos:
1.Você tem um CompanyID como 874, e deseja imprimir o nome da empresa em um relatório;
2.Você tem como Categoria "C", ea necessidade de mostrar o que significa esta categoria.
3.Você tem StudentID como "JoneFr", ea necessidade do aluno? Nome completo de um formulário.
Exemplo 1:
Procure o campo CompanyName da tabela Empresa, onde CompanyID = 874. Isto traduz-se:
= DLookup ("CompanyName", "Company", "CompanyID = 874") Você não quer Company 874 impressos para cada registro! Use um e comercial (&) para concatenar o valor atual no campo CompanyID de seu relatório para a empresa "=" critérios:
= DLookup ("CompanyName", "Company", "CompanyID =" & [CompanyID]) Se o CompanyID é nula (como poderia ser em um novo registro), o terceiro agumenent será incompleta, por isso todo o rendimento expressão # Error . Para evitar que o uso Nz () para fornecer um valor para quando o campo é nulo:
DLookup = (CompanyName "," Companhia "," CompanyID = "& Nz ([CompanyID], 0)) Exemplo 2:
O exemplo acima é correto se CompanyID é um número. Mas se o campo é texto, o Access espera aspas em torno dele. Em nosso segundo exemplo, vemos o campo NomeDaCategoria na tabela Cat, onde Categoria = 'C'. Isso significa que o DLookup torna-se:
= DLookup ("CategoryName", "Gato", "Categoria = 'C'") aspas simples dentro das aspas é uma maneira de fazer citações entre aspas. Mas, novamente, nós não queremos Categoy C 'para todos os registros: temos o valor atual do nosso campo Categoria remendado na citação. Para fazer isso, fechamos a citação após a primeira citação, adicione o conteúdo da categoria, e depois adicionar a citação à direita única. Isto torna-se:
DLookup = (CategoryName "," Gato "," Categoria = '"&] [Categoria &"' ") Exemplo 3:
Em nosso terceiro exemplo, temos o nome completo de uma tabela de Student. Mas a tabela aluno tem o nome de divisão em campos Nome e sobrenome, por isso teremos de nos referir a ambos e adicionar um espaço entre elas. Para mostrar esta informação na sua forma, adicionar uma caixa de texto com ControlSource:
= DLookup ("[nome] &" "& [Sobrenome]", "Estudante", "StudentID = '" & [StudentID] & "'") citações entre aspas
Agora você sabe como a fornecer as 3 partes para DLookup (), você está usando aspas aspas. O caractere apóstrofo não se o texto contém um apóstrofo, então é melhor usar o caractere de aspas duplas. Mas você deve dobrar-se o carácter de aspas duplas quando se cita dentro.
Veja as marcas de cotação entre aspas para obter mais detalhes.