我用 DiamondAccess 操作 ACCESS 的数据库 (快, 好用. 发布方便 )
就用这样的代码就办了.
我也是在这找来的. 你看看好不好用.
对了. 我的 数据库是 ACCESS 2000
procedure Tfmmain.N32Click(Sender: TObject);
begin
if Application.MessageBox('是否要压缩数据库(inv.mdb)?!', '提示', 48 + mb_OkCancel + MB_DEFBUTTON2) = IDOK then
begin
dm_main.DAODb_main.Close;
dm_main.DAODb_main.Connected := False;
if __DBEngine36 = nil then CreateEngine(Dao36, '');
__DBEngine36.CompactDatabase('inv.mdb', 'invtemp.mdb', ';pwd=userpass', 0, '; pwd=userpass');
DeleteFile('inv.mdb');
RenameFile('invtemp.mdb', 'inv.mdb');
dm_main.DAODb_main.Open;
Application.MessageBox('压缩数据库成功!', '提示', 48 + mb_ok);
end;
end;