谢谢

解决方案 »

  1.   

    1 导入Microsoft Jet and Replication Objects 2.6 Library
    2 use JRO_TLB;function TForm1.CompactAndRepair: Boolean;
    var
      oJetEng : JetEngine;
      sOldMDB, sNewMDB, sProvider, FFileName: string;
    begin
      ADOConnection1.Close;
      sProvider := 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123456;';
      sOldMDB := sProvider + 'Data Source=' + FFileName + ';';
      sNewMDB := sProvider + 'Data Source=' + FFileName + '.tmp' + ';';
      if FileExists(sNewMDB) then DeleteFile(sNewMDB);
      try
        oJetEng := CoJetEngine.Create;
        oJetEng.CompactDatabase(sOldMDB, sNewMDB);
        Result := DeleteFile(FFileName);
        if Result then
          Result := RenameFile(FFileName + '.tmp', FFileName);
        oJetEng := nil;
      except
        oJetEng := nil;
        Result  := False;
      end;
      ADOConnection1.Open;
    end;
      

  2.   

    导入Microsoft Jet and Replication Objects 2.6 Library
    在那里导,我怎么找不到,7.0里有,2006找不到菜单
      

  3.   

    Component->Import Component->选Import a Type Library-->next
      

  4.   

    OLE方法吧
    应该OK的不行就引入D7的AccessApplication