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

2016-02-19 20:35 4 1 收藏

下面请跟着图老师小编一起来了解下access中数据表的自动重新联接,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - 编程语言 】

  用access做应用程序,往往做成"数据"和"程序"两个数据库,"数据"数据库中只存放数据表,"程序"数据库中存放所有的form,query,report,module等,通过表联接"程序"数据库可以访问所有"数据"数据库中的表。

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

  当我们的应用程序更换存储位置的时候往往失去正确的表联接,造成运行错误。下面的一段程序可以自动找回表联接。在我的应用中"程序"数据库名字是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

(本文来源于图老师网站,更多请访问https://www.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

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

来源:https://www.tulaoshi.com/n/20160219/1624076.html

延伸阅读
代码如下: select user_name,count(*) as count from user_table group by user_name having count1; 这个我在很早有发过一个asp下的ACCESS 的
标签: MySQL mysql数据库
  在进行数据表检查或修补时,可以先将数据表锁定,可确保数据表的安全: mysqlLOCK TABLE tbl_name READ; mysqlFLUSH TABLES; 将数据表锁定后再进行检查或修补的工作。完成后再解除锁定: mysqlUNLOCK TABLES; //LOCK TABLE tbl_name READ表示要锁定成只读状态,在这个状态下用户只能读取数据表,不能写入。 LOCK TABLE tbl_name W...
我们先来打开一个Access数据库, 单击“文件”菜单上的“获取外部数据”项,并单击其子菜单上的‘链接表’命令。现在弹出一个对话框,很像Access中打开一个文件的对话框。 我们现在导入一个DBASE数据库文件。先将鼠标移动到“文件类型”下拉框上,单击鼠标左键,弹出一个下拉列表。 这些文件类型链接的方法基本上...
标签: MySQL mysql数据库
  如果数据表有问题,可以利用--recover --quick参数做修补的工作: linux#myisamchk --recover --quick tbl_name linux#isamchk --recover --quick tbl_name 如果上面的方法不能解决问题,可以将--quick参数去掉: linux#myisamchk --recover tbl_name linux#isamchk --recover tbl_name 如果还是不能解决问题,可以再试着改用--sa...
  数据库结构: 字段      类型 ID          整型     索引(无重复) name      文本 father     整型 //tree初始化 procedure TForm1.FormActi...

经验教程

936

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部