1、关掉所有的连接
2、DBEngine.CompactDatabase "c:\源.mdb ", "c:\目的.mdb "
3、删除  源.mdb      
4、重命名  目的.mdb ---》源.mdb

解决方案 »

  1.   

    详细的压缩代码,请先引用DAO3.6,并且关闭所有连接:    '压缩数据库
        Dim OldFile As String    Dim NewFile As String
        
        OldFile = "数据库路径\数据库名.mdb" '待压缩数据库文件名    NewFile = "数据库路径\数据库名.mdb" '压缩后的数据库文件名
        
        '这是没有设置密码时候的语句
        'DBEngine.CompactDatabase OldFile, NewFile, , , ";"
        
        '这是设置了密码的语句
        DBEngine.CompactDatabase OldFile, NewFile, , , ";pwd=数据库密码"    Kill OldFile  '删除原来的数据库文件    Name NewFile As OldFile  '将压缩后的数据库文件名称改回去×××××××××××××××××××××××××××××可以将两个路径设置为同一路径,这样方便些。
      

  2.   

    这个我知道的,但我想能不能不用这个近似于拷贝的方法呢?我猜ACCESS里不用这样的方法吧,或许微软是否隐蔽了这个方法
      

  3.   

    想用程序代码来控制,我想这是唯一的方法。DAO是不可以自己压缩自己的,只能将把自身压缩成另一个文件。