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

 更新时间:2007年08月01日 19:28:24   作者:  
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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

相关文章

最新评论

?


http://www.vxiaotou.com