以IF语句作为参数调用Access VBA函数

问题描述 投票:1回答:1

假设我具有以下MS Access 2016功能:

Public Function TestFunction(ByVal strTest As String) As String

是否有一种类似于以下方法的函数调用方法:

strReturn = TestFunction(If a = 1 Then "Apple" Else "Orange")

我想编写尽可能紧凑的东西,并避免为调用编写多行,例如:

If a = 1 Then strArg = "Apple" Else strArg = Orange
strReturn = TestFunction(strArg)
vba ms-access access-vba ms-access-2016
1个回答
0
投票
仅使用IIf,例如:

IIf

但是强烈不建议这样做。


还请注意,根据测试表达式的结果,在返回适当的值之前,strReturn = TestFunction(IIf(a=1,"Apple","Orange")) 将始终对IIfIIf参数进行求值,有时会导致不希望的结果。

例如,即使将永远不会返回then表达式,在立即窗口(Ctrl

+

G)中评估以下表达式也会导致被零除的错误。else

© www.soinside.com 2019 - 2024. All rights reserved.