0

这在 MS Access VBA 中是否有效:

iif ([company] = "starbucks", "retail", iif ([item] <> "", "DLookup(....)", ""))

我正在尝试获得与上述工作类似的东西。

4

1 回答 1

2

是的。

IIf在 Jet/ACE 抱怨“表达式太复杂”之前,您最多可以嵌套 14 个语句。IIfVBA函数 没有类似的限制。

由于您在表单的控制源中使用它,因此 Access 将使用其表达式服务(本质上将其视为 Jet/ACE 查询的一部分)对其进行评估,因此将适用 14 级嵌套限制。

另请注意,我将 Jet/ACEIIf称为语句,将 VBAIIf称为函数。虽然这些术语有时使用松散,但它们具有精确的含义。Jet/ACE的IIf语句是真正的三元运算符。结果是它通常比同名的 VBA 函数更有效,并且没有潜在的副作用

于 2011-12-05T16:38:13.267 回答