str1 = "select * from employee"
 If cmttable1.State = adStateOpen Then
    cmttable1.Close
 End If
 cmttable1.Open str1, cmtdata1, adOpenKeyset, adLockOptimistic, adCmdText
 cmttable1.AddNew
   cmttable1.Fields("2") = "fdsfs"   '2是字段名
   cmttable1.Fields("1") = "gfgf"    '1是字段名
   
   cmttable1.Update
   
End Sub出现错误!我知道“1”,“2”这样的名称不能做字段名,但因数据结构的原因,我必须,请问上面的语法如何写!

解决方案 »

  1.   

    '用索引吧.
    cmttable1.Fields(0) = "fdsfs"   '2是字段名
    cmttable1.Fields(1) = "gfgf"
      

  2.   

    或者试试
    cmttable1.Fields("[2]") = "fdsfs"
    我没试过。嘿
      

  3.   

    cmttable1.AddNew
    cmttable1.RecordSet("[2]") = "fdsfs"   
    cmttable1.RecordSet("[1]") = "gfgf"   
    cmttable1.Update
      

  4.   

    str1=" insert into employee(2,1) values('fdsfs',fgfg')"
    cmtdata1.execute str1
      

  5.   

    str1=" insert into employee([2],[1]) values('fdsfs',fgfg')"
    cmtdata1.execute str1
      

  6.   


       用cmttable1.Fields(1)不行,不大可能吧?我都用过!
      

  7.   

    不要使用引号,用数字按顺序来.
    .fields(0)
    .fields(1)
      

  8.   

    rs.fields(0).vale=...
    没错的。
      

  9.   

    不要使用引号,用数字按顺序来.
    .fields(0)
    .fields(1)
    同意ygrobin的意见
      

  10.   

    试试
    cmttable1.Fields.item(0).value = "fdsfs"   '2是字段名
    cmttable1.Fields.item(1).value = "gfgf"    '1是字段名