VBA数据库解决方案第二十九讲 如何批量修改数据库中的数据
《VBA数据库解决方案》教程版权10090845是我推出的第二套教程目前已经是第二版修订了。这套教程定位于中级是学完字典后的另一个专题讲解。数据库是数据处理的利器教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。这套教程共两册八十四讲今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是VBA数据库解决方案第二十九讲 如何批量修改数据库中的数据【分享成果随喜正能量】心有时就跟屋子一样需要定期打扫一下。该洗的洗该丢的丢然后再把喜欢的生活装进去日子就会明亮起来。好好生活好好爱自己把期待降低把依赖减少你会过得更好。第二十九讲 如何批量修改数据库中的数据大家好今日我们继续VBA数据库解决方案的第29讲如何批量修改数据库中的记录。在数据库解决方案中我从实际应用的角度把工作中可能遇到的各种情况都尽可能的给罗列上我们先后讲了① 如何在数据库中动态删除和建立数据表第14讲② 在已有的数据表中删除、添加、修改字段的方法第21讲③ 根据工作表中的数据生成数据库中新的数据表的方法第22讲④ 向一个已有的数据表中添加数据记录的方法第23讲⑤ 把工作表中提供的数据在数据表中逐一删除(可以是重复的记录)的通用方法第24讲⑥ 把工作表中提供的特定数据在数据库中批量删除的方法第25讲⑦ 把工作表中不存在的记录在数据表中批量删除的方法第26讲⑧ 把数据表中特殊的记录删除的方法第27讲⑨ 把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表的数据第28讲以上的各种方法都不是孤立的有的可以组合利用比如第⑨的方法可以用⑤④的方法解决大家学习知识千万不可教条很多朋友希望我能把所有的实际情况都写出来。但那是不可能的工作中总会遇到实际的问题要具体的问题具体的分析。1 应用场景的具体分析今日我们讲解的内容是如何批量的修改记录这个问题也可以先删除再添加记录来解决。当然我们今日要讲的方法和上述的思路不一样实例如下数据库中有如下记录我们要把民族修正为下面的内容2 批量修改数据库中的数据 的代码及代码解读如何处理呢我们看代码Sub mynz_29() 第29讲 批量修改记录Dim cnADO As Object, rsADO As ObjectDim strPath As String, strTable As String, strWhere As String, strSQL As String, strMsg As StringSet cnADO CreateObject(ADODB.Connection)Set rsADO CreateObject(ADODB.Recordset)strPath ThisWorkbook.Path \mydata2.accdbstrTable 员工信息cnADO.Open ProviderMicrosoft.Ace.OLEDB.12.0;Data Source strPath汇报给用户记录数strSQL SELECT * FROM strTable.....构建一个字符串用在SQL中i 1Do While ActiveSheet.Cells(1, i) strField strField ,A. ActiveSheet.Cells(1, i).Value B. ActiveSheet.Cells(1, i).Value....strSQL UPDATE strTable A,[Excel 12.0;Imex0;Database _ ThisWorkbook.FullName ;].[ ActiveSheet.Name $ _ Range(A1).CurrentRegion.Address(0, 0) ] B _ SET strField WHERE A.员工编号B.员工编号MsgBox (strSQL)cnADO.Execute strSQLMsgBox 数据修改成功。, vbInformation, 数据修改rsADO.Close汇报给用户记录数strSQL SELECT * FROM strTablersADO.Open strSQL, cnADO, 1, 3MsgBox 最后的记录数为 rsADO.RecordCount释放内存rsADO.ClosecnADO.CloseSet rsADO NothingSet cnADO NothingEnd Sub代码截图代码讲解1i 1Do While ActiveSheet.Cells(1, i) strField strField ,A. ActiveSheet.Cells(1, i).Value B. ActiveSheet.Cells(1, i).Valuei i 1Loop上述代码首次要构建一个字符串然后用在SQL中这个字符串的组成其实要说明的是两个表工作表和数据表中的字段相同。2 strSQL UPDATE strTable A,[Excel 12.0;Imex0;Database _ ThisWorkbook.FullName ;].[ ActiveSheet.Name $ _ Range(A1).CurrentRegion.Address(0, 0) ] B _ SET strField WHERE A.员工编号B.员工编号上述语句是一个SQL语句关于SQL语句的写法大家可以先不用过度的关注实际遇到的语句大家可以理解作为一种规范的写法即可。在本书的后半部分有各种连接的讲解。这条SQL语句中UPDATE 是编辑记录修改的记录集的记录.然后用EXECUTE执行.下面我们看程序的运行过程我们先显示一下数据库中的记录然后我们修改一下点击修改记录最后提示记录数我们再次查看数据表中的记录的情况今日内容回向1 如何批量的修改记录2 上述批量修改记录的方法还有什么本讲内容参考程序文件VBA与数据库操作第一册.xlsm我20多年的VBA实践经验全部浓缩在下面的各个教程中
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2473815.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!