使用带数据控制的 AddNew 更新 RecordSet

Update RecordSet using AddNew with data control

我有一个网格,它从绑定到网格的 'Data' 控件获取数据源。我想将另一个记录集中的数据添加到这个记录集中。

到目前为止我得到的是:

If rs.BOF = False Then
   rs.MoveFirst
End If

Do Until rs.EOF
   With Dta_Lines.Recordset
      .AddNew
      !Quantity_Ordered = rs.Fields(2)
      !Stock_Code = CStr(rs.Fields(1))
   End With

   rs.MoveNext
Loop

Dta_Lines.RecordSet.Update
Dta_Lines.RecordSet.Refresh

但是,这并没有正确填充网格。新行保持空白,然后在调用 Refresh 方法后被删除。

如何更改此设置以便网格添加新行并填充 Stock_CodeQuantity_Ordered 值?

我的 VB6 知识非常有限,但是,您是否尝试过将 .Update 调用放在 With 块中?

我认为在它的当前结构中,它将添加一个新行但不保存它,因为每个循环都会覆盖先前添加的行,因为更改没有被提交。

Do Until rs.EOF
   With Dta_Lines.Recordset
     .AddNew
     !Quantity_Ordered = rs.Fields(2)
     !Stock_Code = CStr(rs.Fields(1))
     .Update
  End With

  rs.MoveNext
Loop

细微的变化,但我认为它应该可以解决问题。