Ms access 为什么我的连接无法打开?MS Access 2013
在Access 2013 VBA中,我正在尝试打开连接:Ms access 为什么我的连接无法打开?MS Access 2013,ms-access,vba,ms-access-2013,dsn,Ms Access,Vba,Ms Access 2013,Dsn,在Access 2013 VBA中,我正在尝试打开连接: Set cn = New ADODB.Connection connectionString = "ODBC;DSN=MyDSN;Trusted_Connection=Yes;APP=Microsoft Office 2013;DATABASE=MyTest" cn.Open (connectionString) 我已经在其他代码中验证并使用了“MyDSN”,因此我知道DSN设置是正确的。
Set cn = New ADODB.Connection
connectionString = "ODBC;DSN=MyDSN;Trusted_Connection=Yes;APP=Microsoft Office 2013;DATABASE=MyTest"
cn.Open (connectionString)
我已经在其他代码中验证并使用了“MyDSN”,因此我知道DSN设置是正确的。当我执行上面的代码时,我得到一个运行时80004005错误,告诉我“找不到数据源名称,并且没有指定默认驱动程序”
我可以将DSN连接与ADODB连接一起使用吗?从连接字符串中放弃“ODBC;”。(我认为提供DSN值已经确定您需要ODBC连接。)
此示例在cn失败。在我的系统上打开,并显示与您报告的相同的错误消息
ConnectionString=“ODBC;DSN=sqlserver\u local;Trusted\u Connection=Yes;DATABASE=testbed”
但是放弃“ODBC;”允许cn.Open
成功
ConnectionString=“DSN=sqlserver\u本地;可信\u连接=Yes;数据库=testbed”
我正在使用以下连接字符串(仅示例),该字符串在Access 2003和2013版本中运行良好:
DRIVER= {Microsoft Access Driver (*.mdb)}; DBQ= C:\Test.mdb; DefaultDir = C:\; UID= admin; PWD= admin; FIL = MS Access; MaxBufferSize = 2048; MaxScanRows = 8; PageTimeout = 5; SafeTransactions = 0; Threads = 4; UserCommitSync = Yes;
由于VBA处于Access中,您是否尝试连接到同一数据库?如果是这样,您只需执行以下操作:Set cn=New ADODB.Connection Set cn=CurrentProject.Connection