ms-access - 如何在 vba(access) 中将变量设置为我的表单列表框之一?

我有一个函数,我想根据字符串参数返回不同的列表框。 这是函数:

    Here is the function:
Private Function returnList(name As String) As AccessObject
If name = "app" Then
    returnList = Me.Controls("List61")
    'I have also tried the following: 
    'returnList = Me.List61, returnList = Forms![Daily Reports]![List61]
ElseIf name = "lpar" Then
'..several more cases
End If
End Function

每当我尝试调用它时,我都会收到“运行时错误‘91’:未设置对象变量或 With block 变量”。当我使用调试器时,它告诉我对 list61(Me.list61, Me.Controls("List61")) 的引用为空。

有人知道如何解决这个问题吗?任何帮助我将不胜感激。

最佳答案

最重要的是要注意;因为你现在处理的是“对象”而不是“变量”,你必须在对象变量前面加上“Set”这个词。同时将 AccessObject 类型更改为 ListBox。

Private Function returnList(name As String) As ListBox
If name = "app" Then
    Set returnList = Me.Controls("List61")
    'I have also tried the following:
    'returnList = Me.List61, returnList = Forms![Daily Reports]![List61]
ElseIf name = "lpar" Then
'..several more cases
End If
End Function

https://stackoverflow.com/questions/17365834/

相关文章:

python - 如何在对象上进行 str.replace?

python - 在python中使用smtp发送电子邮件不起作用

solr - 使用 OR 的嵌套功能范围查询

ruby - 使用 ruby​​_gnuplot 在 Ruby 中制作动画 3d 散点图

jdbc - 配置单元 jdbc 连接发出内存不足错误

css - 在相同高度缩放 float div

sql-server - 对选择结果中的每一行执行 INSERT

python - MindWave Mobile - 调用单个数据点

r - 使用包命名空间在 R 中进行分层 cox 回归

javascript - Xhr 上传事件.loaded 问题