{$R *.dfm}
uses ComObj;
//压缩和修复Access数据库
procedure TForm1.Button1Click(Sender: TObject);
var Dao:OleVariant;
OldDB,NewDB:String;
begin
OldDB:='f:\mcmygs.mdb';
NewDB:=SysUtils.ChangeFileExt(OldDB,'.tmp');
//DAO.DBEngine.35 (Access 97)
//DAO.DBEngine.36 (Access 2000)
Dao:=ComObj.CreateOleObject('DAO.DBEngine.36');
try
Dao.CompactDataBase(OldDB,NewDB,,,';Pwd=123456'); //压缩和修复数据库,并修改密码
//EmptyParam: OleVariant;
//=Dao.CompactDataBase(OldDB,NewDB,EmptyParam,EmptyParam,';Pwd=123456');
SysUtils.DeleteFile(OldDB);
SysUtils.RenameFile(NewDB,OldDB);
finally
Dao:=Unassigned;
end;
end;