access里有备注字段和old字段。以前保存了一些数据。使数据库有几十M,现在我已经把记录全部删了,但为什么文件的体积一点都没有小。
解决方案 »
- delphi BDE 返回数据问题!望指点!!!!!
- 散分100
- 谁有著名的短信AT指令集,50分求一份,谢谢~~~~~~~~~~
- listview如何根据自己宽度,来自动的调整每行显示的ICON个数,
- 请教大侠们,我的SQL语句错在哪里?
- 大筆數據運算時的小問題~
- 怎样用delphi编一个10选7的组合??
- 高分求教
- 一个ADO的问题,送上38分!
- 高手求购一个关于动态报表实例源码,不要Delphi自带的!我想参考学习[email protected],发了请回复一下,便于加分!
- 大虾们我用adoquery控件删除数据库记录时出现list index out of bounds(0),请问是何原因啊
- TstringGrid
unit AccessTools;interfaceuses Sysutils, ComObj, Dialogs, Variants;function DaoActive(var DaoObject:OleVariant):Boolean;
function CompactMDB(const FileName:string):Boolean;
function RepairMDB(const FileName:string):Boolean;
function CreateMDB(MDBName: string):Boolean;implementationfunction DaoActive(var DaoObject:OleVariant):Boolean;
begin
Result:=False;
try
DaoObject:=GetActiveOleObject('DAO.DBEngine.36');
Result:=True;
except
try
DaoObject:=CreateOleObject('DAO.DBEngine.36');
Result:=True;
except
DaoObject:=Null;
end;
end;
end;//Compact Access MDB file
function CompactMDB(const FileName:string):Boolean;
var
db:OleVariant;
TempFile:string;
begin
Result:=False;
try
if not DaoActive(db) then
Exit;
try
TempFile:=ExtractFilePath(FileName)+'~msaTemp.mdb';
db.CompactDatabase(FileName,TempFile);
DeleteFile(FileName);
RenameFile(TempFile,FileName);
Result:=True;
except
on E:EOleException do
ShowMessage(E.Message);
end
finally
db:=Unassigned;
end;
end;// Repair Access MDB file
function RepairMDB(const FileName:string):Boolean;
var
db:OleVariant;
begin
Result:=False;
try
if not DaoActive(db) then
Exit;
try
db.RepairDatabase(FileName);
Result:=True;
except
on E:EOleException do
ShowMessage(E.Message);
end
finally
db:=Unassigned;
end;
end;// Create Access MDB file
function CreateMDB(MDBName:string):Boolean;
var
CreateAccess: OLEVariant;
begin
Result:=False;
try
CreateAccess:=CreateOleObject('ADOX.Catalog');
try
CreateAccess.Create(Format('Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s', [MDBName]));
finally
CreateAccess:=Unassigned;
end;
Result:=True;
except
on E:EOleException do
ShowMessage(E.Message);
end;
end; end.