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

文章作者 100test 发表时间 2008:01:04 13:01:05
来源 100Test.Com百考试题网


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



相关文章


删除记录,判断记录位置
Acce 如何维护表的参照完整性
实现窗体的渐变背景
怎样在ACCE 表中隐藏列
恢复从Acce 2000、Acce 2002或Acce 2003数据库中删除表的方法
用CB实现图像的特技显示
使用双缓冲技术绘制曲线图
用C Builder对图像进行特殊效果处理
FAQ:用代码定义字段AllowZeroLength和Required属性
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛