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

PrivateSubcmdDel_Click()'当单击删除记录时,需要弹出一个提示框,警告用户DimanswerAsStringanswer=MsgBox("确定要删除... 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
'如果到记录首,则表格已经为空,置所有text框显示为空
ElseIf rs_client.BOF Then
For i = 0 To 14
Text1(i).Text = ""
Next i
End If
'如果删除的不是首尾记录,则显示当前记录即可
Else
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
End If

End Sub

在删除第一条和最后一条记录的时候就会发生这样的错误。谢谢
展开
 我来答
excel712
2008-05-19 · TA获得超过329个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:0
展开全部
在删除完记录后,记录集会自动到下一条或记录末尾
if rs_client.eof and rs_client.bof then
'记录都被删除了,记录集没有记录了
'相关处理语句
elseif rs_client.eof then
'到末尾了,定位到最后一条
rs_client.movelast
else
'当前记录有效
'此时不需要记录定位
end if
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式