龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > ACCESS技术 >

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

时间:2011-05-21 16:24来源:未知 作者:admin 点击:
分享到:
注意 : 本文示例代码使用 Microsoft 数据访问对象。 为此代码才能正常运行, 您必须引用 Microsoft DAO 3.6 对象库。 可以进行, 单击 工具 菜单中 VisualBasic 编辑器, 上 引用 并确保选中 Micro

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


收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接