实时错误‘3021’ BOF或EOF中有一个是‘真’,或者当前的记录已被删除,所需的操作要求一个当前的记录

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:32:47
Private Sub cmdDel_Click()
'当单击删除记录时,需要弹出一个提示框,警告用户
Dim answer As String
answer = MsgBox("确定要删除吗?", vbYesNo, "")
'确实删除
If answer = vbYes Then
rs_client.Delete '删除当前记录
rs_client.Update '更新删除
MsgBox "成功删除!", vbOKOnly + vbExclamation, ""
Else
Exit Sub
End If
'删除之后,显示总信息条数需要减 1
Text2.Text = Val(Text2.Text) - 1
'删除当前记录后,需要显示下一条记录,如果删除的是最后一条记录,则显示上一条记录
'先移动rs_client记录到后一条
rs_client.MoveNext
If rs_client.EOF Then
rs_client.MovePrevious
'如果没有到记录首则显示改记录
If Not rs_client.BOF Then
For i = 0 To 14
Text1(i).Text = rs_client.Fields(i)
Next i
If rs_client.Fields(15) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
'如果

在删除完记录后,记录集会自动到下一条或记录末尾
if rs_client.eof and rs_client.bof then
'记录都被删除了,记录集没有记录了
'相关处理语句
elseif rs_client.eof then
'到末尾了,定位到最后一条
rs_client.movelast
else
'当前记录有效
'此时不需要记录定位
end if