注意:本文示例代码使用Microsoft数据访问对象。为此代码才能正常运行,您必须引用MicrosoftDAO3.6对象库。可以进行,单击工具菜单中VisualBasic编辑器,上引用并确保选中MicrosoftDAO3.6对象库复选框。
1.在MicrosoftAccess中打开数据库。
2.在数据库窗口,单击下对象,模块,然后单击新建。
3.键入或粘贴以下代码,您只有创建模块中:
复制代码 代码如下:
FunctionRecoverDeletedTable()
OnErrorGoToExitHere
'*Declarations*
DimdbAsDAO.Database
DimstrTableNameAsString
DimstrSQLAsString
DimintCountAsInteger
DimblnRestoredAsBoolean
'*Init*
Setdb=CurrentDb()
'*Procedure*
ForintCount=0Todb.TableDefs.Count-1
strTableName=db.TableDefs(intCount).Name
IfLeft(strTableName,4)="~tmp"Then
strSQL="SELECTDISTINCTROW["&strTableName&"].*INTO"&Mid(strTableName,5)&"FROM["&strTableName&"];"
DoCmd.SetWarningsFalse
DoCmd.RunSQLstrSQL
MsgBox"Adeletedtablehasbeenrestored,usingthename'"&Mid(strTableName,5)&"'",vbOKOnly,"Restored"
blnRestored=True
EndIf
NextintCount
IfblnRestored=FalseThen
MsgBox"Norecoverabletablesfound",vbOKOnly
EndIf
'*EXIT/ERROR*
ExitHere:
DoCmd.SetWarningsTrue
Setdb=Nothing
ExitFunction
ErrorHandler:
MsgBoxErr.Description
ResumeExitHere
EndFunction
4.在调试菜单上,单击编译数据库名称数据库名称。
5.保存为RecoverTable模块。要测试此函数,首先创建两个表,添加行,并删除这两个表。
6.在即时窗口,键入以下行,然后按ENTER键:
RecoverDeletedTable