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

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

首先得清楚什么是BOF和EOF

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

BOF跟EOF的返回值为:

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

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

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

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

在修改成绩窗体中,删除记录,当删除完表中的数据就会报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是一个经典错误,大家也可以自己想解决问题的办法。如有不正确,请及时斧正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值