①如何在数据库中动态删除和建立数据表(第14讲)
③根据工作表中的数据,生成数据库中新的数据表的方法(第22讲);
⑤把工作表中提供的数据在数据表中逐一删除(可以是重复的记录)的通用方法(第24讲);
⑦把工作表中不存在的记录在数据表中批量删除的方法(第26讲);
⑨把数据表中对应工作表的数据首先删除,然后向数据表中导入工作表的数据(第28讲)
今日我们讲解的内容是如何批量的修改记录,这个问题也可以先删除,再添加记录来解决。当然,我们今日要讲的方法和上述的思路不一样:
我们要把民族修正为下面的内容:
Sub mynzUpdateRecords_1() '第29讲批量修改记录
Dim strPath, strTable, strWhere, strSQL, strMsg As String
Set rsADO = CreateObject("ADODB.Recordset")
strTable = "员工信息"
'汇报给用户记录数
rsADO.Open strSQL, cnADO, 1, 3
'构建一个字符串,用在SQL中
Do While ActiveSheet.Cells(1, i) <> ""
i = i + 1
strField = Mid(strField, 2, Len(strField) - 1) '去除最前面的逗号
strSQL = "UPDATE " & strTable & " A,[Excel 12.0;Imex=0;Database=" _
& Range("A1").CurrentRegion.Address(0, 0) & "] B " _
'MsgBox (strSQL)
MsgBox "数据修改成功。", vbInformation, "数据修改"
'汇报给用户记录数
rsADO.Open strSQL, cnADO, 1, 3
'释放内存
cnADO.Close
Set cnADO = Nothing
代码截图:
'构建一个字符串,用在SQL中
Do While ActiveSheet.Cells(1, i) <> ""
i = i + 1
strField = Mid(strField, 2, Len(strField) - 1) '去除最前面的逗号
strSQL = "UPDATE " & strTable & " A,[Excel 12.0;Imex=0;Database=" _
& Range("A1").CurrentRegion.Address(0, 0) & "] B " _
'MsgBox (strSQL)
MsgBox "数据修改成功。", vbInformation, "数据修改"
上述代码首次要构建一个字符串然后用在SQL中:这个字符串的组成其实要说明的是两个表(工作表和数据表)中的字段相同。
Do While ActiveSheet.Cells(1, i) <> ""
i = i + 1
然后在SQL中打开相应的记录,关于SQL语句的写法,不作为本书的重点,实际遇到的语句大家可以理解,作为一种规范的写法即可,如果有兴趣的朋友可以参考专门的书籍。
strSQL = "UPDATE " & strTable & " A,[Excel 12.0;Imex=0;Database=" _
& Range("A1").CurrentRegion.Address(0, 0) & "] B " _
这条SQL语句中"UPDATE "是编辑记录,修改的记录集的记录.然后用EXECUTE执行.
下面我们看程序的运行过程,我们先显示一下数据库中的记录:
然后我们点击修改记录:
最后提示记录数:
今日内容回向:
2 上述批量修改记录的方法还有什么?
