ms-access - 将参数传递给 vba 函数时收到错误消息 : "Argument not optional (Error 449)"

标签 ms-access vba adodb

我试图从 MS-Access 2007 中的函数检索 ADODB 记录集,但收到一条非常烦人的错误消息:“参数不可选(错误 449)”。

我真的不知道我做错了什么,请帮忙!

问候,

斯特凡

功能:

Function Rs(sourceSQL As String) As ADODB.Recordset

' Create New Disconnected Recordset

Dim rsConnection As ADODB.Connection
Dim rsRecordset As ADODB.Recordset

Set rsConnection = New ADODB.Connection
rsConnection.Open CurrentProject.Connection

Set rsRecordset = New ADODB.Recordset

rsRecordset.CursorLocation = adUseClient
rsRecordset.Open sourceSQL, rsConnection

Set Rs = rsRecordset

Set rsRecordset.ActiveConnection = Nothing

End Function

函数调用:

Private Sub Form_Load()

Call Rs("tblDocumentCode")

Debug.Print Rs.txtDocumentCode(0).Value

End Sub

最佳答案

您使用 rs 两次,一次作为函数,一次作为记录集的名称:

Private Sub Form_Load()

Set Myrs= Rs("tblDocumentCode")

Debug.Print MyRs(0).Value

End Sub

关于ms-access - 将参数传递给 vba 函数时收到错误消息 : "Argument not optional (Error 449)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541124/

相关文章:

forms - Access-在Access中通过表单输入重复项以显示现有记录

ms-access - 如何在 TableDefs 中搜索链接表?

html - VBA - Google 新闻搜索结果的数量

oracle - 有什么方法可以提高向 Oracle DB 插入行时的性能吗?

ms-access - HOWTO : Open an ADODB recordset from a command object that allows updating?

java - 使用 ODBC 和 MS Access 时出现主键冲突错误代码

C# 以多种形式使用 MS Access 数据库

vba - 声明要在 Module1 中初始化并在 UserForm 模块中使用的变量

excel - Workbook.BeforeSave 事件,确定他们保存为什么类型

mysql - 使用经典 ASP 随机 ADODB.Recordset 是 "double encoded"