返回参数数量 - MS Access

时间:2013-08-14 20:34:40

标签: ms-access ms-access-2007 access-vba

有没有办法在Access中的Sub或Function中返回参数个数?

    Public Sub mySub(arg1 As String, Optional arg2 As Variant, Optional arg3 As Variant)
        'Some code
    End Sub

我希望能够从这个Sub返回3号。可能的?

1 个答案:

答案 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