我需要再数据集李建立一个新的列(reduct),然后需要查询另一个列(id)
其中表employee里没有reduct字段。
rptReduct1.Fields.Append "reduct", adInteger, 40, adFldFixed
If rptReduct1.State = adStateOpen Then rptReduct1.Close
  rptReduct1.CursorLocation = adUseClient
  rptReduct1.Open "select id from employee", dbConnect, adOpenDynamic, adLockOptimistic
接着我需要做一个循环,吧reduct字段的每一个值复成0。
rptReduct1.MoveFirst
 For intI = 0 To rptReduct1.RecordCount - 1
   
*  rptReduct1.Fields("reduct") = 0
   rptReduct1.MoveNext
 Next intI
但*行运行不过去:
再对应所需名称或序数集合中未找到该项目

解决方案 »

  1.   

    因为rptReduct1.Open "select id from employee", 
    所以rptReduct1中只有Fields("id"),没有Fields("reduct")
      

  2.   

    试试:
    dim tmpRS as Adodb.Recordset
    dim i as integer
    rptReduct1.Fields.Append "id", adInteger, 40, adFldFixed
    rptReduct1.Fields.Append "reduct", adInteger, 40, adFldFixed
    rptReduct1.Open
    tmpRs.Open "select id from employee", dbConnect, adOpenDynamic, adLockOptimistic
    for i=0 to tmpRS.RecordCount-1
       rptReduct1.Fields("id") = tmpRS.Fields("id")
       rptReduct1.Fields("reduct") = 0
       tmpRS.MoveNext
    Next i
      

  3.   

    "update employee set reduct=0"
      

  4.   

    rptReduct1.Fields("reduct") = 0
    rptReduct1.Update    '加这行
      

  5.   

    up!
    rptReduct1.Fields("reduct") = 0
    rptReduct1.Update    '加这行