Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]怎样实现自动链接另一个文件里所有表

chinayoxi  发表于:2012-02-28 15:52:10  
复制

怎样实现自动链接另一个文件里所有表,我的“姓名.mdb”文件引用了同目录下DATA.mdb里的表,运行默认路径是C盘下的DATA,我想实现,把这两个文件放到任意目录,比如D盘的DATA,或E盘的根目录,“姓名.mdb”文件都能自动链接目录下DATA.mdb里的表,不会出现错误说找不到连接文件,如何实现,谢谢,对了,DATA.mdb的密码是123456

点击下载此附件

 

Top
叶海峰 发表于:2012-02-28 17:31:21

点击下载此附件

 

Public Function ReLink()
    Dim tbl    As TableDef
    Dim db     As Database
    Dim str    As String
    str = CurrentProject.Path & "\DATA.mdb"
    For Each tbl In CurrentDb.TableDefs
        If Len(tbl.Connect) > 0 And Left(tbl.Name, 1) <> "~" Then DoCmd.DeleteObject acTable, tbl.Name
    Next

    Set db = OpenDatabase(str, True, True, ";Database=" & str & ";PWD=123456")
    For Each tbl In db.TableDefs
        If Left(tbl.Name, 4) <> "Msys" And Left(tbl.Name, 1) <> "~" Then DoCmd.TransferDatabase acLink, "Microsoft Access", str, acTable, tbl.Name, tbl.Name
    Next
    Set db = Nothing
End Function



浪淘沙 发表于:2012-02-28 20:11:04

如果单机版这样做还行,如果联网版,链接会非常慢,最好先设好链接。



推箱子 发表于:2012-03-28 09:48:49

我想出一个思路,你看可行,把data.mdb放在一个工作目录,做好链接, 以后在姓名.mdb  的启动窗体 内 加查找 DATA.MDB 的文件查找图标 ,选定文件后把此文件拷入工作目录(强制覆盖), 此方法还可以解决 选定的文件 可以是不同名字,因为拷贝时可以改名。  



符冰 发表于:2012-05-29 16:58:07

弱弱地问:这段代码要写在哪里啊?

 

 

 



总记录:4篇  页次:1/1 9 1 :