現在Microsoft發現了這個問題了,也提供了解決方法,不過有版本上的限制!限制說明如下:
ActiveXDataObjects(ADO),version2.1
MicrosoftOLEDBProviderforJet,version4.0
這是Microsoft提出的ADO的延伸功能:MicrosoftJetOLEDBProviderandReplicationObjects(JRO)
這個功能在JETOLEDBProviderversion4.0(Msjetoledb40.dll)及JROversion2.1(Msjro.dll)中第一次被提出!
這些必要的DLL文件在您安裝了MDAC2.1之後就有了,您可以在以下的網頁中下載MDAC的最新版本!
UniversalDataAccessWebSite
在下載之前先到VB6中檢查一下,【控件】【設定引用項目】中的MicrosoftJetandReplicationObjectsX.Xlibrary假如已經是2.1以上的版本,您就可以不用下載了!
在您安裝了MDAC2.1或以上的版本之後,您就可以使用ADO來壓縮或修復MicrosoftAccess文件,下面的步驟告訴您如何使用CompactDatabaseMethod來壓縮MicrosoftAccess文件:
1、新建一個新表單,選擇功能表中的【控件】【設定引用項目】。
2、加入MicrosoftJetandReplicationObjectsX.Xlibrary,其中(X.X大於或等於2.1)。
3、在適當的地方加入以下的程序代碼,記得要修改datasource的內容及目地文件的路徑:
DimjroAsjro.JetEngine
Setjro=Newjro.JetEngine
jro.CompactDatabase"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\nwind2.mdb",_'來源文件
"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=d:\abbc2.mdb;JetOLEDB:EngineType=4"'目的文件
在DAO3.60之後,RepairDatabaseMethod已經無法使用了,以上的程序代碼顯示了ADOCompactDatabaseMethod的用法,而它也取代了DAO3.5時的RepairDatabasemethod!