我正在尝试从数据库A中的表单调用数据库B中的模块中的函数。
我意识到在VBA中,您可以通过指定返回类型并使用' Set'来获取函数的返回值。设置一个变量(与函数同名),返回值。
我试图在数据库B中调用一个函数,使用db.Execute(应返回Variant)并连接到数据库B并执行rst.Open(返回记录集)。
这两种方法似乎都没有向数据库A中的表单返回值。
有没有人有示例代码证明这一点?
答案 0 :(得分:0)
如果要从不在当前数据库中的表返回记录集,则需要将ADODB.Connection变量设置为新数据库的路径。一个例子是:
Public Sub rdstALTDB()
Dim conn As ADODB.Connection
Dim fPath as String
Dim rsTest As ADODB.Recordset
Set conn = New ADODB.Connection
fPath = C:/Test/TestDb.accdb 'location of the alternate database
conn.Open "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " & fPath
Set rsTest = New ADODB.Recordset
rsTest.Open "Test", conn
'Do Something With the recordset
rsTest.Close
Set rsTest = Nothing
End Sub
希望这有帮助。