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

小情绪8865

小情绪8865

2016-02-19 20:36

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

用access做应用程序,往往做成"数据"和"程序"两个数据库,"数据"数据库中只存放数据表,"程序"数据库中存放所有的form,query,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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

'绝对路径中去掉文件名,返回路径
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

在程序启动或者按钮动作中调用即可。

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
教程: access中数据表的自动重新联接

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

编程语言 网络编程
access中数据表的自动重新联接

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

实例分析Access中数据表的自动重新联接

编程语言 网络编程
实例分析Access中数据表的自动重新联接

Access中数据表的自动重新联接实例分析

编程语言 网络编程
Access中数据表的自动重新联接实例分析

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

access里面数据表地自动重新联接

编程语言 网络编程
access里面数据表地自动重新联接

数据表中数据的管理

编程语言 网络编程
数据表中数据的管理

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

HTML语言教程:HTML图片 字体 背景

HTML语言教程:HTML图片 字体 背景

ajax传递中文时遇到的乱码问题

ajax传递中文时遇到的乱码问题
下拉加载更多内容 ↓