补充
var
dao:OLEVariant;
sTempDBname:string;
begin
result:=true;
screen.Cursor:=crHourGlass;
stempdbname:=changefileext(fn,'.tmp');
if fileExists(stempDBName) then DeleteFile(sTempDBName);
dao:=CreateOLEObject('DAO.DBEngine.36');
try
try
dao.compactDatabase(fn,sTempDBName,'',0,';pwd=dltjy');
DeleteFile(fn);
RenameFile(sTempDBName,fn);
except
on e:Exception do begin
result:=False;
MessageDlg('数据库压缩修复失败!!'+#13+#13+e.Message,mtError,[mbOK],0);
end;
end;
finally
dao:=Unassigned;
end;
screen.Cursor:=crDefault;
end;