2 votes

Obtenir le nom d'un employé à partir d'une autre table, par l'ID de l'employé à partir d'un champ de saisie dans un formulaire

J'ai une base de données Access dont j'ai été gracieusement jugée responsable Je n'arrive pas à comprendre comment faire ce simple scénario de relation

Table d'appel

id - PKey Auto Inc
job_number
employee_id - Text -> links to UserInfo Linked SharePoint List Table
call_description

Table SharePoint liée aux informations sur les utilisateurs

Ce tableau est en lecture seule, il s'agit d'un tableau lié d'une liste SharePoint

id - PKey Auto Inc
employee_id
Name - Full name of employee

Sur le formulaire de saisie, le technicien du centre d'appel remplit le formulaire et saisit le numéro d'identification de l'employé. Une fois qu'il l'a entré, je veux que le nom de l'employé apparaisse dans la base de données. [UserInfo].[Name] dans une zone de texte .

J'ai essayé d'utiliser un DLookup comme suit :

=DLookUp("[Name]","[UserInfo]"," [UserInfo]![Employee ID] =" & [Forms]![Call Entry]![employee_number])

Mais tout ce que j'obtiens est #Error. La source de données du formulaire est définie sur la table d'appel.

enter image description here

2voto

Nic Points 36

Recherchez le champ CompanyName dans la table Company, où ID de l'entreprise \= 874. Cela se traduit par :

=DLookup("CompanyName", "Company", "CompanyID = 874")

Vous ne voulez pas que l'entreprise 874 soit imprimée pour chaque enregistrement ! Utilisez une esperluette ( & ) pour concaténer la valeur actuelle dans le fichier ID de l'entreprise de votre rapport au critère "Entreprise = " :

=DLookup("CompanyName", "Company", "CompanyID = " & [CompanyID])

Si le ID de l'entreprise est nul (comme il pourrait l'être lors d'un nouvel enregistrement), le 3e agument sera incomplet, de sorte que l'ensemble de l'expression donne #Error. Pour éviter cela, utilisez Nz() pour fournir une valeur lorsque le champ est nul :

=DLookup("CompanyName", "Company", "CompanyID = " & Nz([CompanyID],0))

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X