[ mzarko @ 07.01.2006. 12:07 ] @
Kada se vrsi kompakcija Access baze pomocu dole navedene funkcije u Delphiju, a Access baza ima sifru npr. (mm) na koji nacin treba upisati sifru da bi mogla da se izvrsi kompakcija baze.

function KompakcijaBaze
(const sdbName: WideString) : boolean;
var
JE : TJetEngine;
sdbTemp : WideString;
sdbTempConn : WideString;
const
SProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=';
begin
Result:=False;
sdbTemp := ExtractFileDir(sdbName) +
'TEMP' +
ExtractFileName(sdbName);
sdbTempConn := SProvider + sdbtemp;
if FileExists(sdbTemp) then
DeleteFile(sdbTemp);
JE:= TJetEngine.Create(Application);
try
try
JE.CompactDatabase(SProvider + sdbName, sdbTempConn);
DeleteFile(sdbName);
RenameFile(sdbTemp, sdbName);
except
on E:Exception do
ShowMessage(E.Message);
end;
finally
JE.FreeOnRelease;
Result:=True;
end;
end;