+ -
当前位置:首页 → 问答吧 → VBA中字段名和保留字冲突的处理

VBA中字段名和保留字冲突的处理

时间:2011-04-02

来源:互联网

为了把电子表格中的工资数据导入到农行的数据库中,,经检查是字段名Sum和保留字冲突所致。最后把sum改为[sum]才成功。具体代码如下:
Public Sub 导工资数据到数据库中()
Dim mydata, mytable, SQL, Accoun, shew As String
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim gzsum As Single
Dim a%, x%
mydata = ThisWorkbook.Path & "\salary.mdb"    '指定数据库
mytable = "CustomerInfo"      '指定数据表

'※※※建立与数据库的连接※※※
With cnn
   .Provider = "microsoft.jet.oledb.4.0"
   .Properties("Data Source") = "D:\六中工资\代发工资系统\salary.mdb"         ' 数据库的路径和名称
   .Properties("Jet OLEDB:Database Password") = "ketesiw,"   '数据库有密码,加上这一句
   .Open
End With

'※※※把应发工资金额导入到数据库中※※※
With Sheets("银行发放情况")
  a = .[f65536].End(xlUp).Row
  For x = 4 To a - 1
       '将客户账号/卡号(字段名为CustomerAccount)符合条件的交易金额(字段名为sum)修改
       Accoun = .Cells(x, 4)
       gzsum = .Cells(x, 6)
     '交易金额 客户账号/卡号  如果不是保留字不用加[],这里Sum是保留字,所以用[Sum]
       SQL = "update " & mytable & " set [Sum] = " & gzsum & " where CustomerAccount='" & Accoun & "'"
       rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
  Next
End With
MsgBox "所有人员的工资数据已经全部导入到数据库中!!"
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
数据库是在D:\六中工资\代发工资系统\目录下,数据库密码为:ketesiw,

[ 本帖最后由 denghuajiang 于 2011-4-2 18:25 编辑 ]

附件

123.JPG(11.46 KB)

2011-4-2 18:25

错误提示

作者: denghuajiang   发布时间: 2011-04-02

支持一下!

作者: doitbest   发布时间: 2011-04-02