我有一个表的列表,其中之一是链接表,从另一个Access数据库B.mdb在同一台服务器上连接一个Access 2010数据库A.mdb。 这些数据库在开发机器xxx.xxx.xxx.xxx
,这是我的计算机上映射为R://
,他们后来在网上发表了对yyy.yyy.yyy.yyy
服务器。
如果我想在数据库中本地工作,我需要改变的链接表。 但是,如果我通过文件系统来修改它(使用“链接表管理器”),链接变成R://....
而当我看着这些请求的数据在ASP页,它被打破,因为路径是错误的。 另外,如果我改变本地的链接,它不会在网络服务器上运行。
有没有办法来改变链接“编程”? 也就是说,在不使用链接表管理器?
我寻找一个答案,但我不是专家,我只是明白,我必须写一个“模块”? “宏”?
表链接可以是UNC路径。 例如,假设我有一个链接表指向数据库\\192.168.1.2\Public\
被映射到驱动器P:
如果我启动VBA编辑器(ALT + F11),打开立即窗口(Ctrl + G)和类型...
?CurrentDB.TableDefs("remoteTable").Connect
...它会返回...
;DATABASE=P:\B.accdb
......因为我指出来驱动P:
当我创建的链接。
现在,如果我创建并运行VBA函数...
Function linkToUnc()
Dim cdb As DAO.Database
Set cdb = CurrentDb
cdb.TableDefs("remoteTable").Connect = ";DATABASE=\\192.168.1.2\Public\B.accdb"
cdb.TableDefs("remoteTable").RefreshLink
Set cdb = Nothing
End Function
...该链接现在是一个UNC路径。
顺便说一句,你可以创建链接表管理UNC链接,如果你浏览到“网络”,“计算机名”,“共享名”,但是,这将使你的机器名(在我的情况\\PICO\Public\B.accdb
)。
你可以右键点击一个链接表并选择连接表管理 。 选择您要在工作和TiC的复选框波纹管它说始终提示输入新位置 ,然后单击确定按钮窗口中的链接表。
你将被要求提供新的位置。 浏览并选择该文件,然后单击确定。
我想建立一个文件DSN与只读访问整个网络访问的共享文件夹,然后使用一个连接表管理的UNC路径。 要做到这一点,我用的是链接表管理器和设置文件DSN我的桌面上。 然后我复制和移动的DSN文件复制到共享目录的UNC。 然后,我进入访问和删除链接的表并重新创建链接表。 要做到这一点,删除链接的表后,我做到以下几点:
- 通过创建一个链接表>链接到数据源 - - 我点击ODBC数据库>确定。
- 单击文件数据源选项卡中选择数据源窗口。 在对话框的底部,你会看到“DSN名称:”后面的文本框和一个新的按钮。 您将进入整个UNC路径和文件名到该文本框(所以这是指向你复制出来的UNC路径的文件)。 例如,我输入,\ ATD-SERVER1 \ AccessShare \ ContactsApp.accdb.dsn。 然后点击确定。
假设你有访问权限要链接到,将显示链接表对话框服务器,然后您可以从中选择您的链接表! 微软不能让他们是否尝试过任何这不太直观。