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

注意:本文示例代码使用Microsoft数据访问对象。为此代码才能正常运行,您必须引用MicrosoftDAO3.6对象库。可以进行,单击工具菜单中VisualBasic编辑器,上引用并确保选中MicrosoftDAO3.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

声明:本文来自互联网或用户投稿,该文观点仅代表作者本人,不代表本站立场。文章及其配图仅供学习和交流之用,版权归原作者所有,如有内容侵权或者其他违规问题,请联系本站处理。

相关文章