数据表的自动重新连接:数据表的自动重新联接



用access做应用往往做成\"数据\"和\"\"两个数据库\"数据\"数据库中只存放数据表\"\"数据库中存放所有formquery,report,module等通过表联接\"\"数据库可以访问所有\"数据\"数据库中 当我们应用更换存储位置时候往往失去正确表联接造成运行下面可以自动找回表联接在我应用中\"\"数据库名字是stockMgr.mdb,\"数据\"数据库名字是stock-Data.mdb
注意: 该仅限于\"\"和\"数据\"存放在同个目录而且是对应单个\"数据\"文件情况

Function ReAttachTable
Dim MyDB As Database, MyTbl As TableDef
Dim cpath As String
Dim datafiles As String, i As Integer

On Error Resume Next
Set MyDB = CurrentDb
cpath = trimFileName(CurrentDb.Name)
datafiles = \"stock-data.mdb\"
DoCmd.Hourglass True
For i = 0 To MyDB.TableDefs.Count - 1
Set MyTbl = MyDB.TableDefs(i)
If MyTbl.Attributes = DB_ATTACHEDTABLE And Left(MyTbl.Connect, 1) = \";\" Then
MyTbl.Connect = \";DATABASE=\" & cpath & datafiles
MyTbl.RefreshLink
If Err Then
If vbNo = MsgBox(Err.description & \"继续吗?\", vbYesNo) Then Exit For
End If
End If
Next i
DoCmd.Hourglass False
msgbox \"Tables relink finish.\"
End Function

@#绝对路径中去掉文件名返回路径
Function trimFileName(fullname As String) As String
Dim slen As Long, i As Long
slen = Len(fullname)
For i = slen To 1 Step -1
If Mid(fullname, i, 1) = \"\\\" Then
Exit For
End If
Next
trimFileName = Left(fullname, i)
End Function

启动或者按钮动作中即可

Tags:  安全数据表 excel数据表 数据表 数据表的自动重新连接

延伸阅读

最新评论

发表评论