代码如下:
Private Sub Command13_Click()
Dim k As Integer
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseClient
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Rs.Source = "SELECT * FROM channel WHERE departmentid=" & strDepID & "OR departmentid='001001001'"
Rs.ActiveConnection = Cn
Rs.Open
For k = 1 To FlexGrid1.Row
    If Not Rs.EOF Then
    If FlexGrid1.TextMatrix(k, 1) = "√" Then
        Rs.Fields("departmentid") = strDepID 'strDepID已获取
       
    ElseIf FlexGrid1.TextMatrix(k, 1) = "" Then
        Rs.Fields("departmentid") = "001001001"
       
    End If
    
    
    Rs.MoveNext
    End If
Next k
 Rs.Update
Rs.Close
Set Rs = Nothing
End Sub当我在表格中只修改其中一条记录时,若是该记录在表格中的最下一行,则update会报错。若是非最后一行,则正常。
百思不得其解,是不是循环出了问题。大家帮忙看看!