数据库数据批量处理(数据库中记录的批量修改)

【分享成果,随喜正能量】人,有了物质才能生存;人,有了理想才谈得上生活,脚步不能达到的地方,眼光可以到达,眼光不能到达的地方,精神可以飞到。

《VBA数据库解决方案》教程是我推出的第二套教程,目前已经是第一版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第29讲:数据库中记录的批量修改

数据库数据批量处理(数据库中记录的批量修改)(1)

第二十九讲 如何批量修改数据库中的数据

大家好,今日我们继续VBA数据库解决方案的第29讲:如何批量修改数据库中的记录。在数据库解决方案中,我在从实际应用的角度,把工作中可能遇到的各种情况都尽可能的给罗列上,我们先后讲了:

① 如何在数据库中动态删除和建立数据表(第14讲)

② 在已有的数据表中删除、添加、修改字段的方法(第21讲);

③ 根据工作表中的数据,生成数据库中新的数据表的方法(第22讲);

④ 向一个已有的数据表中添加数据记录的方法(第23讲);

⑤ 把工作表中提供的数据在数据表中逐一删除(可以是重复的记录)的通用方法(第24讲);

⑥ 把工作表中提供的特定数据在数据库中批量删除的方法(第25讲);

⑦ 把工作表中不存在的记录在数据表中批量删除的方法(第26讲);

⑧ 把数据表中特殊的记录删除的方法(第27讲);

⑨ 把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表的数据(第28讲)

以上的各种方法都不是孤立的,有的可以组合利用,比如:第⑨的方法可以用⑤ ④的方法解决,大家学习知识千万不可教条,很多朋友希望我能把所有的实际情况都写出来。但那是不可能的,工作中总会遇到实际的问题,要具体的问题具体的分析。

1 应用场景的具体分析

今日我们讲解的内容是如何批量的修改记录,这个问题也可以先删除,再添加记录来解决。当然,我们今日要讲的方法和上述的思路不一样:

实例:如下,数据库中有如下记录:

数据库数据批量处理(数据库中记录的批量修改)(2)

我们要把民族修正为下面的内容:

数据库数据批量处理(数据库中记录的批量修改)(3)

2 批量修改数据库中的数据 的代码及代码解读

如何处理呢,我们看代码:

Sub mynz_29() '第29讲 批量修改记录

【详细代码见教程】

End Sub

代码截图:

数据库数据批量处理(数据库中记录的批量修改)(4)

代码讲解:

1)i = 1

Do While ActiveSheet.Cells(1, i) <> ""

strField = strField & ",A." & ActiveSheet.Cells(1, i).Value & "=B." & ActiveSheet.Cells(1, i).Value

i = i 1

Loop

上述代码首次要构建一个字符串然后用在SQL中:这个字符串的组成其实要说明的是两个表(工作表和数据表)中的字段相同。

2) strSQL = "UPDATE " & strTable & " A,[Excel 12.0;Imex=0;Database=" _

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

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

& "SET " & strField & " WHERE A.员工编号=B.员工编号"

上述语句是一个SQL语句,关于SQL语句的写法,大家可以先不用过度的关注,实际遇到的语句大家可以理解,作为一种规范的写法即可。在本书的后半部分有各种连接的讲解。

这条SQL语句中"UPDATE "是编辑记录,修改的记录集的记录.然后用EXECUTE执行.

下面我们看程序的运行过程:我们先显示一下数据库中的记录:

数据库数据批量处理(数据库中记录的批量修改)(5)

然后我们修改一下,然后我们点击修改记录:

数据库数据批量处理(数据库中记录的批量修改)(6)

最后提示记录数:

数据库数据批量处理(数据库中记录的批量修改)(7)

我们再次查看数据表中的记录的情况:

数据库数据批量处理(数据库中记录的批量修改)(8)

数据库数据批量处理(数据库中记录的批量修改)(9)

今日内容回向:

1 如何批量的修改记录?

2 上述批量修改记录的方法还有什么?

本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm

数据库数据批量处理(数据库中记录的批量修改)(10)

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

数据库数据批量处理(数据库中记录的批量修改)(11)

【分享成果,随喜正能量】以细行律身,不可以细行取人。自律且努力,当你能控制好自己、把握好自己的时候,就会遇到一个更好的自己!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页