恢复从 Access 2000、 Access 2002 或 Access 2003 中数据库删除表的做法实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“恢复从 Access 2000、 Access 2002 或 Acces……”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
注意: 本文示例采用 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
-
08.31
魔兽世界12.0邪DK如何玩
-
08.31
魔兽世界12.0鎏金宝宝如何获得
-
08.31
《三国大冒险》战术升级攻略
-
08.31
《烟雨江湖》支线任务最佳完成路线攻略
-
08.31
三国杀御曹植技能台词分享
-
08.31
《亿万光年》增加产能做法
-
-
- 魔兽世界12.0复仇DH如何玩
- 08.31
-
- 魔兽世界12.0火法如何玩
- 08.31
-
- 《无尽冬日》7天400万战力攻略
- 08.31
-
- 《三国大冒险》官学任命玩法说明
- 08.31
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏