Access交流中心

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

自动刷新本地链接表

太累  发表于:2011-09-10 23:07:22  
复制

更改路径后,如何用VBA自动刷新本地链接表(来自本地多个access数据库),新手,请多指教。

 

Top
jia 发表于:2011-09-11 08:16:45

你参考一下这个例子会对你有所帮助。

点击下载此附件



太累 发表于:2011-09-11 12:56:37

    谢谢这位兄台,以下代码基本能解决,但只能刷新来自一个数据库的所有表,我需要解决的是来自多个数据库的链接表的刷新(因为数据多,把它拆成了多个数据库,一个数据库中又有多个表)。

 

Dim dbs As Database
    Dim tdf As TableDef    ' 循环处理此数据库的所有表。
    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs
        ' 如果表有一个连接串,那么该表是一个链接表。
        If Len(tdf.Connect) > 0 Then
            tdf.Connect = ";DATABASE=" & strFileName & ";PWD=" + TablePassword
            Err = 0
            On Error Resume Next
            tdf.RefreshLink         ' 重新链接该表。
            If Err <> 0 Then
                RefreshLinks = False
                Exit Function
            End If
        End If
    Next tdf

    RefreshLinks = True        ' 完成重链接。

 



赵文斌 发表于:2011-09-11 12:58:43
花精力研究这个意义不大。长痛不如短痛。换个搭建模式。

太累 发表于:2011-09-11 13:07:37

已经没退路了,只能刷新,谢谢你的提醒,以后注意这个问题。



羽扇子君 发表于:2011-09-12 11:19:27

1.先调用Office的Application.FileDialog(msoFileDialogOpen)打开文件 对话话 取得 数据库路径,

2.在函数中,建立一个包括所有数据库名字及表名的数组变量,然后在连接时引用之.



太累 发表于:2011-09-12 16:36:38

谢谢楼上的君哥,由于数据库及表比较多,每次启动时都这么做,不太合适。



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