在运行时从Access Table导入数据

我很好地从Access数据库导入数据。 不过,我想让DB成为运行时(.accdr而不是.accde)。 运行时也可以正常工作,但在Excel中不能从运行时应用程序导入数据(不允许)。

我如何联系我的数据库,并有运行时模式?

我发现网上没有任何东西甚至提到这个问题。 如果需要的话,打开与VBA的ADODB连接,我没有问题。

由于ACCDR数据库不显示在由Excel的“ 数据>来自访问”选项提供的选项中,因此可以打开logging集以检索Access数据,然后使用Excel的CopyFromRecordset方法将这些数据保存到工作表中。

此代码使用从ACCDR数据库文件加载的DAOlogging集并将数据保存在活动工作表中…

Const cstrDbPath As String = "C:\share\Access\Database2.accdr" Const cstrDao = "DAO.DBEngine.120" Dim dbe As Object ' DAO.DBEngine Dim db As Object ' DAO.Database Dim rs As Object ' DAO.Recordset Dim strSql As String strSql = "SELECT 'Hello World' AS greet_world;" Set dbe = CreateObject(cstrDao) Set db = dbe.OpenDatabase(cstrDbPath, True) Set rs = db.OpenRecordset(strSql) Range("A2").CopyFromRecordset rs rs.Close db.Close 

该代码使用DAO与后期绑定。 如果您更喜欢早期绑定,请将“Microsoft Office <版本> Access数据库引擎对象库”添加到项目的引用中。

或者,如果您更喜欢ADO, CopyFromRecordset也将使用ADOlogging集。