Excel VBA update 语法错误如何解决?

Dim cnn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim ws As Worksheet
Dim ctr As Variant
Private Sub CommandButton3_Click()
Dim rsx As New ADODB.Recordset
Dim sql As String
sql = "update[合同信息$]set" _
& "单位 ='" & 单位.Value & "'" _
& "身份证号= '" & 身份证号.Value & "'" _
& "出生日期= '" & 出生日期.Value & "'" _
& "身份证号= '" & 身份证号.Value & "'" _
& "性别= '" & 性别.Value & "'" _
& "年龄= '" & 年龄.Value & "'" _
& "where 姓名= '" & 姓名.Value & "'"
rsx.Open sql, cnn, adOpenKeyset, adLockOptimistic
Set rsx = Nothing
End Sub
显示的update语法错误是怎么回事?

第1个回答  2020-10-13
SQL语句是错的呀,你msgbox sql就能发现问题:一是缺少逗号和空格,二是身份证号搞了两次,稍微细心就能防止吧,我给你修改如下,由于我没有控件,你试试看是否可行:
Sql = "update [合同信息$] set [单位] ='" & 单位.Value & "',[身份证号]= '" & 身份证号.Value & "',[出生日期]= '" & 出生日期.Value & "',[性别]= '" & 性别.Value & "',[年龄]=" & 年龄.Value & " where [姓名]= '" & 姓名.Value & "'"
第2个回答  2020-10-13
这里英文的解答方式,语法应该是跟阿拉伯的是非常挂钩的