Ms access VBA中表格的动态链接
我试图在启动时让Access 2010中的表链接到后端 代码如下: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
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不想更新事物,只是不断地添加到一个破碎的基础上:(谢谢,一旦我发布了我的错误,我就把它排序了,但是我会把它标记为其他可能在同一条路径上徘徊的人的答案,谢谢,一旦我发布了我的错误,我就把它排序了,但是我会把这个标记为其他可能走在同一条路上的人的答案,