在我的数据库中,我在一个模块中有一个公共函数,它接收一个 SQL 字符串并返回一个打开的记录集。这个函数在被这个模块和其他模块中的其他公共子调用时工作得很好。
但是,如果我尝试使用相同的确切代码调用相同的函数,则会出现编译错误:“参数数量错误或属性分配无效。”
如果我将确切的代码作为公共子代码剪切并粘贴到不同的模块中,则它可以正常工作。我怀疑这个问题与命名或隐藏变量有关。不幸的是,我无法通过搜索提出任何解决方案。
Public Function Query(SQL As String) As ADODB.Recordset
Dim cnnConn As ADODB.Connection
Dim rsRecord As New ADODB.Recordset
Set cnnConn = CurrentProject.Connection
rsRecord.ActiveConnection = cnnConn
rsRecord.Open SQL
Set Query = rsRecord
End Function
Private Sub Setup()
Dim rs As New ADODB.Recordset
Dim SQL As String
SQL = "Select * FROM [Configuration]"
Set rs = Query(SQL) <--- Compile Error
rs.Close
End Sub
任何帮助深表感谢。