2008-09-26 17 views
5

我正在使用MS Access數據庫。我對其中一個模塊做了一些修改。我想出去吃午飯,但是當我嘗試關閉數據庫時,我收到以下消息:沒有對數據庫的獨佔訪問權限,因此無法保存更改

「您沒有對數據庫的獨佔訪問權限,您的設計更改無法在此時保存。關閉而不保存更改?「

我很確定網絡上的其他人沒有打開數據庫文件,並且我沒有打開任何其他Access數據庫。我可能錯過了一些明顯的東西,但真的很感謝一些幫助!

更新:

在我複製所有代碼結束,關閉數據庫,而不保存,重新打開它,並粘貼代碼回我當時能保存數據庫。我不確定這是否是一次性的,但如果再次發生,我會報告。

回答

1

如果關閉數據庫並確定沒有其他人打開它,請檢查是否有.ldb文件(它與您的數據庫文件具有相同的名稱)。如果文件存在,那麼它很可能仍在使用中。 是否正在通過服務訪問,如網站?

您可以將數據庫複製到另一個子目錄並進行更改。如果這不起作用,我將不得不查看。當然,總是有數據庫工具「修復和壓縮數據庫...」

該文件是否位於文件服務器上?如果是這樣,請檢查是否有任何用戶有文件句柄。

如果它仍然不起作用,請用您的新信息更新您的文章,我們會繼續努力。

UPDATE(9/26): 另一件我做的事情時,訪問數據庫與包含VBA代碼的奇怪問題是反編譯。我不知道這是否有文件記錄,我沒有看過多年,但它是(至少)無證轉換到msaccess。

從cmd行開始:

將目錄切換到msaccess.exe所在的位置。
運行以下命令

MSACCESS \路徑訪問文件\ databasefile.mdb /編譯

通常運行非常快,然後打開數據庫。打開任何模塊並編譯。
並不總是有效,但有時可以消除奇怪的事件。

你有沒有試過將數據庫複製到另一個目錄並進行編輯?這應該起作用;您可以重命名原件並將其複製回來。
無論如何,我很高興你再次工作。

+0

謝謝 - 該文件位於我的硬盤驅動器上,沒有其他人訪問它。看起來很有希望的 – inglesp 2008-09-26 02:58:57

4

如果你確定沒有其他人在數據庫但你,它是從你自己的PC到你的數據庫的額外連接。您可以使用LDB查看器驗證這一點,可以在免費的JetUtils中下載。從微軟下載EXE:

http://support.microsoft.com/kb/176670

看你的代碼,並檢查您是否已經在默認工作區或工作區分開的另一個數據庫對象兩個獨立的數據庫對象。這會導致這個問題。

要修復它,確保數據庫對象在超出範圍之前設置爲空,並且如果在代碼中打開數據庫對象,則還需要在將數據庫對象設置爲空之前將其關閉。

+0

...明天當我回到辦公室時,我會看看。 – inglesp 2008-10-01 05:20:04

0

如果即使是單詞郵件合併鏈接到訪問數據庫,那也算作訪問連接。

+3

看起來像一個評論,而不是一個答案......你能詳細說明嗎? – paisanco 2015-06-15 22:43:43

0

很簡單。 關閉所有的MSaccess文件。 打開任務管理器(通過右鍵單擊任務欄)。 在此選擇進程選項卡。 如果列表中有一個msaccess * 32通過單擊「結束進程」關閉該進程。

這對我有效。我認爲它關閉了我們在代碼中沒有關閉的所有記錄集或者強制關閉的記錄集。

相關問題