我有一个旧的Access数据库,其中包含大量的查找表。据说它是一个类似的仓库,可以链接到其他一些其他部署的访问应用程序。我们想杀了它。但是,有没有办法找出目前是否有任何应用程序链接到它?
答案 0 :(得分:1)
您需要所有Access应用的完整路径和文件名;这可能是不可能的。
对于那些你可以,循环遍历所有文件:
同样,它不是万无一失的,但是掌握你公司周围的所有Access应用程序是一个很好的练习。
*代码不排除系统表。
Private Sub CheckToSeeIfLinked()
Dim Dbs As DAO.Database
Dim Tdf As DAO.TableDef
Dim Tdfs As TableDefs
Dim wrk As DAO.Workspace
Set wrk = DBEngine.Workspaces(0)
Dim TestDatabaseForLinks As String
TestDatabaseForLinks = "C:\FileNameToCheck.mdb"
Set Dbs = wrk.OpenDatabase(TestDatabaseForLinks)
Set Tdfs = Dbs.TableDefs
For Each Tdf In Tdfs
If Tdf.Connect <> "" Then
Debug.Print "Table: " & Tdf.Name & " - Is Linked To: " & Tdf.Connect
Else
Debug.Print "Table: " & Tdf.Name & " is not linked"
End If
Next
If Not (Dbs Is Nothing) Then
Dbs.Close
Set Dbs = Nothing
Set Tdfs = Nothing
End If
End Sub
答案 1 :(得分:0)
将其移至另一个目录。链接表具有硬编码路径。
答案 2 :(得分:0)
不在数据库未使用时。在使用时,您应该看到LDB / LACCDB文件。您可以使用记事本打开它以查看工作站名称。
如果您使用的是Access安全性,您还会看到Access用户ID。否则你会看到“Admin”
使用记事本打开.ldb / .laccdb文件将向您显示当前在数据库中的人员以及数据库中的某些工作站。当一个人退出访问他们的工作站名称和访问登录ID时,除非您使用Access安全性,否则将留在“插槽”或ldb文件中的记录。下次有人进入MDB时,此插槽或记录可能会被覆盖,具体取决于ldb文件中之前可用的插槽或记录。
Determining the workstation which caused the Microsoft Access MDB corruption