网站首页/办公软件列表/内容

恢复从Access数据库删除表的办法

办公软件2022-05-07阅读
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。

   注意 : 本文示例代码使用 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

        :更多精彩教程请关注三联设计教程 栏目,


Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。

……

相关阅读