在上述代码中已经包括了修复数据库,不过,我在使用过程中发现,因为引用JetEngine不支持中文,所以压缩了之后,ACCESS中与中文代码页相关的东西全部会丢失。所以直到现在,我还不敢用ACCESS2000做库……
上面的原因应该是你使用了中文字段名或者内含中文,所以会有丢失的问题。
最后我自己解决这个问题的方法是使用ACCESS97,并且还是打开工作空间来压缩与修复数据库(调用DAO3.51)来解决的。
上面的原因应该是你使用了中文字段名或者内含中文,所以会有丢失的问题。
最后我自己解决这个问题的方法是使用ACCESS97,并且还是打开工作空间来压缩与修复数据库(调用DAO3.51)来解决的。
Dim fs
dbs.Close
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(App.Path & "\backup\newmlc.mdb") Then fs.DeleteFile App.Path & "\backup\newmlc.mdb"
DBEngine.CompactDatabase App.Path & "\mlc.mdb", App.Path & "\backup\newmlc.mdb"
Dim fs2
Set fs2 = CreateObject("Scripting.FileSystemObject")
If fs2.FileExists(App.Path & "\mlc.mdb") Then fs2.DeleteFile App.Path & "\mlc.mdb"
fs2.copyfile App.Path & "\backup\newmlc.mdb", App.Path & "\mlc.mdb"
Set dbs = OpenDatabase(App.Path & "\mlc.mdb")
MsgBox "数据库压缩成功", 64, "压缩完成"
反正我用ACCESS97(中文字段)+ DAO成功了。