|
各位大神晚上好,小弟想请教一个问题,就是如何在Excel内部使用sql中的update语句,来对指定工作表的某一列进行更新,如下图这个学生表
我想把学生姓名为"D"更新成”dd",我的代码如下,请各位大神指正
Sub 更新()
Dim ADO As Object, sql代码, 连接字符串 As String, arr
Set ADO = CreateObject("ADODB.connection") '创建ADO对象
Select Case Application.Version * 1 '判断Excel的版本号
Case Is <= 11: 连接字符串 = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;Imex=0;Hdr=Yes';Data source=" & ThisWorkbook.FullName '如果是03版本
Case Is >= 12: 连接字符串 = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';Data Source=" & ThisWorkbook.FullName '如果是07或者07版本以上
End Select
ADO.Open 连接字符串 '通过ADO打开数据库连接
sql代码 = "update [学生表$] set 姓名=""dd"" where 姓名=""D""" '设置sql语句(注意在VBA中使用引号记得要加上双引号)"
MsgBox sql代码
ADO.Execute (sql代码) '利用connection对象的Execute方法执行sql语句,并把结果输出到B2单元格
ADO.Close '关闭数据库连接
End Sub
|
|