SQL进阶的注意事项(sql批量修改数据类型)

大家好,今日我们继续VBA数据库解决方案的第30讲:如何批量修改数据库中的特定记记录数据。在上一讲中,我们讲了批量编辑数据的方案,用到的是UPDATE方法,今日我们仍用此方法解决删除特定记录。这些记录

大家好,今日我们继续VBA数据库解决方案的第30讲:如何批量修改数据库中的特定记记录数据。在上一讲中,我们讲了批量编辑数据的方案,用到的是UPDATE方法,今日我们仍用此方法解决删除特定记录。这些记录是由于是特殊的,我们可以结合SQL语句来完成我们的需求。同时我们也可以把这些固定的需求转换为动态的需求,只要略加改正就可以了。

今日的实例;下面的工作表为数据库中员工信息表的记录,

SQL进阶的注意事项(sql批量修改数据类型)

我们要把其中部门是”一厂””二厂”的记录修正为”三厂”,如何做到呢?

我们先看代码,代码如下:

Sub mynzUpdateRecords_2()

‘第30讲批量修改记录集中的某些特殊记录,从而达到快捷迅速

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

‘设定要修改的条件为把部门=’一厂’或者’二厂’ 修改为’三厂’

strSQL = “UPDATE ” & strTable & ” SET 部门=’三厂’ WHERE 部门=’一厂’ OR 部门=’二厂\'”

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

代码截图:

SQL进阶的注意事项(sql批量修改数据类型)

代码的解释:我们只需要看看本讲的SQL语句即可:

strSQL = “UPDATE ” & strTable & ” SET 部门=’三厂’ WHERE 部门=’一厂’ OR 部门=’二厂\'”

cnADO.Execute strSQL

MsgBox “数据修改成功。”, vbInformation, “数据修改”

在上述代码中,SQL语句的意义是将部门为部门=’一厂’ OR 部门=’二厂’ 的人员修改为部门=’一厂’,然后Execute strSQL,执行SQL语句。

需要注意点是,在执行SQL预计前一定要先打开数据表,数据表如果是关闭的,将无法执行。

在开篇提到的动态修改记录的方案是修改上面WHERE之后语句,让条件在工作表单元格中体现,然后在此语句中关联到单元格的内容即可实现可以动态的修正。

下面看我们今日代码的执行过程:

在上面的工作表中点击”修改编辑特定记录的按钮”:

SQL进阶的注意事项(sql批量修改数据类型)

首先会显示当前记录数:

SQL进阶的注意事项(sql批量修改数据类型)

然后提示记录修改成功:

SQL进阶的注意事项(sql批量修改数据类型)

最后提示记录数:

SQL进阶的注意事项(sql批量修改数据类型)

回头我们再看看数据库中的记录,点击显示总记录数:

SQL进阶的注意事项(sql批量修改数据类型)

今日内容回向:

1 如何处理编辑特定记录?

2 上述方法还可以用之前讲过的哪个方法实现?

本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
投稿

一份尸检报告揭开其死亡真相(迈克尔杰克逊去世是什么原因)

2023-9-18 0:21:55

投稿

免费去水印工具推荐(去水印最好的软件是哪款)

2023-9-18 12:45:45

搜索