问题
如何恢复已经删除的记录
如何恢复已经删除的表
窗体等等对象
我用 DELETE FROM TABLE 删除了一些记录
现在发现误删除了
该如何恢复?
我直接手动删除或者用 DROP TABLE 删除了一个表
现在发现是误删除了
该如何恢复?
我手动删除了一个窗体
该如何恢复?
我删除了记录
可是数据库体积并没有减小
那么是否能找回记录呢?
回答
已经删除的记录是无法恢复的
ACCESS 不是 FOXPRO
MDB 格式不是 DBF 格式
没有逻辑删除和物理删除的概念
一旦删除就无法恢复了
无法恢复
但是你可以查看一下
有没有隐藏的以
~
符号开头的表
更改该表的名称有可能找回你需要的表
无法恢复
但是你可以查看一下有没有系统隐藏的对象
有时候对象被删除时系统并不直接删除
而是更改对象名后隐藏它
数据库体积的确没有变小
你压缩修复数据库后体积就会变小了
那是因为在二进制上你的数据的确没有被删除
仍然存放在磁盘的某个扇区
但是微软没有提供 MDB 格式二进制组织方式的参考资料(微软也不会提供
其他第三方公司也没有权利直接反编译 MDB 格式)
至今为止
中国大陆我也没有看到过相关的参考资料
所以目前为止
你已经删除的数据是无法恢复的
但是你可以尝试使用磁盘恢复软件来找到恢复数据的方法
但是该方法不在本文讨论范围
建议
在建立数据库结构时
可以在各个表中再多加一个 ISDEL 字段
删除记录时不使用 DELETE FROM
而使用 UPDATE TABLE SET ISDEL=TRUE 这样的语句
然后在界面上不显示 ISDEL=TRUE 的记录即可
复制代码 代码如下:
如果还没有被压缩理论上可以试试这段代码吧加在access模组中
恢