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

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

(0)

相关推荐

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

    注意 : 本文示例代码使用 Microsoft 数据访问对象. 为此代码才能正常运行, 您必须引用 Microsoft DAO 3.6 对象库. 可以进行, 单击  工具  菜单中 VisualBasic 编辑器, 上  引用  并确保选中  Microsoft DAO 3.6 对象库  复选框. 1.    在 MicrosoftAccess 中打开数据库. 2.    在数据库窗口, 单击下 对象 , 模块 , 然后单击 新建 . 3.    键入或粘贴以下代码, 您只有创建模块中: 复制代

  • C#动态创建Access数据库及表的方法

    本文实例讲述了C#动态创建Access数据库及表的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: //添加两个com组件引用 //Microsoft ADO Ext. 2.8 for DDL and Security //Microsoft ActiveX Data Objects 2.8 Library using System; using System.Collections.Generic; using System.Linq; using System.Text

  • Access 2000 数据库 80 万记录通用快速分页类

    代码本人优化过,测试通过 主要思路: 用一条语句统计(Count)出记录数(而不在查询时获得 RecordCount 属性), 缓存在 Cookies 中, 跳转时就不用再次统计. 使用 ADO 的 AbsolutePage 属性进行页面跳转即可. 为方便调用而写成类, 代码主要地方已有说明 硬件环境: AMD Athlon XP 2600+, 256 DDR 软件环境: MS Windows 2000 Advanced Server + IIS 5.0 + Access 2000 + IE 6

  • SQL2005Express中导入ACCESS数据库的两种方法

    方法一:单表导入 (1)打开"SQL Server 外围应用配置器"-->"功能的外围应用配置器" -->些服务默认是关闭的,若不打开,将不能进行导入操作. 在"Database Engine"下选择"即席远程查询"-->启用 openrowset 和opendatasource 支持(E) 如下图: (2)在SQL Server Management Studio Express中"新建查询&qu

  • ASP.NET连接 Access数据库的几种方法

    web.config 第一种方法: <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="AccessConnString"

  • 如何恢复SQL Server 2000损坏的数据库文件

    SQL Server2000中,如果数据库文件(非系统数据库文件)遇到错误的时候,我们该怎么办.以下是笔者以前的笔记.仅适用于非master,msdb的数据库. 说明如下: 1 建一个测试数据库test(数据库类型为完全)2 建一个表,插入点记录 create table a(c1 varchar(2))goinsert into a values('aa')goinsert into a values('bb')go 3 作完全备份,到文件test_1.bak4 在作一点修改 insert i

  • 恢复sql server 2000误删数据的解决办法

    今天不小心把客户那边的数据库中删了一千多条数据,而且之前又没有备份,真的是很郁闷,后来在网上找到一工具,用起来挺方便,让我躲过一劫. 首先来看一下界面: 输入服务器地址,用户名及密码后点Connect,进入到下面的界面: 在这里选择要恢复数据的数据库,选择Use On-line Log(如果你又备份文件的话就不需要用这个工具了,直接用SQL搞定了).然后点Attach,进入下面的界面: 可以看到左边菜单中有很多功能,我们要恢复数据,首先要查看日志,找出我们误操作的那些日志记录,点Browse下的

  • 从MySQL全库备份中恢复某个库和某张表的方法

    在Mysqldump官方工具中,如何只恢复某个库呢? 全库备份 [root@HE1 ~]# mysqldump -uroot -p --single-transaction -A --master-data=2 >dump.sql 只还原erp库的内容 [root@HE1 ~]# mysql -uroot -pMANAGER erp --one-database <dump.sql 可以看出这里主要用到的参数是--one-database简写-o的参数,极大方便了我们的恢复灵活性. 那么如何从

  • php连接Access数据库错误及解决方法

    php+access连接数据库常用的方式一般有两种. 推荐的代码 需要注意php获取路径用的是realpath 复制代码 代码如下: <?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC); $i

  • ASP连接Access数据库的几种方法

    1. 相对与比较老的环境,建议使用第二个 set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION") DBPath = Server.MapPath("customer.mdb") dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath SQL="select * from auth

随机推荐