带有 ADODB 记录集的 MS Access ListBox 列 属性 创建错误 424 Object Required

MS Access ListBox column property with ADODB Recordset creates error 424 Object Required

我正在 MS Access 中构建一个带有列表框的简单表单,我想在其中显示存储在 MySQL 服务器 table 中的数据。我想在列表框中显示两列。

我能够显示带有附加项 属性 的第一列,但第二列抛出 运行 时间错误消息 424 Object Required.

我在网上和我的书中搜索了几个小时,但我无法弄明白。 有什么问题?

Private Sub cmdSuchenVerantwortlich_Click()

Dim rsAuswahl As New ADODB.Recordset
Dim i As Long

If pConnectDB.State = adStateClosed Then
    modConnectDB.Connect_To_DB
End If

Me.lstAuswahl.RowSourceType = "Value List"

'Clear Listbox
For i = Me.lstAuswahl.ListCount - 1 To 0 Step -1
    Me.lstAuswahl.RemoveItem i
Next i


With rsAuswahl
    .ActiveConnection = pConnectDB
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient

    .Open Source:="select MATNR, AUSNAHME from Ausnahmeliste where VERANTWORTLICH = '" & Me.cboVerantwortlich & "' "


    Do Until .EOF
        Me.lstAuswahl.AddItem .Fields("MATNR").Value
        Me.lstAuswahl.Column(1, Me.lstAuswahl.ListCount - 1) = .Fields("AUSNAHME").Value

        .MoveNext
    Loop

    .Close
End With


End Sub

代码 Me.lstAuswahl.Column(1, Me.lstAuswahl.ListCount - 1) = .Fields("AUSNAHME").Value 抛出错误消息。

MATNR和AUSNAHME的MySQLtable中的数据类型为varchar。

当我将鼠标悬停在 .Fields("MATNR").Value 上时,我可以看到预期值,将鼠标悬停在 .Fields("AUSNAHME").Value 上时,我也可以看到预期值。所以数据是,但是有什么问题吗?

感谢大家的帮助。

要使用列表框的 "AddItem" 方法添加值,您需要连接值,用逗号分隔,因此分隔字符串如下:

确保将列表框的列数设置为 2,或者您希望显示的列数。

Me.lstAuswahl.AddItem .Fields("MATNR").Value & "," & .Fields("AUSNAHME").Value

如果你只是添加几条记录,这可能没问题,但如果你要显示很多行,最好将数据传输到本地 table 访问中,并且然后将您的列表框直接绑定到 table/query 本地以进行访问。