我尝试使用我的DLookup在控件源中执行If语句,但这不起作用。
这是针对Employee表中的EmployeeStatus - 我在子窗体中显示EmployeeStatus。但是,使用我的DLookup,它只显示状态为0或-1。
=DLookUp("ActiveEmployee","Employee","EmployeeID=" & [cboEmployee])
如何让0 / -1成为主动/非主动?
答案 0 :(得分:0)
试试这个:
IIF(DLookUp("ActiveEmployee","Employee","EmployeeID=" & [cboEmployee]) = 0, "Active", "Inactive")
我不是100%确定您的数据是如何存储的,但是您说DLookup
返回0或-1(False或True)来评估{返回的内容{1}}。作为旁注 - 众所周知,DLookup
函数执行速度非常慢,因为表格变得中等大小。如果速度是一个因素,我可能采取不同的方法。
话虽这么说,我们可以使用Lookup
本质上是:
IIF()
简单的例子:
IIF(If this statement = something,
What do you want to return if it's True,
What do you want to return if it's False)
在我的回答中:
如果IIF(Left("OverMind", 1) = "O", "O is the first letter in OverMind", "O is not the first letter in OverMind")
返回0,则返回"活动"。如果DLookup
返回-1(或其他任何内容),则返回"非活动"。