下面是我自己做的软件,就三个按钮,在同一窗体,为什么我点击了第一部分的按钮后,再点第二部分,再点第三部分这时候会报错“无法为更新定位行。一些值可能已在取后一次读取后已更改。”,如果取启窗体后,再进行第二第三部分操作就没有问题。第一部分
Private Sub 重新排班_Click()If MsgBox("你确定要重新排班吗?", vbQuestion + vbYesNo + vbDefaultButton2, "温馨提示") = vbYes Then
Adodc3.Refresh
Adodc1.Refresh
'对车辆进行操作
If Adodc4.Recordset.RecordCount <> 0 Then
Adodc4.Recordset.MoveFirst
Do While Not Adodc4.Recordset.EOF
Adodc4.Recordset.Delete
Adodc4.Recordset.MoveNext
Loop
Do While Not Adodc3.Recordset.EOF
Adodc4.Recordset.AddNew
Adodc4.Recordset.Fields("车牌") = Adodc3.Recordset.Fields("车牌")
Adodc4.Recordset.Fields("车租") = Adodc3.Recordset.Fields("车租")
Adodc4.Recordset.Fields("车主") = Adodc3.Recordset.Fields("车主")
Adodc4.Recordset.Fields("系数") = Adodc3.Recordset.Fields("系数")
Adodc4.Recordset.Fields("是否固定") = 0
Adodc4.Recordset.Update
Adodc3.Recordset.MoveNext
Loop
Else
Do While Not Adodc3.Recordset.EOF
Adodc4.Recordset.AddNew
Adodc4.Recordset.Fields("车牌") = Adodc3.Recordset.Fields("车牌")
Adodc4.Recordset.Fields("车租") = Adodc3.Recordset.Fields("车租")
Adodc4.Recordset.Fields("车主") = Adodc3.Recordset.Fields("车主")
Adodc4.Recordset.Fields("系数") = Adodc3.Recordset.Fields("系数")
Adodc4.Recordset.Fields("是否固定") = ""
Adodc4.Recordset.Update
Adodc3.Recordset.MoveNext
Loop
End If
Adodc3.Refresh
'DataGrid1.Refresh
'Adodc4.Recordset.MoveFirst'Adodc4.Recordset.MovePrevious
'Adodc4.Refresh
'对排班司机进行操作
If Adodc2.Recordset.RecordCount <> 0 Then    '如果表不为空,则进行删除
    Adodc2.Recordset.MoveFirst          '指针移到第一条记录
Do While Not Adodc2.Recordset.EOF
    Adodc2.Recordset.Delete
    Adodc2.Recordset.MoveNext
Loop
Do While Not Adodc1.Recordset.EOF
    Adodc2.Recordset.AddNew
    Adodc2.Recordset.Fields("司机编号") = Adodc1.Recordset.Fields("司机编号")
    Adodc2.Recordset.Fields("姓名") = Adodc1.Recordset.Fields("姓名")
    Adodc2.Recordset.Fields("是否固定") = Adodc1.Recordset.Fields("是否固定")
    Adodc2.Recordset.Update
    Adodc1.Recordset.MoveNext
    'Adodc2.Recordset.MoveNext
Loop
Else
Do While Not Adodc1.Recordset.EOF
    Adodc2.Recordset.AddNew
    Adodc2.Recordset.Fields("司机编号") = Adodc1.Recordset.Fields("司机编号")
    Adodc2.Recordset.Fields("姓名") = Adodc1.Recordset.Fields("姓名")
    Adodc2.Recordset.Fields("是否固定") = Adodc1.Recordset.Fields("是否固定")
    Adodc2.Recordset.Update
    Adodc1.Recordset.MoveNext
    'Adodc2.Recordset.MoveNext
Loop
End If
Adodc1.Refresh
'DataGrid2.Refresh
'Adodc2.Recordset.MoveFirst
'Adodc2.Recordset.MovePrevious
'Adodc2.Refresh
'DataGrid2.RefreshEnd If
End Sub
第二部分
Private Sub Command3_Click()
If Adodc4.Recordset.Fields("司机编号") <> "" Then
MsgBox "该的士已安排司机", , "提示"
ElseIf Adodc2.Recordset.RecordCount <> 0 Then
    Adodc4.Recordset.Fields("司机编号") = Adodc2.Recordset.Fields("司机编号")
    Adodc4.Recordset.Fields("姓名") = Adodc2.Recordset.Fields("姓名")
    Adodc4.Recordset.Fields("是否固定") = Adodc2.Recordset.Fields("是否固定")
    Adodc4.Recordset.Fields("日期") = CStr(Now())
    Adodc4.Recordset.Update
    Adodc2.Recordset.Delete
    Adodc2.Recordset.Update
    'Adodc2.Refresh
    
Else
MsgBox "所有司机已排班", , "提示"
End If
End Sub
第三部分
Private Sub Command4_Click()
'On Error GoTo error1:
If Adodc4.Recordset.Fields("司机编号") <> "" Then
    Adodc2.Recordset.AddNew
    Adodc2.Recordset.Fields("司机编号") = Adodc4.Recordset.Fields("司机编号")
    Adodc2.Recordset.Fields("姓名") = Adodc4.Recordset.Fields("姓名")
    Adodc2.Recordset.Fields("是否固定") = Adodc4.Recordset.Fields("是否固定")
    Adodc2.Recordset.Update
    Adodc4.Recordset.Fields("司机编号") = ""
    Adodc4.Recordset.Fields("地址") = ""
    Adodc4.Recordset.Fields("姓名") = ""
    Adodc4.Recordset.Fields("日期") = ""
    Adodc4.Recordset.Fields("油费") = Null
    Adodc4.Recordset.Fields("公里") = Null
    Adodc4.Recordset.Update
    'Adodc2.Recordset.MoveFirst
    'Adodc4.Recordset.MoveFirst
Else
MsgBox "该的士没有安排司机", , "提示"
'error1:
   'Adodc2.Refresh
    'MsgBox "该车没有安排司机", , "提示"
End If
End Sub