【发布时间】:2016-01-13 16:26:27
【问题描述】:
我有 Excel VBA 代码,它在 access 数据库上运行选择查询并返回记录集。连接工作正常。当我得到记录集时,我可以很好地访问每一行中的每个字段。这是我目前使用的:
Sub accessSelect(sql)
Set rs = New ADODB.Recordset
Call accessConnection
With rs
.Open sql, conn
End With
Do While Not rs.EOF
'rtvEditForm.rtvList is a list box.
rtvEditForm.rtvList.AddItem rs(1) & " - " & rs(2)
rs.MoveNext
Loop
End Sub
我希望能够将整个rs 扔到rtvEditForm.rtvList 中,而不必参考每个字段。我已经尝试过rtvEditForm.rtvList.AddItem rs,但这不起作用,因为我收到“类型不匹配”错误。
看起来很简单,但我就是想不通。我将如何使用我当前的代码做到这一点?
【问题讨论】:
-
rtvList是什么控件? -
rtvList是一个列表框。更新了我原来的帖子。 -
我不相信有,但你可以为 f=0 到 rs.fields.count-1:strToAdd =strToAdd & rs.fields(f).value & ",":next f :cbo.AddItem strToAdd
-
哦等等....列表框是 Excel 工作表上的 ActiveX 列表框还是在 Access 表单中?
标签: excel vba ms-access recordset