VBA Access在调用另一个数据库中的函数时返回值
我试图从数据库a中的窗体调用数据库B中模块中的函数 我意识到在VBA中,您可以通过指定返回类型并使用“Set”设置变量(与函数同名)来获取函数的返回值,该变量返回值 我尝试调用数据库B中的函数,使用db.Execute(它应该返回一个变量)和连接到数据库B并执行rst.Open(返回一个记录集) 这两种方法似乎都没有向数据库a中的表单返回值VBA Access在调用另一个数据库中的函数时返回值,vba,ms-access,Vba,Ms Access,我试图从数据库a中的窗体调用数据库B中模块中的函数 我意识到在VBA中,您可以通过指定返回类型并使用“Set”设置变量(与函数同名)来获取函数的返回值,该变量返回值 我尝试调用数据库B中的函数,使用db.Execute(它应该返回一个变量)和连接到数据库B并执行rst.Open(返回一个记录集) 这两种方法似乎都没有向数据库a中的表单返回值 有人有示例代码来演示这一点吗?如果要从不在当前数据库中的表返回记录集,则需要将ADODB.Connection变量设置为新数据库的路径。这方面的一个例子是:
有人有示例代码来演示这一点吗?如果要从不在当前数据库中的表返回记录集,则需要将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
希望这有帮助。我非常确定db.Execute不会返回任何内容。曾经这个函数做什么?如果是查询,则记录集应该起作用。当数据库a在Access中打开时,它不能直接使用数据库B中定义的函数,除非您设置了对数据库B的引用。您好,发布您当前的代码,演示您描述的两种方法。