【问题标题】:424 Error Access 2010 - Multiselect Listbox424 错误访问 2010 - 多选列表框
【发布时间】:2014-08-05 00:31:43
【问题描述】:

我正在尝试为 Access 2010 中的多选列表框创建 VBA 代码,这样当用户单击命令按钮时,程序将选择输入到数组中,然后为用户所做的每个选择(每个“true”值),打印出选择的名称(在这种情况下是一个主题)以及链接到该选择的任何项目。我有两个表:主题和项目。每个项目都链接到主题表中的三个主题。

我的问题是我不断收到“需要运行时错误 424 对象”。我大大简化了代码,以便缩小当前问题的根源。我目前正在使用的代码是:

Private Sub Command1_Click()

Dim I As Integer

For I = 0 To TopicsL.ListCount-1
     If TopicsL.Selected(I) Then
     Debug.Print “Hello”
 End If
Next I
End Sub

TopicsL 是我的列表框的名称。错误似乎在以下行中: For I = 0 To TopicsL.ListCount-1

我需要进一步修改“TopicsL.ListCount”吗?

感谢您的宝贵时间。

【问题讨论】:

    标签: vba ms-access-2010


    【解决方案1】:

    指定列表框的完整路径,例如form1.TopicsL.ListCount - 1

    【讨论】:

      【解决方案2】:

      您确定您已正确命名/拼写列表框吗?要确保您引用了正确的列表框,请使用 Me。当您键入我时。然后将列出该表单可用的所有控件、属性、方法,并且当您开始键入“top”时,它将是 ListBox 名称。如果没有,现在您知道存在一些问题。如果是这样,请确保 ListBox 的属性设置正确。

      Private Sub Command1_Click()
          Dim iCtr As Integer
          For iCtr = 0 To Me.TopicsL.ListCount - 1
              If Me.TopicsL.Selected(iCtr) Then _
                  Debug.Print "Hello World !!"
          Next
      End Sub
      

      【讨论】:

      • 我得到了我。工作 - 它找到了我的列表框。当我运行代码时,出现了一个弹出框 - “宏”,其中包含“宏名称”和一些按钮(运行、取消、单步执行等)的文本框。我似乎在两个地方创建了代码 - 一个代码在 Microsoft Access Class 下,另一个在 Modules 下。我不记得我是如何或为什么这样做的,但它似乎正在制造问题。我不知道如何删除我创建的类和/或模块页面,尽管我可以从页面中删除代码。我不确定我需要哪个 - 一个类或模块或两者兼而有之。我读了一些关于他们的文章,但很困惑。
      • 当你描述它时它非常令人困惑。您说的第一部分是 Debug,Step Into 听起来您遇到了运行时错误。只需单击“调试”,它就会将您带到导致问题的代码行。
      • 弹出框中的所有按钮都显示为灰色/无效。我可以将文本放入“宏名称”文本框并按下按钮,但我不确定要输入什么文本,或者当我尝试运行代码时为什么会出现此弹出框。
      • 基本上,发生的事情是当我在 VBA 编辑器中运行我的代码时,我按下“运行”,然后出现一个宏框,我不知道为什么。当您转到 VBA 编辑器顶部的“工具”菜单并选择“宏...”时,会出现相同的框。即使我的代码现在只是打印一个简单的“Hello World!” - 当我运行代码时,除了出现宏弹出框外,什么也没有发生。你能帮忙吗?
      猜你喜欢
      • 1970-01-01
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多