Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 为什么我的连接无法打开?MS Access 2013_Ms Access_Vba_Ms Access 2013_Dsn - Fatal编程技术网

Ms access 为什么我的连接无法打开?MS Access 2013

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设置是正确的。

在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设置是正确的。当我执行上面的代码时,我得到一个运行时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