access中数据表的自动重新联接

access中数据表的自动重新联接,第1张

access中数据表的自动重新联接,第2张

将access作为应用程序使用时,往往会做成“数据”和“程序”两个数据库。只有数据表存储在“数据”数据库中,所有的表格、查询、报告、模块等。存储在“程序”数据库中。“数据”数据库中的所有表都可以通过连接这些表来访问。
当我们的应用程序改变它的存储位置时,它经常丢失正确的表连接,导致运行错误。下面的过程可以自动检索表连接。在我的应用程序中,“program”数据库的名称是stock mgr . MDB,“data”数据库的名称是stock-data . MDB ,
注意:这个程序仅限于“program”和“data”存储在同一个目录中并对应于单个“data”文件的情况。

function retattach table()
Dim MyDB作为数据库,MyTbl作为TableDef
Dim cpath作为字符串
Dim datafiles作为字符串,I作为整数

出错时恢复Next
Set MyDB = current db
cpath = trim filename(current db。name)
data files = " stock-data . MDB "
DoCmd。对于i = 0到MyDB,沙漏True
。TableDefs . Count-1
Set MyTbl = MyDB。TableDefs(i)
If MyTbl。attributes = DB _ attached table And Left(MyTbl。Connect,1)= ";"然后
MyTbl。connect = ";database = " & cpath & data files
mytbl . refresh link
if err then
if vbno = msgbox(err . description & ",继续吗?",vbYesNo)然后退出For
End If
End If
Next I
DoCmd。沙漏False
msgbox "表格重新链接完成。
结束函数

从绝对路径中删除文件名,返回路径
function trim filename(全名为字符串)作为字符串
dimslen as long,i As Long
slen = Len(全名)
For I = slen To 1 Step-1
If Mid(全名,I,1)= " \ " Then
Exit For
End If
Next
trim filename = Left(全名,I

它可以在程序启动或按钮操作时调用。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » access中数据表的自动重新联接

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情