您的數據庫曾被破壞過,很難判斷是否有可能從中恢復您的缺失報告。
恢復您的更改的唯一100%安全方法是在發生損壞之前進行最近的備份。
但是,當用戶訪問數據庫和時,網絡中斷絕對有可能同時在報告中進行了更改,導致文件損壞。
我知道,它不會幫助你的權利,但這裏是未來的一些建議:
你應該考慮在前端拆分Access數據庫(其中包含的形式,報告和代碼)和後端(僅包含表)。
後端將位於中央機器上,每個用戶將擁有自己的前端副本。
當然拆分數據庫,並確保前端會自動更新用戶的機器將需要一些初步的工作,但你會從中得到兩個好處作者:
- 當你在前面工作 - 結束,您正在使用本地計算機,因此受網絡中斷影響較小。
- 後端更不可能被損壞。由於您不幸遇到過自己,在同一時間在生產環境中使用的Access數據庫中更改報告,表單和代碼可能會導致問題。
另外,即使您無法在計算機上設置備份和恢復,也應該更頻繁地備份您的工作。我通過手動複製Access數據庫來每天多次執行此操作(一旦您習慣了,您將自動執行此操作,而無需考慮)。
編輯:
好吧,這是不是真的從這個問題您的數據庫是分成前端和後端清楚。
網絡中斷的東西讓我覺得你正在編輯「唯一的中央數據庫」。
我不記得自己曾經經歷過類似的事情,所以我可以猜測你可以做什麼現在。這在我腦海
的一件事是你可以嘗試導出報表(因爲你知道他們的名字)與無證SaveAsText
和LoadFromText
命令到文本文件:
'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
其實,我的數據庫完全是這種格式。它是前端數據庫(包含報告,查詢和表單)崩潰,但唯一刪除的項目是報告(全部)。 – jerry
@Jerry:再次閱讀我的答案,我添加了很多東西! –