我用ACCESS建立了一个数据库,我把其中两张表里的数据清空了,但是数据库文件的大小为什么还是没变,还更以前一样?

解决方案 »

  1.   


    在菜单栏中的工具/数据库实用工具/中的压缩和修复数据库运行一下即可,这是因为ACCESS并没有把已删文件的空间释放出来。
      

  2.   

    TO lovend(颓废之吻):    这是ACCESS造成的还是程序导致?谢谢了。
      

  3.   

    个人意见:
        我想是ACCESS本身的限制吧,当然也是程序考虑不够周全,必尽其它数据库都有专门的程序来处理数据库,只有在自己的程序中添加一个压缩功能就行了
      

  4.   

    to blns(骑士007):
    请教如何在程序里添加压缩ACCESS数据库容量的功能呢?
      

  5.   

    //压缩Access表procedure CompactDb(DbPath, DbName, Password: string);
    var
      jt: TJetEngine;
    begin
      jt := TjetEngine.Create(nil);
      try
        jt.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbPath + DbName + ';Jet OLEDB:DataBase PassWord=' + Password,
          'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbPath + 'Dest.mdb;Jet OLEDB:DataBase PassWord=' + password);
        DeleteFile(DbPath + DbName);
        RenameFile(DbPath + 'Dest.mdb', DbPath + DbName);
      finally
        jt.Free;
      end;
    end;