参考:
《如何恢复已经删除的记录;如何恢复已经删除的表、窗体等等对象》-- access911net 文章
>
拷贝一个压缩access数据库的方法给你。压缩以后再用楼上的拷贝大法,呵呵
function CompactDatabase(AFileName,APassWord:string):boolean;
//压缩与修复数据库,覆盖源文件
const
SConnectionString = 'Provider=MicrosoftJetOLEDB40;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';
var
SPath,SFile:Array [0254] Of Char;
STempFileName:String;
JE:OleVariant;
begin
GetTempPath(40,SPath);//取得Windows的Temp路径
GetTempFileName(SPath,'~CP',0,SFile);//取得Temp文件名,Windows将自动建立0字节文件
STempFileName:=SFile;//PChar->String
DeleteFile(STempFileName);//删除Windows建立的0字节文件
try
JE:=CreateOleObject('JROJetEngine');//建立OLE对象,函数结束OLE对象超过作用域自动释放
// JEclosedatabase(SConnectionString);
OleCheck(JECompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord])));//压缩数据库
//复制并覆盖源数据库文件,如果复制失败则函数返回假,压缩成功但没有达到函数的功能
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);//删除临时文件
// JEopendatabase(SConnectionString);
except
result:=false;//压缩失败
end;
end;
楼主节哀。从软件角度上讲是没有备份的话access是不能数据恢复的但是从硬件上讲如果是在电脑硬盘里存在过的话,可以做硬盘的数据恢复。这个就看有没有必要了。做这个行业,楼主以后行事小心谨慎额。
以上就是关于ACCESS数据库恢复问题全部的内容,包括:ACCESS数据库恢复问题、vb怎么备份和恢复Access数据库,最好说清楚一点,我用vs做的项目、关于delphi中access数据库的备份 还原等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)