Heim > Datenbank > MySQL-Tutorial > 实例分析Access中数据表的自动重新联接

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

WBOY
Freigeben: 2016-06-07 15:16:10
Original
1059 Leute haben es durchsucht

用Access做应用程序,往往做成数据和程序两个数据库,数据数据库中只存放数据表,程序数据库中存放所有的form,query,report,module等,通过表联接程序数据库可以访问所有数据数据库中的表。 当我们的应用程序更换存储位置的时候往往失去正确的表联接,造成

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

当我们的应用程序更换存储位置的时候往往失去正确的表联接,造成运行错误。下面的一段程序可以自动找回表联接。在我的应用中“程序”数据库名字是stockMgr.mdb,“数据”数据库名字是stock-Data.mdb。

注意: 该程序仅限于“程序”和“数据”存放在同一个目录而且是对应单个“数据”文件的情况。 以下为

Function ReAttachTable()<br>Dim MyDB As Database, MyTbl As TableDef<br>Dim cpath As String<br>Dim datafiles As String, i As Integer<br>On Error Resume Next<br>Set MyDB = CurrentDb<br>cpath = trimFileName(CurrentDb.Name)<br>datafiles = "stock-data.mdb"<br>DoCmd.Hourglass True<br>For i = 0 To MyDB.TableDefs.Count - 1<br>Set MyTbl = MyDB.TableDefs(i)<br>If MyTbl.Attributes = DB_ATTACHEDTABLE And Left(MyTbl.Connect, 1) = ";" Then<br>MyTbl.Connect = ";DATABASE=" & cpath & datafiles<br>MyTbl.RefreshLink<br>If Err Then<br>If vbNo = MsgBox(Err.description & ",继续吗?", vbYesNo) Then Exit For<br>End If<br>End If<br>Next i<br>DoCmd.Hourglass False<br>msgbox "Tables relink finish."<br>End Function<br>'绝对路径中去掉文件名,返回路径<br>Function trimFileName(fullname As String) As String<br>Dim slen As Long, i As Long<br>slen = Len(fullname)<br>For i = slen To 1 Step -1<br>If Mid(fullname, i, 1) = "" Then<br>Exit For<br>End If<br>Next<br>trimFileName = Left(fullname, i)<br>End Function

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage