引用Microsoft Dao 3.6 Object Library对象
以下是代码:
Dim Db As DBEngine
Set Db=New DBEngine
Db.CompactDatabase App.Path & "\Data\Db.mdb",App.Path & "\Tmp.mdb" 执行完后打开mdb,发现数据都没了,只有一个MSyscompactError的表,Errorcode是-1003,无效的参数量,求教错在哪里呀?

解决方案 »

  1.   

    引用 DAO
            set dbe=new DBEngine();
            call dbe.CompactDatabase(dbPath, dbPath+".cpt")
      

  2.   

    Sorry。 你的写法没有错。 可能要引用 DAO 4.0
      

  3.   

    DAO4.0在哪里有,只有3.6、3.51、2.5/3.51,我打了SP6了
      

  4.   

    DBEngine.CompactDatabase App.Path & "\Data\Db.mdb", App.Path & "\Tmp.mdb"代码应该没有问题。检查一下 App.Path 的内容。
      

  5.   

    '安装Microsoft ActiveX Data Objects 2.X library  (X为1以上)
    '引用Microsoft Jet and Replication Objects 2.X library
    Dim jro As jro.JetEngine
    Set jro = New jro.JetEngine
    jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test\test.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test\new.mdb;"
    'Jet OLEDB:Engine Type=4