是否可以在IIF语句的逻辑测试中使用SQL查询?我有一张员工表,其中包含人们期望的所有一般员工信息。其中一个字段IsManager
是一个布尔值,我使用IIF语句来根据某人是否将此设置为true来更改查询的输出。使用MS Access的SQL高级IIF
我遇到的问题是,当我将它应用于一对多表时,它正在检查当前记录是否将IsManager字段设置为true。我希望它能检查当前正在查询的人是否将字段设置为true。
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
如果我正在查看的记录有IsManager=True
,这可以正常工作。我想检查当前用户的IIF声明,我在使用其他查询做以下
SELECT IsManager
FROM TB1
WHERE Username=currentUser
哪里currentUser
是VBA变量Environ("USERNAME")
这也被记录在工作人员的详细信息表。
所以我可以结合这些,做上述查询的IFF,是这样的:
SELECT IIF(SELECT IsManager
FROM TB1
WHERE Username=currentuser, TB1.LastName, 'Restricted') FROM .... etc etc
如果不是有没有,我可以使用另一种方法是提供给MC访问SQL
编辑你的问题,并提供样本数据和预期的结果。 –