Усё народ, разобрался, вот для тех кто не знает кусок кода:
| Код | Const Provider = 'Provider=Microsoft.Jet.OLEDB.4.0;'; Var tmpFile: String; jro: Variant; Src,Dest : WideString; begin Src:= Provider + 'Data Source=' + fFileName; tmpFile:= GetTmpFileName(); Dest := Provider + 'Data Source=' + tmpFile; if fPassword<>'' then begin Src := Src + ';Jet OLEDB:Database Password=' + fPassword; //p1 Dest := Dest + ';Jet OLEDB:Database Password=' + fPassword; //p2 end;
jro:= CreateOleObject('jro.JetEngine'); try jro.CompactDatabase(Src,Dest); finally jro:= 0; end; DeleteFile(PChar(fFileName)); RenameFile(tmpFile, fFileName);
|
fFileName - Полное имя файла текущей БД fPassword - Пароль к БД (если его нет, то строки p1 и p2 не нужны) |