大家好,今日我们继续VBA数据库解决方案的第30讲:如何批量修改数据库中的特定记记录数据。在上一讲中,我们讲了批量编辑数据的方案,用到的是UPDATE方法,今日我们仍用此方法解决删除特定记录。这些记录是由于是特殊的,我们可以结合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 "数据修改成功。