恢复从 access 2000、 access 2002 或 access 2003 数据库中删除表的方法-麥田
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-表


恢复从 access 2000、 access 2002 或 access 2003 数据库中删除表的方法

发表时间:2007/11/26 8:38:08 评论(0) 浏览(6952)  评论 | 加入收藏 | 复制
   
摘 要:恢复从Access 2000、Access 2002 或Access 2003 数据库中删除表的方法
正 文:

注意 : 本文示例代码使用 Microsoft 数据访问对象。 为此代码才能正常运行, 您必须引用 Microsoft DAO 3.6 对象库。 可以进行, 单击  工具  菜单中 VisualBasic 编辑器, 上  引用  并确保选中  Microsoft DAO 3.6 对象库  复选框。
1.    在 MicrosoftAccess 中打开数据库。
2.    在数据库窗口, 单击下 对象 , 模块 , 然后单击 新建 。
3.    键入或粘贴以下代码, 您只有创建模块中:


Function RecoverDeletedTable() 
On Error GoTo ExitHere 
'*Declarations* 
  Dim db As DAO.Database 
  Dim strTableName As String 
  Dim strSQL As String 
  Dim intCount As Integer 
  Dim blnRestored As Boolean 
'*Init* 
  Set db = CurrentDb() 
'*Procedure* 
  For intCount = 0 To db.TableDefs.Count - 1 
    strTableName = db.TableDefs(intCount).Name 
    If Left(strTableName, 4) = "~tmp" Then 
      strSQL = "SELECT DISTINCTROW [" & strTableName & "].* INTO " & Mid(strTableName, 5) & " FROM [" & strTableName & "];" 
      DoCmd.SetWarnings False 
      DoCmd.RunSQL strSQL 
      MsgBox "A deleted table has been restored, using the name '" & Mid(strTableName, 5) & "'", vbOKOnly, "Restored" 
      blnRestored = True 
    End If 
  Next intCount 
  If blnRestored = False Then 
MsgBox "No recoverable tables found", vbOKOnly 
  End If 
'*EXIT/ERROR* 
ExitHere: 
  DoCmd.SetWarnings True 
  Set db = Nothing 
  Exit Function 
ErrorHandler: 
  MsgBox Err.Description 
  Resume ExitHere 
End Function


4.    在 调试 菜单上, 单击 编译 数据库名称 数据库名称 。
5.    保存为 RecoverTable 模块。 要测试此函数, 首先创建两个表, 添加行, 并删除这两个表。
6.    在即时窗口, 键入以下行, 然后按 ENTER 键:
RecoverDeletedTable


Access软件网交流QQ群(群号:198465573)
 
 相关文章
隐藏和恢复表的示例  【十段  2008/3/22】
在数据库中恢复误删除表示例  【十段  2008/5/30】
恢复删除的表  【十段  2008/6/2】
恢复被删除表的另外一种方法  【叶海峰  2009/7/23】
在MDB未修复压缩的情况下恢复被删除的表  【叶海峰  2012/2/22】
突然断电恢复丢失的XLS和DOC文档  【王三平  2012/4/27】
Access恢复被删除的表和查询的函数  【Wayne Phillips  2014/10/21】
常见问答
技术分类
相关资源
文章搜索
关于作者

麥田

文章分类

文章存档

友情链接