【问题标题】:Pass ListBox Name as Parameter to use in a Function - ACCESS VBA将列表框名称作为参数传递以在函数中使用 - ACCESS VBA
【发布时间】:2021-09-23 14:42:56
【问题描述】:

我正在尝试创建一个删除列表框中列出的所有项目的函数。但是,当我尝试传递 ListBox 的名称时,它会返回错误:Inavlid Parameters。

代码如下:

Public Function CleanList(ListName As ListBox)
Dim intItemsInList As Integer
Dim intCounter As Integer

intItemsInList = ListName.ListCount

For intCounter = 0 To intItemsInList - 1
    ListName.RemoveItem 0
Next

End Function

这是我调用函数的方式:

Call CleanList(List_List1.Name)

我使用的 ListBox 的名字是List_List1

如果我不输入方法.Name,它会显示列表的第一项。我试过不带括号,但没有成功。

你能帮帮我吗?

感谢和问候!

【问题讨论】:

    标签: vba function ms-access listbox


    【解决方案1】:

    您的函数不接受字符串(列表框名称),而是一个列表框对象。

    对于这样的功能,哪种方式最好。

    所以在调用函数时,你只传递对象,而不是它的名字:

    Call CleanList(Me!List_List1)
    

    【讨论】:

    • 成功了!谢谢!但如果我想使用“.Name”,我已将函数更改为字符串。但是,当函数“.ListCount”中的其他方法正在运行时,我收到“Invalid Qualifier”错误。我应该如何解决这个问题?再次感谢
    • 同样,最好传递对象,而不是名称。要解析名称,您还需要传递表单,但这没有任何意义。 Call CleanList(Me, "List_List1")
    猜你喜欢
    • 2017-07-22
    • 2014-06-04
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2021-12-19
    相关资源
    最近更新 更多