学生信息管理系统—实时错误“3021”

学生信息管理系统—实时错误“3021”一出现 3021 问题就是 BOF 或 EOF 中有一个是 真 或者当前记录已被删除 操作要求一个当前的记录

大家好,欢迎来到IT知识分享网。

一出现3021问题就是BOF或EOF中有一个是”真”,或者当前记录已被删除,操作要求一个当前的记录。

首先得清楚什么是BOF和EOF

BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。

BOF跟EOF的返回值为:

BOF:为True:表示的是当前指针的位置是在的第一行的前面。

           为False:时表示的是指针的位置是在第一行,或者第一行的后面。

EOF:为True表示当前的是当前指针的位置是在最后一行的后面

           为False表示指针的位置是在最后一行,或者在最后一行的前面。

在修改成绩窗体中,删除记录,当删除完表中的数据就会报3021的错误

学生信息管理系统—实时错误“3021”

错误出现的原因:

因为需要查询的表在数据中没有任何的数据。例如    当系统中还没有添加任何信息,然后点击修改信息点的时候,就会弹出事实错误3921 的错误

以下是我做的对3021错误的修改

 mybookmark = mrc.Bookmark '做标记 str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录") If str2$ = vbOK Then mrc.MoveNext If mrc.RecordCount = 1 Then str2$ = MsgBox("这是最后一条记录,是否删除?", vbOKCancel + vbExclamation, "警告") If str2$ = vbOK Then mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = mybookmark str2$ = MsgBox("数据为空!", vbOKOnly + vbExclamation, "提示") If str2$ = vbOK Then Unload Me frmaddclassinfo.Show Exit Sub Else Unload Me frmaddclassinfo.Show Exit Sub End If Else Exit Sub End If Else mybookmark = mrc.Bookmark '记载当前位置 mrc.MovePrevious mrc.Delete mrc.Bookmark = mybookmark '取消标记 Call viewData End If End If

还可以加error GOTO拍错语句。3021是一个经典错误,大家也可以自己想解决问题的办法。如有不正确,请及时斧正!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139895.html

(0)
上一篇 2025-06-01 14:20
下一篇 2025-06-01 14:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信