要修復Access數據庫,我們壹般使用Access 97配合Microsoft Office 97來修復和組織數據庫。Access數據庫在以下情況下損壞:1,嚴重損壞;2.輕微損壞;3.某些表損壞或某些表的某些記錄損壞。下面是根據情況的解決方法。
1,使用Access97無法打開數據庫,系統提示“無法識別數據庫格式”或“不是本表索引”等信息。這樣的數據庫被嚴重破壞。壹般來說,嚴重損壞的數據庫無法修復,只能恢復備份。幸運的是,這種情況很少見。
2.如果數據庫損壞不嚴重,只需使用Access 97菜單上的“修復數據庫”和“壓縮數據庫”即可修復數據庫。因為當數據庫輕微損壞時,不會導致軟件出現任何問題,所以不會引起人們的註意。只有當數據庫的壹個或幾個表損壞時,軟件才會變得不穩定,所以這種情況是我們經常遇到的。
3.如何確定數據庫中哪些表有問題?首先,我們使用Access 97建立壹個空數據庫,使用系統提供的“導入數據庫”功能,選擇目標數據庫中的所有表進行導入。當Access 97導入到有問題的表中時,系統會提示壹些錯誤信息,並記下這個表的名稱,以便以後修復。
接下來,使用Access97打開有問題的數據庫,準備修復表。損壞桌子的修復方法根據桌子損壞程度的不同而不同,處理方法介紹如下:
1.表格損壞嚴重,顯示無法打開表格,系統提示“Microsoft jet找不到對象”、“無讀寫權限”或“無法識別”。
解決方法:這種表已經損壞得很嚴重,無法修復了。如果這個表不是很重要或者下面的表的內容通常是空的,比如“常用憑證表”、“科目* * *享受鎖表”或者“憑證* * *享受鎖表”,我們可以通過導入的方法從其他數據庫導入表,然後刪除有問題的表。
2.表格中有些行非常混亂或者字段中標註了“# Deleted”字樣,但是當要刪除這些記錄時,會出現錯誤信息,不允許刪除。
解決方法:由於這些記錄是不允許刪除的,我們可以使用SQL語句將沒有問題的記錄復制到壹個新表中,然後刪除舊表,更改新表的名稱。例如,如果憑證和明細賬表GL _ ACC vault中有錯誤,有些記錄無法刪除,我們可以使用下面的SQL語句將好的記錄復制到GL_ACCTEMP中:
選擇GL _ ACC bucket。*導入GL_ACCTEMP
FROM GL _ ACC bucket WHERE {篩選條件}
然後刪除表GL _ ACC bucket,然後將表GL_ACCTEMP
將名稱改為GL _ ACC bucket可以解決這個問題。
修復ACCESS數據庫的註意事項:首先,修復數據庫前壹定要做好備份,防止數據丟失或損壞;有些數據庫有壹個關系來維護數據的壹致性,但是當數據庫出現異常時,相關表的關系就會丟失。修復數據庫後,必須重新連接關系,有些軟件可以自動修復關系。比如ERP8的數據庫。用友的XX系列產品可以將accinformation表中的[cSysid]='AA '、[item number ]='99 '的記錄改為' 8.0A0 ',重新進入系統時系統會自動升級重建索引。