我有一箇舊的Access數據庫與過多的查找表。據說這是一堆其他一些部門訪問應用程序鏈接到一個倉庫。我們想殺死它。但是,id有一種方法來查明是否有任何應用程序目前與其鏈接?有沒有辦法判斷另一個Access數據庫是否與我的鏈接?
回答
將其移動到另一個目錄。鏈接表具有硬編碼路徑。
數據庫未使用時不可使用。當它在使用中時,你應該看到一個LDB/LACCDB文件。您可以用記事本打開它以查看工作站名稱。
如果您使用Access安全性,您還將看到Access用戶標識。否則,您將看到「Admin」
使用記事本打開.ldb/.laccdb文件將向您顯示當前在數據庫中的人員以及數據庫中的一些工作站。當某人退出訪問他們的工作站名稱和訪問登錄ID時,管理員(除非您使用的是Access安全性)留在「插槽」或記錄在ldb文件中。此插槽或記錄可能會在下次有人進入MDB時被覆蓋,具體取決於ldb文件中之前可用的插槽或記錄。
Determining the workstation which caused the Microsoft Access MDB corruption
您需要的完整路徑和所有Access應用程序的文件名;這可能是不可能的。
對於那些可以,遍歷所有文件:
- 連接到每個數據庫來測試鏈接。
- 循環遍歷TestForLinkDatabase.TableDefs中的所有表格
- 檢查每個表是否存在.SourceTableName和.Connect = YourLookupTableWarehouse。我認爲SourceTableName是本地表的空字符串。
- 跟蹤#3。如果在其他文件中找到單個實例,則可以選擇停止檢查其餘表。
同樣,它並不是萬無一失的,但是對於掌握浮動在您公司周圍的所有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)您將需要遍歷所有服務器文件夾以查找MDB/ACCDB,並且您將錯過本地工作站上的一些文件夾。 2)這可能會觸及MDB文件的日期,因此如果將來有人正在查看用戶最後一次MDB被觸摸的時間,這可能會引起誤解。 3)非Access訪問鏈接如Excel,Word,C#,VB.Net等? – 2011-03-19 03:13:17
@Tony Toews--我認爲這符合企業希望自己擺脫文件而不是永遠等待的典型場景(有些例程只在年底運行)。 1)檢查有權訪問該文件的本地工作站2)目標是殺死/消除未來的使用情況。 3)同意,但問題只是要求訪問文件,我的回答沒有誤導。 – JeffO 2011-03-19 11:45:21
對不起,我對誤導性的評論是由於MDB/ACCDB文件的日期觸及當前日期和時間的可能性。因此,如果有人稍後想查看上次使用文件的時間,這會引起誤解。因此,您可能需要將MDB複製到臨時文件夾,然後對其進行分析。 – 2011-03-19 20:49:48
- 1. 有沒有辦法判斷一個類是否是一個接口?
- 2. 有沒有辦法判斷一個活動是否開始?
- 3. 有沒有辦法判斷表是否在另一個數據庫/服務器中被引用?
- 4. 有沒有辦法判斷所有驗證器是否滿足?
- 5. 有沒有辦法鏈接/連接兩個MS SQL數據庫?
- 6. 有沒有辦法判斷x-sendfile是否已經啓動?
- 7. 有沒有辦法判斷ReactElement是否呈現「null」?
- 8. 有沒有辦法判斷聲音是否正在播放?
- 9. 有沒有辦法判斷是否收到LocalBroadcastManager廣播?
- 10. 有沒有辦法判斷是否顯示軟鍵盤?
- 11. 有沒有辦法判斷Safari是否全屏? (例如document.fullscreenElement)
- 12. 有沒有辦法判斷默認流是否打開?
- 13. 有沒有辦法判斷一個與ImageView相關的Drawable是Vectorial?
- 14. 有沒有辦法判斷有線耳機是否連接到手機
- 15. Rails3 - 有沒有辦法判斷哈希鏈接(內部鏈接)是否已被使用?
- 16. 有沒有辦法判斷java中是否有代碼沒有被使用?
- 17. 有沒有辦法判斷一個ActiveRecord查詢打了極限
- 18. 有沒有辦法判斷sdcard是否已安裝或根本沒有安裝?
- 19. 有沒有辦法判斷對象是類還是對象?
- 20. 有沒有辦法判斷一個枚舉是否只有一個,多個或不設置標誌?
- 21. 有沒有辦法鏈接querySelectorAll與getElementsByTagName?
- 22. 有沒有辦法判斷兩個COM接口引用是否指向同一個實例?
- 23. MS Access - 在另一個Access數據庫中查詢的鏈接
- 24. 有沒有辦法在mysql數據庫中創建鏈接表?
- 25. 有沒有辦法判斷它已經與find_or_create_by
- 26. 鑑於任意收集,有沒有辦法判斷它是否有序?
- 27. 有沒有辦法判斷電子郵件是否有OneDrive附件?
- 28. 有沒有辦法判斷宏展開是否會看到詞法上下文?
- 29. 有沒有辦法檢查一個文件是否是SQLite3數據庫?
- 30. 有沒有簡單的方法來判斷一個類/結構是否沒有數據成員?
另一種方法是在其原始位置刪除NTFS權限。 – 2011-03-19 19:52:51