2011-11-08 40 views
1

好的,所以我在MS Access數據庫中有幾百個報告(是的,這是一個大項目,是的,我們應該切換到SQL Server)。我昨天正在處理其中一個報告,並突然與網絡斷開連接。我在工作中遇到了很多網絡中斷,我認爲這與所有報告的突然消失有關。我從來沒有管理員權限在我的機器上設置備份和還原,並且必須自己手動備份數據庫。我在MS Access中的所有報告突然被刪除

我最近的版本是從一個星期前,但我從那以後做了很多工作。我的問題是,是否突然斷開與網絡(以及隨後的工作數據庫)的連接,可能導致刪除,以及是否可以在未設置「備份和還原」的情況下還原數據庫我的電腦。

請幫忙。

編輯:我的數據庫是前端/後端格式。這是前端數據庫(包含報告,查詢和表單)崩潰,但唯一刪除的項目是報告。

回答

0

您的數據庫曾被破壞過,很難判斷是否有可能從中恢復您的缺失報告。

恢復您的更改的唯一100%安全方法是在發生損壞之前進行最近的備份。

但是,當用戶訪問數據庫時,網絡中斷絕對有可能同時在報告中進行了更改,導致文件損壞。


我知道,它不會幫助你的權利,但這裏是未來的一些建議:

你應該考慮在前端拆分Access數據庫(其中包含的形式,報告和代碼)和後端(僅包含表)。

後端將位於中央機器上,每個用戶將擁有自己的前端副本。

當然拆分數據庫,並確保前端會自動更新用戶的機器將需要一些初步的工作,但你會從中得到兩個好處作者:

  1. 當你在前面工作 - 結束,您正在使用本地計算機,因此受網絡中斷影響較小。
  2. 後端更不可能被損壞。由於您不幸遇到過自己,在同一時間在生產環境中使用的Access數據庫中更改報告,表單和代碼可能會導致問題。

另外,即使您無法在計算機上設置備份和恢復,也應該更頻繁地備份您的工作。我通過手動複製Access數據庫來每天多次執行此操作(一旦您習慣了,您將自動執行此操作,而無需考慮)。


編輯:

好吧,這是不是真的從這個問題您的數據庫分成前端和後端清楚。
網絡中斷的東西讓我覺得你正在編輯「唯一的中央數據庫」。

我不記得自己曾經經歷過類似的事情,所以我可以猜測你可以做什麼現在。這在我腦海

的一件事是你可以嘗試導出報表(因爲你知道他們的名字)與無證SaveAsTextLoadFromText命令到文本文件:

'save your report in a text file on your disk 
Application.SaveAsText acReport, "YourReport", "c:\YourReport.txt" 

'load your report from the text file in another Access database 
Application.LoadFromText acReport, "YourReport", "c:\YourReport.txt" 

但是,這只是一個想法,所以我不知道這是否適用於你的情況。
也許報告仍然存在(並且由於某種原因只是沒有顯示),那麼它可能工作。

對不起,我再說一遍,但是:
老實說,我沒有很多修復損壞的數據庫的經驗(不是Access,也沒有SQL Server,對此我負責工作! ),因爲我非常努力地嘗試從來沒有通過經常採取備份來像你的情況。 LOTS其中(因爲這個原因我被同事稱爲「偏執狂」)。


編輯2:

我剛剛看了你的留言phoog的回答損壞的數據庫是在網絡上(即您編輯它,而它是在網絡上)。

建議爲未來:
永遠不要做這個,對於phoog已經在他的回答中提到的原因。如果數據庫已經分割成前端和後端,請製作前端的副本並在本地機器上進行編輯,以防止這種情況再次發生。

另外,如果包含報告的前端被多個用戶使用,請不要讓它們在網絡上的相同文件上工作(出於同樣的原因)。
讓每個用戶擁有自己的副本非常容易,包括在有新版本的前端時自動更新。
你可以讀到這裏,我如何在工作中這樣做:
How to automatically update MS-Access 2007 application

+0

其實,我的數據庫完全是這種格式。它是前端數據庫(包含報告,查詢和表單)崩潰,但唯一刪除的項目是報告(全部)。 – jerry

+0

@Jerry:再次閱讀我的答案,我添加了很多東西! –

0

你的問題留下了幾個要點:

應用程序如何設置? MDB是否包含網絡上的報告? 表是在同一個文件或另一個? 如果表格在另一個文件中,它位於何處?

當網絡連接不穩定時,訪問非常容易出現數據丟失和文件損壞。有關更多信息,請參閱http://support.microsoft.com/kb/303528(「網絡環境的其他最佳實踐」一節)。

這篇文章(「如何排除故障和修復損壞Access 2002或更高版本的數據庫」 http://support.microsoft.com/kb/283849)中的信息可以幫助

,你必須在網絡上應該已經通過您的網絡管理員備份的任何文件,所以在你丟失你的報告之前,請向他們提供最近的備份。幸運的是,這將比您最近的備份更新。

+0

嘿phoog,包含報告的數據庫在網絡上。但是,它只與後端數據庫中的表(也在網絡上)相關聯,但實際上並沒有它自己的表。在閱讀第一篇文章後,我不確定我的設置是否被認爲是「高壓力」,因爲我沒有將Access與任何其他應用程序一起使用,但是我可以看到環境本身如何被標記爲高壓力我有3或4個不同的前端連接在任何給定的時間。也許這也與它有關。我會盡力解決問題。感謝您的鏈接 – jerry

+1

事實上,MDB(或ACCDB,我應該早些時候說過)在網絡上是漏洞的來源,因爲*寫入文件的進程在您的計算機上*,即使前端和後端文件位於相同的網絡位置。所以危險的是連接可能會在寫入操作中斷,導致文件處於損壞狀態。 – phoog