各位大虾,我想把一个msflexgrid内容写到access库,但每次只能添加一条记录,请问这段代码错在哪里?Private Sub cmdOK_Click()
Dim i As Integer
Set rsb = con.Execute("select * from tb_spk")
If Not rs.State = adStateClosed Then rs.Close
rs.Open "select * from tb_jhk", con, adOpenKeyset, adLockOptimistic
rs.AddNew
For i = 0 To MSFJh.Rows - 1
  rs.Fields(0) = MSFJh.TextMatrix(i, 0)
  rs.Fields(1) = MSFJh.TextMatrix(i, 1)
  rs.Fields(2) = MSFJh.TextMatrix(i, 4)
  rs.Fields(3) = Val(MSFJh.TextMatrix(i, 5))
  rs.Fields(4) = MSFJh.TextMatrix(i, 6)
  rs.Fields(5) = Val(MSFJh.TextMatrix(i, 7))
  rs.Fields(6) = rsb.Fields(5)
  rs.Fields(7) = MSFJh.TextMatrix(i, 8)
  rs.Fields(8) = MSFJh.TextMatrix(i, 9)
  rs.Fields(9) = MSFJh.TextMatrix(i, 10)
  rs.Update
Next i
  MsgBox "已添加进货单"
  rs.CloseEnd Sub

解决方案 »

  1.   

    Private Sub cmdOK_Click()
    Dim i As Integer
    Set rsb = con.Execute("select * from tb_spk")
    If Not rs.State = adStateClosed Then rs.Close
    rs.Open "select * from tb_jhk", con, adOpenKeyset, adLockOptimisticFor i = 0 To MSFJh.Rows - 1
       rs.AddNew
      rs.Fields(0) = MSFJh.TextMatrix(i, 0)
      rs.Fields(1) = MSFJh.TextMatrix(i, 1)
      rs.Fields(2) = MSFJh.TextMatrix(i, 4)
      rs.Fields(3) = Val(MSFJh.TextMatrix(i, 5))
      rs.Fields(4) = MSFJh.TextMatrix(i, 6)
      rs.Fields(5) = Val(MSFJh.TextMatrix(i, 7))
      rs.Fields(6) = rsb.Fields(5)
      rs.Fields(7) = MSFJh.TextMatrix(i, 8)
      rs.Fields(8) = MSFJh.TextMatrix(i, 9)
      rs.Fields(9) = MSFJh.TextMatrix(i, 10)
      rs.Update
    Next i
      MsgBox "已添加进货单"
      rs.Close