解讀幾種修復ACCESS數據庫的實用方法_Access數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何獲取access數據庫中表的個數及名稱
      以下為引用的內容: '功能:獲取access庫中表的個數及表的名稱 '用ado怎樣實現 '工程--->引用--->Microsoft ActiveX Data Object 2.x(版本

      修復Access數據庫,我們一般使用微軟Office 97中帶的Access 97對數據庫進行修復和整理。Access數據庫被損壞分以下幾種情況:1、嚴重損壞;2、輕度損壞;3、有些表被損壞或有些表的部分記錄被損壞。下面就分情況介紹解決辦法。

      1、使用Access97打不開數據庫、系統提示"不可識別的數據庫格式"或"不是該表的索引"等信息,這樣的數據庫都是損壞比較嚴重的。損害嚴重的數據庫一般來說都是無法修復的,只有恢復備份了,好在這種情況比較少見。

      2、如果數據庫損壞的不嚴重,只需要使用Access 97菜單上的“修復數據庫”和“壓縮數據庫”就可以把數據庫修復好。因為數據庫輕微損壞的時候,一般也不會導致軟件出什么問題,所以也不會引起人的注意,只有當數據庫的某一個或幾個表損壞了的時候,才會使軟件變得不穩定,所以這種情況才是我們最常遇到的。

      3、如何確定數據庫中哪幾個表有問題呢,我們首先利用Access 97建立一個空數據庫,利用系統提供的“引入數據庫”功能,選擇目標數據庫所有的表進行引入,Access 97當引入到有問題的表時系統會提示一些錯誤信息,把這個表的名字記下來以備以后修復時使用。

      接下來利用Access97打開有問題的數據庫,準備修復表。修復損壞的表的方法依照表損壞程度不同而不同,下面分情況介紹處理的辦法:

      一、表損壞的非常嚴重,表現為無法打開表,系統提示“Microsoft jet 找不到對象”、“沒有讀寫權限”或“不可識別”等信息。

      處理方法:這種表的已經損壞得非常嚴重了,一般無法修復。如果這個表不很重要或通常情況下表的內容為空的話,例如“常用憑證表”、“科目共享鎖定表”或“憑證共享鎖定表”,我們可以通過引入的方法把其他數據庫的表引入,然后把有問題的表刪除即可。

      二、表中有幾行內容非;靵y或字段內標有“#已刪除”字樣,但當要刪除這些記錄時就會出現錯誤信息不許刪除。

      處理辦法:既然不讓刪除這些記錄,我們可以通過使用SQL語句把沒有問題的記錄復制到一個新的表中,然后把老表刪除把新表的名字改過來即可。例如“憑證及明細賬表GL_ACCVOUCH”中有錯誤記錄有無法刪除,我們可以使用如下SQL語句把好的記錄復制到GL_ACCTEMP中:

      SELECT GL_ACCVOUCH.* INTO GL_ACCTEMP

      FROM GL_ACCVOUCH WHERE {篩選的條件}

      然后刪除表GL_ACCVOUCH,再把表GL_ACCTEMP的

      名字改為GL_ACCVOUCH即可解決問題。

      修復ACCESS數據庫的注意事項,首先,我們在修復數據庫前一定要做好備份,以防數據丟失或損壞;有一些數據庫中有RELATION(關系)來維護數據的一致性,但當數據庫異常后相關表的RELATION也就丟失了,在修復好數據庫后一定要把RELATION再聯好,有些軟件可以自動修復RELATION,比如用友公司的ERP8.XX系列產品的數據庫可以通過把表accinformation中的[cSysid]='AA' and [項目號]='99'的記錄,把[設置值]和[缺省值]改為'8.0A0',重新進入系統時,系統會自動升級并重建索引。

      分享:談Access:數據轉換問題
      使用access數據庫時可能用到的數據轉換: 類型轉換涵數: 函數 返回類型 expression 參數范圍 CBool Boolean 任何有效的字符串或數值表達式。 CByte Byte 0 至 255。 CCur C

      來源:模板無憂//所屬分類:Access數據庫教程/更新時間:2009-08-17
      相關Access數據庫教程