【发布时间】:2023-03-05 11:16:01
【问题描述】:
我在 MS Access 2010 中使用 VBA 创建了一个函数来执行 SQL 服务器存储过程并在 ADODB.Recordset 对象中返回值。但是,我无法使用从 ADODB 连接返回的记录集设置 MS Access 表单 RecordSource 或 Recordset。
下面是代码摘录:
Dim objRs As ADODB.Recordset
Set objRs = call_proc("mySQLProc", "param")
Set Forms("form1").Recordset = objRs
call_proc的函数头:
Public Function call_proc(procName As String, procVal As String) As ADODB.Recordset
如果我遍历 objRS 并执行 Debug.Print,我可以看到所有记录。所以我知道数据在那里。只是不知道如何修复将数据绑定到表单的错误。 下面这行代码返回错误:
Set Forms("form1").Recordset = objRs
欢迎接受任何建议。 先感谢您。
【问题讨论】:
-
嗨@hansUp,它返回“Nothing”
-
仅供参考,Debug.Print TypeName(objRS) 确实返回 Recordset
-
请参阅resource 将表单绑定到 ADO 记录集。它可能涉及连接 OLEDB/ODBC 驱动程序和记录集类型(即 adLockOptimistic、adOpenDynamic)。请出示您的完整连接代码。
标签: ms-access vba ms-access-2010