gpt4 book ai didi

mysql - MS Access ListBox 列属性与 ADODB Recordset 创建错误 424 需要对象

转载 作者:行者123 更新时间:2023-11-29 19:13:43 25 4
gpt4 key购买 nike

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

我能够使用 additem 属性显示第一列,但第二列会抛出运行时错误消息 424 需要对象。

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

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的MySQL表中数据类型为varchar。

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

感谢任何人的帮助。

最佳答案

要使用列表框的“AddItem”方法添加值,您需要连接值,并用逗号分隔,即分隔字符串,如下所示:

确保列表框的列数设置为 2,或者您想要显示的任意列数。

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

如果您只添加几条记录,这可能没问题,但如果您要显示很多行,最好将数据传输到 access 中的本地表,然后将列表框直接绑定(bind)到要 Access 的本地表/查询。

关于mysql - MS Access ListBox 列属性与 ADODB Recordset 创建错误 424 需要对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42879694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com