Est-il possible d'utiliser une requête SQL dans le test logique d'une instruction IIF? J'ai une table du personnel qui contient toutes les informations générales du personnel on s'attendrait. L'un des champs IsManager
est un booléen et j'utilise les instructions IIF pour modifier la sortie d'une requête basée sur si quelqu'un a cet ensemble à vrai ou non. Le problème que j'ai est quand j'applique ceci à une table un-à-plusieurs il vérifie si l'enregistrement actuel a la valeur de champ IsManager vrai. Je voudrais qu'il vérifie si la personne actuelle faisant la requête a le champ mis à vrai.SQL Advanced IIF utilisant MS Access
SELECT TB2.ID, IIF(TB1.IsManager, TB1.LastName, 'Restricted'), IIF(TB1.IsManager, TB1.FirstName, 'Restricted')
FROM TB1 INNER JOIN TB2 ON TB1.EmployeeNumber = TB2.EmployeeNumber
Cela fonctionne si l'enregistrement que je vérifie a IsManager=True
. Je voudrais vérifier l'utilisateur actuel de l'instruction IIF que je fais dans d'autres requêtes en utilisant les éléments suivants
SELECT IsManager
FROM TB1
WHERE Username=currentUser
Où currentUser
est la variable VBA Environ("USERNAME")
qui est également enregistrée dans la table des détails du personnel.
Alors puis-je combiner ces derniers et faire une IFF avec la requête ci-dessus, quelque chose comme:
SELECT IIF(SELECT IsManager
FROM TB1
WHERE Username=currentuser, TB1.LastName, 'Restricted') FROM .... etc etc
Dans le cas contraire est-il une autre méthode que je peux utiliser qui est disponible pour MC Access SQL
Modifier votre question et de fournir des exemples de données et les résultats souhaités. –