DiamondAccess控件组里有此功能,自己找一下吧。

解决方案 »

  1.   

    delphi猛料里就有代码
    http://www.kingron.myetang.com/
      

  2.   

    www.delphibbs.com里面有DIAMAONDACCESS控件
      

  3.   

    DiamondAccess控件组里好象没有这功能吧
      

  4.   

    如果用DAO的话只能压缩没密码的数据库。不知道有谁知道如何做.以下是抄来的东东,不知道是从哪来的,不好意思。function CompressAccessDB(DBName:string):Boolean;
    var
      JetEngine:OleVariant;
      tmpName:string;
    begin
      Result := False;
      if not FileExists(DBName) then Exit;
      tmpName:= '_cd1010.mdb';
      try
        JetEngine := CreateOleObject('JRO.JetEngine');
      except
        Exit;
      end;
      try
        JetEngine.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
          + DBName,'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + tmpName);
      except
        Exit;
      end;
      if DeleteFile(PChar(DBName)) then
        if RenameFile(tmpName,DBName) then
          Result := True;
    end;