请问个问题,为什么把一个数据集数据插入到另一张表时会插少一条数据的?
代码如下:
Adodc7.RecordSource = "SELECT * FROM bcby"
Adodc7.Refresh
Adodc8.RecordSource = "SELECT * FROM Tmpbcby"
Adodc8.Refresh
Adodc7.Recordset.MoveFirst
Do Until Adodc7.Recordset.EOF = True
   Recordset.AddNew 
   Adodc8.Recordset.Fields("ID") = Adodc7.Recordset.Fields("ID")
   Adodc8.Recordset.Fields("rq") = Format(ComYearMonth, "YYYYMM")
   Adodc8.Recordset.Fields("bh") = Adodc7.Recordset.Fields("bh")
   adodc8.recordset.update
   Adodc7.Recordset.MoveNext
LoopAdodc7数据集总记录为313条
但adodc8插入完后就是312条,少了最后一条记录
请问这是为什么,要怎样才能插入313条记录???

解决方案 »

  1.   

    while not adodc7.recordset.eof
    Adodc8.Recordset.Fields("ID") = Adodc7.Recordset.Fields("ID")
    Adodc8.Recordset.Fields("rq") = Format(ComYearMonth, "YYYYMM")
    Adodc8.Recordset.Fields("bh") = Adodc7.Recordset.Fields("bh")
    adodc8.recordset.update
    Adodc7.Recordset.MoveNext
    wend 
    你这样测试一下。
      

  2.   


    这样就不会少了:Adodc7.Recordset.ActiveConnection.Execute "Insert Into Tmpbcby Select * From bcby"
      

  3.   

    回复楼上,我改成While循环了,效果一样,还是少了最后一条记录
      

  4.   


    或者:
    Adodc7.Recordset.ActiveConnection.Execute "Insert Into Tmpbcby Select ID, bh From bcby"Adodc7.Recordset.ActiveConnection.Execute "Update Table Tmpbcby Set rq='" & Format(ComYearMonth, "YYYYMM") & "' Where IsNull(rq)"
      

  5.   

    [Quote=引用 2 楼 of123 的回复:]
    这样就不会少了:Adodc7.Recordset.ActiveConnection.Execute "Insert Into Tmpbcby Select * From bcby"回复:这样是不会少记录,但我不是想要bcby表中的所有字段,我只要bcby表中部份插入字段到Tmpbcby表中。
      

  6.   

    或者:
    Adodc7.Recordset.ActiveConnection.Execute "Insert Into Tmpbcby Select ID, bh From bcby"Adodc7.Recordset.ActiveConnection.Execute "Update Table Tmpbcby Set rq='" & Format(ComYearMonth, "YY……
    回复: Tmpbcby表中的ID及RQ字段都有索引的,不允许为空的,需在一条语句插入一行才能新增下一行的。
      

  7.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
      

  8.   

    [Quote=引用 6 楼 kennyliang11 的回复:]
    或者:
    Adodc7.Recordset.ActiveConnection.Execute "Insert Into Tmpbcby Select ID, bh From bcby"Adodc7.Recordset.ActiveConnection.Execute "Update Table Tmpbcby Set rq='" & Format(ComYearMonth,……
    请问在使用一条Insert 语句时要使新表中一个字段的数据rq=Format(ComYearMonth, "YYMMDD"),其它字段的数据出From bcby可以做到吗?
      

  9.   

    Insert Into Tmpbcby(字段1,字段2) Select ID, bh From bcby
      

  10.   

    Loop 后面 Adodc8 再做一次 MoveNext 操作,才会将数据递交。