xxx.mdb-你要压缩的数据库
begin
adoconnection1.Close; //压缩是以独占方式进行的;压缩前要关闭数据库连接。
screen.Cursor := crHourGlass;
try
dao := CreateOleObject('DAO.DBEngine.36'); //access2000要用dao3.6,在access97上用35和36都可以
dao.CompactDatabase('xxx.mdb', 'temp.mdb');
DeleteFile('xxx.mdb');
RenameFile('temp.mdb', 'xxx.mdb');
except
MessageBox(0, '压缩失败,没安装OFFICE2000或其它程序也打开了此数据库,请安装OFFICE2000或退出其它程序后再试。', '错误', MB_ICONERROR);
end;
adoconnection1.Open;
ADOQuery1.Active := true;
screen.Cursor := crDefault;
Showmessage('本地数据库压缩完成');
end;