gpt4 book ai didi

vba - 如何使用vba修改对另一个Access 2010数据库的adodb的引用

转载 作者:行者123 更新时间:2023-12-02 00:02:11 26 4
gpt4 key购买 nike

我有一个 Access 2010 accdb 数据库,它是我从 Access 2003 mdb 数据库转换而来的。
当我在 Access 2003 中运行以下代码时,它会创建一个数据库,默认情况下,该数据库引用了 ADODB -“Microsoft ActiveX 数据对象 2.5 库”(msado25.tlb)。

Set dbNewApp = Application.DBEngine.CreateDatabase("Test.mdb", dbLangGeneral)

如果我在 Access 2010 中运行以下(类似的)代码,它会成功创建一个 accdb 数据库,但没有像上面那样引用 ADODB 库。

Set dbNewApp = Application.DBEngine.CreateDatabase("Test.accdb", dbLangGeneral)

根据以下链接,创建新数据库时包含的默认引用已在 DAO 和 ADODB 之间发生变化,并在各种版本的 Access 中再次发生变化:http://allenbrowne.com/ser-38.html

所以我需要我新创建的数据库来引用 ADODB。

我知道如何更改当前数据库的引用...

Set refNew = References.AddFromGuid("{00000205-0000-0010-8000-00AA006D2EA4}", 2, 5)

但是我如何对我刚刚使用 DBEngine.CreateDatabase 创建的另一个 Access 数据库执行此操作?

最佳答案

创建数据库后,应该可以打开它并添加引用:

Sub CreateDB()
Dim acApp As Access.Application
Dim dppath As String

dbpath = "z:\docs\newmsmdb.mdb"
''http://msdn.microsoft.com/en-us/library/office/ff835033.aspx
CreateDatabase dbpath, dbLangGeneral, dbVersion40

''http://msdn.microsoft.com/en-us/library/office/aa140509(v=office.10).aspx
Set acApp = New Access.Application
With acApp
.OpenCurrentDatabase dbpath
acApp.References.AddFromFile _
"c:\program files\common files\system\ado\msado15.dll"
End With
End Sub

关于vba - 如何使用vba修改对另一个Access 2010数据库的adodb的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com