恢复删除的表-十段
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


恢复删除的表

发表时间:2008/6/2 8:44:53 评论(0) 浏览(6169)  评论 | 加入收藏 | 复制
   
摘 要:说明:在数据库未压缩、修复、关闭的前提下,运行该模块,即可恢复已被删除的所有表。
正 文:

Function UndoTable() As Integer
'===============================================================================
'-函数名称: UndoTable
'-功能描述: 恢复删除的数据库对象
'-输入参数说明:
'-返回参数说明: Integer 恢复数据库的个数
'-使用语法示例: MsgBox UndoTable()
'-参考: Access中国论坛帖子
'-使用注意:
'-兼容性: 2000,XP,2003
'-作者: fan0217@163.com
'-更新日期: 2006-03-17
'===============================================================================
'On Error GoTo Err_UndoTable
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
Dim strTemName As String
Dim i As Integer

Set conn = CurrentProject.Connection

strSQL = "Select * FROM MSysObjects "
strSQL = strSQL & "Where(Left$([Name], 1) = '~') And (Left$([Name], 4) <> 'Msys') And (MSysObjects.Type) = 1 "

rs.Open strSQL, conn, 1, 3
Do While Not rs.EOF
strTemName = Right(rs("Name"), Len(rs("Name")) - 4)
strSQL = "Select * INTO [Undo_" & strTemName & "] FROM [" & rs("Name") & "];"
'conn.Execute strSQL
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
i = i + 1
rs.MoveNext
Loop

UndoTable = i

rs.Close
Set rs = Nothing
Set conn = Nothing

Exit_UndoTable:
Exit Function

Err_UndoTable:
Set rs = Nothing
Set conn = Nothing
MsgBox Err.Description
Resume Exit_UndoTable

End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
用access vba进行注册表设置,任务栏中的窗口,隐藏帮助框,...  【th  2013/4/20】
vba代码新增字段、更改字段类型、删除字段  【金宇  2013/5/20】
【Access小品】一根烟的教训--删除重复记录示例  【煮江品茶  2013/5/25】
【Access基础扫盲】如何在删除某条记录之前添加警告声音  【nivenm  2013/5/28】
常见问答
技术分类
相关资源
文章搜索
关于作者

十段

文章分类

文章存档

友情链接