问题原因:

当我们删除最后一条记录是由于数据库已经没有记录了,报错。

学生信息管理系统删除最后一条记录报错3021_学生信息管理系统



解决方法

使用 On Error GOTo 可以解决这个问题

具体代码以修改学籍信息为例:

Dim Str2$
'记下当前位置
mybookmark = mrc.Bookmark
'提示是否删除
Str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
'判断按钮类型
On Error GoTo error
If Str2$ = vbOK Then
'移动到数据集下一条记录
mrc.MoveNext
'判断数据是否为空
If mrc.EOF Then
'移动到数据集的第一条记录
mrc.MoveFirst
mybookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = mybookmark
'调用函数显示数据
Call viewdata
Else
mybookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = mybookmark
Call viewdata
End If
Else
mrc.Bookmark = mybookmark
Call viewdata
End If

error
MsgBox "无任何信息,请先添加班级信息!", vbOKOnly + vbExclamation, "警告"
frmModifyclassinfo.Hide
frmAddclassinfo.Show

On Error GoTo error 表示禁止当前过程中任何已启动的错误处理程序,一直到error结束。

方法不止这一种,但这种方法感觉很方便,好理解,简单。