適用:Access2000
由於ACCESS97(或更早的版本)無法開啟以ACCESS2000制作的檔案,故如同以往歷次改版,若要完全發揮Access2000之功能,讀者須考慮將舊版數據庫轉換至2000,請見以下說明:
一、共用數據表
不論數據庫為何種版本,數據表皆是可共用的資源,如ACCESS97數據庫可連結來自Access2000數據庫中的數據表,所以若環境內不是每一位使用者皆已升級至Access2000,又為保持數據正確,可將數據表做為共用。
二、ACCESS2000轉換至Access97
這是ACCESS歷次改版中,第一次提供新版轉舊版的功能,讀者可在開啟數據庫後,使用〖工具〗->〖數據庫工具〗->〖轉換數據庫〗->〖轉換ACCESS97文件格式〗。但轉換後的數據庫,不保證可在Access97中一切正常,因為數據庫在2000中若使用了97版不支持的新功能,將會在轉換後發生錯誤。
三、不支持的程序庫
若讀者轉換Access7.0的數據庫,且在VBA中使用DAO處理數據庫,則會在轉換時發生錯誤,因為Access2000不支持DAO2.5/3.X的程序庫。
解決方法是,在轉換後開始Visual Basic編程器,使用〖工具〗->〖設定引用項目〗選項,在此清除遺漏的DAO2.5/3.X程序庫,再引用DAO3.60程序庫。
四、程序碼
在程序碼部分,若轉換Access2.0數據庫,且在數據庫中以Declare陳述式宣告使用API函數,則所有此類函數在轉換後均須重新宣告,仍是使用Declare陳述式,但每一函數有新的語法。因為Access2.0是使用WIN16 API,而目前者是WIN32 API。
此外,在Access2000的VBA中,有些屬性及函數傳回值有較嚴格的分類,通常是舊版傳回值類型為Variant者轉換為字串,故有可能在執行時發生錯誤,讀者可在轉換完成後,開啟Visual Basic編程器,在此使用〖偵錯〗->〖編譯〗選項,查看有無錯誤,最常發生的錯誤是〖類型不符〗或〖Null的使用不正確〗等,此時可檢查處理的屬性或函數傳回值是否正確。
說明:
以上僅列出較常見或可能發生的錯誤,一般而言,ACCESS2000與ACCESS97之差異不大,將97轉換至2000應無太大問題,問題較多的是ACCESS2.0及7.0版,因為這兩個版本不是32位版本,加上Access2.0不支持VBA,故問題較多。