是否可以在DoCmd.ApplyFilter中包含If语句?
我有一个连续的表单,其中包括类别列EmployeeTypeID(1(字段),2(Office))和DepartmentID(1(新销售),2(服务),3(其他))。我希望能够过滤DepartmentID,只显示包含Other for Office的记录,同时显示Field的所有部门。
DoCmd.ApplyFilter , "(dbo_Stat.DepartmentID)=3"
这可以过滤所有内容
DoCmd.AppplyFilter, "IF(dbo_Stat.EmployeeTypeID)=2 Then (dbo_Stat.DepartmentID)=3
这就是我想要实现的目标,但语法似乎并不正确。我正在努力做甚么可能吗?
答案 0 :(得分:1)
是:
DoCmd.AppplyFilter, "dbo_Stat.DepartmentID = IIf(dbo_Stat.EmployeeTypeID = 2, 3, SomeOtherValueThan3)"
对于“全部匹配”,您可以尝试旧技巧:
DoCmd.AppplyFilter, "dbo_Stat.DepartmentID = IIf(dbo_Stat.EmployeeTypeID = 2, 3, dbo_Stat.DepartmentID)"