繁体   English   中英

奇怪的情况,使用ADO在Excel VBA中定义一个连接到Access .accdb数据库的文件路径,但是它告诉我找不到.mdb文件

[英]Weird situation, define a file path connecting to Access .accdb database in Excel VBA using ADO, however it tells me couldn't find .mdb file

我正在使用ADO连接在Excel VBA中编写代码以打开Access .accdb数据库。 我将文件路径定义为波纹管,但是在运行代码时,错误消息告诉我“找不到文件C:\\ Users \\ sevenice \\ Documents \\ EM Database.mdb”。 太奇怪了,我从来没有在.mdb文件范围内定义该文件路径。

但是,当我将accdb文件另存为mdb文件,然后将mdb文件放置在Documents文件夹下时,代码起作用了! 但是我不知道为什么。

我的代码有什么问题吗? 还是Access 2007中存在一些默认文件路径? 我的代码在Excel 2007中。

谢谢,冰

作为新的ADODB.Connection的昏暗cnn作为新的ADODB.Recordset的昏暗

昏暗的Dbfilepath作为字符串

Dbfilepath = "C:\Users\sevenice\Desktop\EM Database.accdb"

Set cnn = New ADODB.Connection

cnn.Open "Provider= Microsoft.ACE.OLEDB.12.0;" & " Data Source=" & Dbfilepath & ";" & "Persist Security Info =False;"

Set rst = New ADODB.Recordset
rst.ActiveConnection = cnn

您是否在SQL文本中引用了数据库名称(已从代码中删除了数据库名称)?

例如

SELECT [g/gtop] FROM [EM Database].[N (t) Data]

AFAIK此语法将尝试在当前目录中查找数据库EM Database.mdb 我猜它使用.mdb与旧代码兼容(或者这是一个bug!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM