Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 VBA中表格的动态链接_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access VBA中表格的动态链接

Ms access VBA中表格的动态链接,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我试图在启动时让Access 2010中的表链接到后端 代码如下: dbs.TableDefs(intLoop - 1).Connect = ";DATABASE=" & strBack & strBackEnd Debug.Print (dbs.TableDefs(intLoop - 1).Connect) dbs.TableDefs(intLoop - 1).RefreshLink 现在连接到C:或D:驱动器上的文件,具体取决于PC设置。但它不会连接到文件,而是打开系统DN

我试图在启动时让Access 2010中的表链接到后端

代码如下:

dbs.TableDefs(intLoop - 1).Connect = ";DATABASE=" & strBack & strBackEnd
Debug.Print (dbs.TableDefs(intLoop - 1).Connect)
dbs.TableDefs(intLoop - 1).RefreshLink
现在连接到C:或D:驱动器上的文件,具体取决于PC设置。但它不会连接到文件,而是打开系统DNS选择器窗口


有什么线索说明原因吗?路径有效,数据库有效。

在您解释的注释中:

数据库混合了本地表,链接到mdb文件和链接 到SQLServer

您可以通过检查每个
TableDef
.Connect
属性并仅更改指向另一个Access数据库的链接来处理这种混合

Dim dbs作为DAO.Database
将tdf调暗为DAO.TableDef
设置dbs=CurrentDb
对于dbs.TableDefs中的每个tdf
使用tdf
如果.Connect像“DATABASE=*”一样,那么
.Connect=“;DATABASE=“&strBack&strBackEnd
.RefreshLink
如果结束
以
下一个

该建议假设链接已经存在,并且您只尝试更改它们的连接属性。如果需要从头开始创建链接,请包含一个本地表,其中包含每个链接表的信息,并使用该信息驱动链接创建。

在您解释的注释中:

数据库混合了本地表,链接到mdb文件和链接 到SQLServer

您可以通过检查每个
TableDef
.Connect
属性并仅更改指向另一个Access数据库的链接来处理这种混合

Dim dbs作为DAO.Database
将tdf调暗为DAO.TableDef
设置dbs=CurrentDb
对于dbs.TableDefs中的每个tdf
使用tdf
如果.Connect像“DATABASE=*”一样,那么
.Connect=“;DATABASE=“&strBack&strBackEnd
.RefreshLink
如果结束
以
下一个

该建议假设链接已经存在,并且您只尝试更改它们的连接属性。如果需要从头开始创建链接,请包含一个本地表,其中包含每个链接表的信息,并使用该信息驱动链接的创建。

如何
strBack&strBackEnd
输出?它们分别是带有正斜杠窗口分隔符和扩展名的目录名和基名称吗?是的,字符串是有效mdb文件的有效路径。这是RefreshLink thet打开dsn窗口dsn安装程序启动的唯一原因是如果使用ODBC链接表(非访问源)。是的,Parfait,我真傻,一个看不见树木的案例。该数据库混合了本地表,链接到mdb文件,链接到SQLServer。我关注的是本地mdb问题,只是没有考虑SQL链接。谢谢这是我继承的一大堆混乱,最初是建立在Access 97上的,但当然公司不想更新事情,只是继续增加一个崩溃的基础:(strBack和strBackEnd的输出是什么?它们分别是带有正斜杠窗口分隔符和扩展名的目录名和基名称吗?是的,字符串是有效mdb文件的有效路径。这是刷新链接打开dsn窗口dsn安装程序启动的唯一原因是ODBC链接表(非访问源)使用了。是的,冻糕,我太傻了,一个看不见树木的例子。数据库混合了本地表,链接到mdb文件和SQLServer的链接。我关注的是本地mdb问题,只是没有考虑SQL链接。谢谢。这是我继承的一个烂摊子,最初构建在access 97上,但当然是该公司Y不想更新事物,只是不断地添加到一个破碎的基础上:(谢谢,一旦我发布了我的错误,我就把它排序了,但是我会把它标记为其他可能在同一条路径上徘徊的人的答案,谢谢,一旦我发布了我的错误,我就把它排序了,但是我会把这个标记为其他可能走在同一条路上的人的答案,