uses ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
X:OleVariant;
sourcefiles,tempfiles:string;
begin
sourcefiles:='E:/xll/model.mdb';
tempfiles:='E:/xll/temp.mdb';
try
X := createoleobject('JRO.JetEngine');
X.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+sourcefiles,'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+tempfiles);
deletefile(sourcefiles);
renamefile(tempfiles,sourcefiles);
Messagedlg('OK!',mtwarning,[mbok],0);
if fileExists(sourcefiles) and FileExists(tempfiles) then
if deleteFile(sourcefiles)then RenameFile(tempfiles,sourcefiles);
exit;
except
Messagedlg('主数据库正在被他人或应用程序使用,请稍后再试!',mtwarning,[mbok],0);
end;
end;