当前位置:首页 > 实用技巧 >

修改数据库中数值(数据库怎样修改数据)

来源:原点资讯(www.yd166.com)时间:2023-11-27 04:12:53作者:YD166手机阅读>>

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

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

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

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

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

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

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

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

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

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

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

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

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

修改数据库中数值,数据库怎样修改数据(1)

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

修改数据库中数值,数据库怎样修改数据(2)

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

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

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

'构建一个字符串,用在SQL中

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

strField = Mid(strField, 2, Len(strField) - 1) '去除最前面的逗号

'修改记录

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.员工编号"

'MsgBox (strSQL)

cnADO.Execute strSQL

MsgBox "数据修改成功。", vbInformation, "数据修改"

rsADO.Close

'汇报给用户记录数

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

MsgBox "最后的记录数为:" & rsADO.RecordCount

'释放内存

rsADO.Close

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代码截图:

修改数据库中数值,数据库怎样修改数据(3)

代码讲解,我们仍是讲解最主要的部分:

'构建一个字符串,用在SQL中

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

strField = Mid(strField, 2, Len(strField) - 1) '去除最前面的逗号

'修改记录

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.员工编号"

'MsgBox (strSQL)

cnADO.Execute strSQL

MsgBox "数据修改成功。", vbInformation, "数据修改"

rsADO.Close

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

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中打开相应的记录,关于SQL语句的写法,不作为本书的重点,实际遇到的语句大家可以理解,作为一种规范的写法即可,如果有兴趣的朋友可以参考专门的书籍。

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语句中"UPDATE "是编辑记录,修改的记录集的记录.然后用EXECUTE执行.

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

修改数据库中数值,数据库怎样修改数据(4)

首页 123下一页

栏目热文

数据库编号能不能修改(如何更改数据库编码)

数据库编号能不能修改(如何更改数据库编码)

前情提要鉴于篇幅,文中会有大量图片展示,可以双击放大图片查看。已将本文整理成PDF文档《MySQL大全》,需要的可以私信...

2023-11-27 03:30:49查看全文 >>

修改数据库字符集和校对规则(数据库的字符集怎么设置)

修改数据库字符集和校对规则(数据库的字符集怎么设置)

概念说明1、字符集(Character Set)定义了字符和二进制的对应关系,为字符分配了唯一的编号。2、字符编码(Ch...

2023-11-27 04:12:03查看全文 >>

洋葱如何做好吃家常做法(洋葱怎么做又简单又好吃)

洋葱如何做好吃家常做法(洋葱怎么做又简单又好吃)

今天要用洋葱跟大家分享一道特别好吃的美食,洋葱饼。洋葱很常见,价格也不贵,而且比较有营养,所以深受很多朋友的喜爱。洋葱可...

2023-11-27 04:01:06查看全文 >>

洋葱怎么做好吃凉拌菜视频(洋葱怎么做好吃凉拌菜配方)

洋葱怎么做好吃凉拌菜视频(洋葱怎么做好吃凉拌菜配方)

大家好,我是第一美食的阿飞,关注阿飞,有更多的家常菜供大家参考。今天分享一个简单开胃的餐前小菜,洋葱丝拌香菜的家常做法,...

2023-11-27 03:46:59查看全文 >>

土豆洋葱胡萝卜一起做的家常做法(土豆洋葱胡萝卜怎样做才好吃)

土豆洋葱胡萝卜一起做的家常做法(土豆洋葱胡萝卜怎样做才好吃)

这是一道比较清淡的菜,适合轻食的人吃,只添加了六月鲜的轻盐酱油和蚝油。没有加盐的哦By 伈妈美食记 【豆果美食官方认证达...

2023-11-27 04:16:04查看全文 >>

数据库修改语句(数据库怎么修改信息)

数据库修改语句(数据库怎么修改信息)

数据库对于产品经理来说是一个既熟悉又陌生的概念,虽然产品设计中的数据基本都要与数据库交互,但平时的工作中也很少接触到数据...

2023-11-27 04:04:26查看全文 >>

数据库名修改方法(更改数据库名字命令)

数据库名修改方法(更改数据库名字命令)

在MySQL 5.1.7版本中提供了修改数据库名称的SQL语句,语法格式如下:RENAME DATABASE db_na...

2023-11-27 03:44:52查看全文 >>

修改数据库信息语法(数据库修改语句怎么用的)

修改数据库信息语法(数据库修改语句怎么用的)

在mysql中,创建数据库的基本语法格式为:CREATE DATABASE [IF NOT EXISTS] db_nam...

2023-11-27 04:11:03查看全文 >>

数据库顺序修改(数据库行的顺序怎么改变)

数据库顺序修改(数据库行的顺序怎么改变)

前言在自动化测试中,自动化测试用例设计原则就是执行过程时不能存在依赖顺序,那么如果测试用例需要按照指定顺序执行,这个时候...

2023-11-27 03:29:48查看全文 >>

数据库表名字修改(数据库改表名大全)

数据库表名字修改(数据库改表名大全)

修改mysql数据库名称的方法如下:1.语句修改法:RENAME DATABASE db_name TO new_db_...

2023-11-27 03:42:45查看全文 >>

文档排行