有没有办法在Access中的Sub或Function中返回参数个数?
Public Sub mySub(arg1 As String, Optional arg2 As Variant, Optional arg3 As Variant)
'Some code
End Sub
我希望能够从这个Sub返回3号。可能的?
答案 0 :(得分:1)
在下面的网站上,他们建议使用参数数组作为参数,这不需要您知道有多少参数。
调用你的函数:函数SomeProc(ParamArray avarItems()As Variant)然后在函数或过程中使用参数数组,就像任何其他数组一样。我认为这将包括使用Ubound(avarItems)+ 1的元素数量。唯一的事情,参数数组必须是Variant类型,并且它必须是参数列表中的最后一个参数。
http://msdn.microsoft.com/en-us/library/office/aa164533(v=office.10).aspx
为了测试这个,我创建了一个小样本:
选项明确
Private Sub Command0_Click() Dim nCount1 As Integer
nCount1 = GetArgCount("one", "two", "three", "four")
MsgBox ("Arguments = " & nCount1)
End Sub 函数GetArgCount(ParamArray PassedArray()As Variant)
GetArgCount = UBound(PassedArray) + 1
结束功能
这将返回msgbox()
中的数字4