大家好,我们今日继续讲解VBA数据库解决方案的第28讲内容:利用VBA,把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表数据。数据库的讲解已经持续一段时间了,从对简单数据库的认识到利用VBA对数据库的操作,我们一步步的走来,估计大家已经学到了很多知识。最近的内容主要是操作,我把我可能想到的各种情况给大家介绍讲解,这些都是我们在实际的工作中会遇到的情况,只要大家掌握了代码,并结合一下自己的工作实际,很快就会写出自己的代码。当然要想改代码必须对代码有全面的理解。

今日给大家讲的情况是:数据库录入错了,但关键的字段没有错误,这时我们怎么处理呢?这时的处理方案是:首先要删除之前录入的数据,然后修改数据并再次录入。

实例:我们在录入员工信息时,不小心把民族给录入错误,如下面的工作表:

第2行到第5行,人员的民族应该为汉,不小心录入了回族,这时改怎么处理呢?这就是我这节要面对的解决方案:先删除,再导入正确的。怎么做到呢:看下面的代码:

Sub mynzCreateDataTable_6() '第28讲利用VBA,根据工作表的数据,在数据表中先删除已有的数据,然后添加记录

Dim cnADO, rsADO As Object

Dim strPath, strTable, strWhere, strSQL, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "mydata2.accdb"

strTable = "员工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

'汇报给用户记录数

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

MsgBox "当前记录数为:" & rsADO.RecordCount

rsADO.Close

'打开数据表中存在的员工编号相同的记录

strSQL = "DELETE FROM " & strTable & " A WHERE EXISTS(" _

& "SELECT * FROM [Excel 12.0;Database=" & _

ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" _

& Range("a1").CurrentRegion.Address(0, 0) & "] " _

& "WHERE 员工编号=A.员工编号)"

cnADO.Execute strSQL '把这些记录删除

'下面将添加记录

strSQL = "INSERT INTO " & strTable & " SELECT * FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & ";].[" & ActiveSheet.Name & "$" _

& Range("A1").CurrentRegion.Address(0, 0) & "]"

cnADO.Execute strSQL

MsgBox "纪录添加成功。

同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据...相关推荐

  1. ssis 循环导入数据_使用集成服务(SSIS)包从Amazon S3 SSIS存储桶导入数据

    ssis 循环导入数据 This article explores data import in SQL Server from a CSV file stored in the Amazon S3 ...

  2. fox pro删除单条数据_删库之后不要着急跑路,教你神不知鬼不觉找回数据

    在工作中,我们误删数据或者数据库,我们一定需要跑路吗?我看未必,程序员一定要学会自救,神不知鬼不觉的将数据找回. 在 mysql 数据库中,我们知道 binlog 日志记录了我们对数据库的所有操作,所 ...

  3. excel合并多个工作表_如何快速的合并多个 Excel 工作簿至一个工作簿中的工作表?...

    作者:汪汪家的宝贝 链接:https://www.jianshu.com/p/c8ae6852f1da 前言 在日常工作过程中,我们有可能需要把多个Excel工作簿的内容汇总到一张Excel工作表中. ...

  4. SAP 导出 HTML,【我sap这导出数据表格export.mhtml怎么转换为 excel 工作表.xlsx】excel生成html表格数据...

    如何把Html网页格式转成Excel表格 1.单击数据--导部数据--新建Web查询. 2.勾选我可以此内容,允许播放,单击继续按钮. 3.在地址栏输入网站地址,转到此网站里面. 4.跳转到指定网页, ...

  5. excel批量更改超链接_批量新建Excel指定名称工作表并设置超链接!你,学会了吗?...

    文 / 雷哥+小鱼儿  编辑 / 小鱼儿 雷哥收到一份来自老板的任务,内容如下,你敢不敢挑战下? 案例:给公司几百名员工分别建档:以每个员工的名字建一个工作表,内含各自的年终奖情况,而且还要方便.快速 ...

  6. excel 按数据拆分 xlam_Excel表格把数据按类别快速拆分到不同工作表或工作簿

    Excel表格中数据的拆分和汇总是我们经常会遇到的问题,之前写过一篇利用VBA代码汇总多个工作簿的数据(文章最后有链接,有需要的朋友可以看一下).有时并不是所有的数据都能共享,这时就需要把数据按类别拆 ...

  7. excel中 复制工作表_如何在Excel 2013中轻松移动或复制工作表

    excel中 复制工作表 There may be times when you want to create a new Excel worksheet based on an existing w ...

  8. Python+Excel系列:案例七:将一个工作薄的所有工作表批量复制到其他工作簿、将某个工作表的数据批量复制到其他工作簿的指定工作表中

    文章目录 将一个工作薄的所有工作表批量复制到其他工作簿 将某个工作表的数据批量复制到其他工作簿的指定工作表中 将一个工作薄的所有工作表批量复制到其他工作簿 import os #导入os模块 impo ...

  9. Excel一键删除工作簿中不同工作表内的图片

    如下图所示在同一个工作簿不同的工作表中,有多张照片,小编今天要和大家分享的是,Excel一键就可以删除工作簿中不同工作表内的所有图片的操作 (方方格子插件) ​ 1.先看动图吧 2.选择方方格子图片工 ...

最新文章

  1. 使用Python和OpenCV进行拍摄截图
  2. Spring Cloud 加盟重量级成员Spring Cloud Alibaba,打造更符合中国国情的微服务体系...
  3. win7关闭开机启动项_电脑开机全是各种广告?来看看我怎么解决的吧
  4. instanceof用法_「JS很简单」JavaScript 基础之 instanceof操作符
  5. linux cron 定时任务无效 /var/spool/cron/xxx
  6. github ssl验证跳过
  7. linux禁止扫描端口,公网的服务器如何禁止别人扫描端口
  8. 零散的JavaScript公用方法
  9. mysql中find_in_set()函数的使用(转载)
  10. 使用Android Studio开发/调试Android源码
  11. 如何优化内存?Unity中的内存种类;冯乐乐的总结的优化技术。
  12. RK3399 USB RNIDS/gagnet实战
  13. 优秀宝宝都有的6个特点
  14. 多个源文件进行编译,即 makefile 的编写
  15. 武书连2022中国大学综合实力排行榜发布!
  16. 开源软件推荐-TMS运输管理系统 KYTMS
  17. 你们寻找的微信小程序考题,这总结了
  18. 聚类与分类方法的主要区别是什么?
  19. 端口号是什么以及常见端口号
  20. 谷歌浏览器 打开网页出现 out of memory

热门文章

  1. 无限网络无限连接掉网的解决
  2. TCP通信粘包问题分析和解决
  3. 代理模式及Java实现动态代理
  4. 你应该更新的Java知识之常用程序库
  5. 31 天重构学习笔记索引
  6. Tomcat原理详解和各种集群的实现
  7. Python、Lua和Ruby比较——脚本语言大P.K.
  8. 事件模型、事件流(冒泡与捕获)、事件代理
  9. sql语句之where子句
  10. Cocos2d-x 3.0正式版及android环境搭建