使用 SQL 存储过程填充 ListBox
Posted
技术标签:
【中文标题】使用 SQL 存储过程填充 ListBox【英文标题】:Fill ListBox using SQL stored procedure 【发布时间】:2014-08-25 13:04:57 【问题描述】:我正在开发 VBA MS Access 应用程序,需要通过在 ADO 环境中执行存储过程来填充 ListBox。下面是我的代码……这段代码在主窗体加载时执行。
sql 连接一切正常,使用Debug.Print
进行调试时,我可以确认数据已成功获取。但我在最后一行遇到错误..请需要帮助。下面是我填充列表框的代码......
Dim rs As ADODB.Recordset
Set AdoCn = New ADODB.Connection
Set AdoCmd = New ADODB.Command
AdoCn.Open AdoConnectionString
AdoCmd.ActiveConnection = AdoConnectionString
Set rs = New ADODB.Recordset
AdoCmd.CommandType = adCmdStoredProc
AdoCmd.CommandText = "TestListReview"
Set rs = AdoCmd.Execute
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenForwardOnly, adLockOptimistic, dbSeeChanges
Set Me.lstReview.RowSourceType = "Table/Query"
Set Me.mylstbox.Recordset = rs
Set rs = Nothing
Set cn = Nothing
【问题讨论】:
显示错误信息 您遇到了哪个错误? 我猜你需要用Set AdoCn = Nothing
替换Set cn = Nothing
@Horaciux 它的运行时间错误 3705:对象打开时不允许操作。
@DeepSharma 哥们,我在上面提到过..
【参考方案1】:
您尚未创建名为 cn 的连接。您创建的连接称为 AdoCN。您正在尝试关闭一个不存在的对象。按照 Horaciux 的建议,将最后一行更改为 Set AdoCn = nothing。
【讨论】:
以上是关于使用 SQL 存储过程填充 ListBox的主要内容,如果未能解决你的问题,请参考以下文章