If rs.EOF = False Then
For i = 1 To MSFlexGrid1.Rows - 2
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 1
rs.Fields(0) = Trim(MSFlexGrid1.Text)
MSFlexGrid1.Col = 2
rs.Fields(0) = Trim(MSFlexGrid1.Text)
MSFlexGrid1.Col = 4
rs.Fields(1) = Trim(MSFlexGrid1.Text)
rs.Update
rs.MoveNext
Next i
End If我用这方法运行后报错。请问各位怎样编写

解决方案 »

  1.   

    If rs.EOF = False Then
    For i = 1 To MSFlexGrid1.Rows - 2
    在for之前加入
    rs.insert??
      

  2.   

    Dim intCol As Long
    If rs.EOF = True And rs.BOF = True Then
        MsgBox "Error"
    Else
        rs.MoveFrist
        intCol = 1
    For i = 1 To MSFlexGrid1.Rows - 2
        rs.Fields(0) = MSFlexGrid1.TextMatrix(i, intCol)
        rs.Fields(1) = MSFlexGrid1.TextMatrix(i, Col + 1)
        rs.Fields(2) = MSFlexGrid1.TextMatrix(i, Col + 2)
        rs.MoveNext
    Next i
     rs.UpdateEnd If
    这样,直接可以用MSFlexGrid1.TextMatrix(Row, Col)就可以写值到结果集中了
    但是事先在结果集中因该已经有了3条记录,要不就要加上rs.Add
      

  3.   

    在开始的时候加上MSFlexGrid1.rows=rs.recordcount-1Dim intCol As Long
    If rs.EOF = True And rs.BOF = True Then
        MsgBox "Error"
    Else
        MSFlexGrid1.rows=rs.recordcount-1
        MSFlexGrid1.cols=3
        rs.MoveFrist
        intCol = 1
    For i = 1 To MSFlexGrid1.Rows - 2
        rs.Fields(0) = MSFlexGrid1.TextMatrix(i, intCol)
        rs.Fields(1) = MSFlexGrid1.TextMatrix(i, Col + 1)
        rs.Fields(2) = MSFlexGrid1.TextMatrix(i, Col + 2)
        rs.MoveNext
    Next i
     rs.UpdateEnd If