作学生管理系统是,会一直弹出一个对话框就是:编码
它几乎无所不在,它的意思很简单就是,它须要数据时,没有数据可用了。spa
通常来说,学生管理系统,就有2个地方最容易出现这个问题。code
If mrc.EOF = False Then mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mybookmark = mrc.Bookmark Call Viewdata End If
这时就会出现这个错误,由于倒数第三句,它找不到该书签,没有数据让它用了,那么就要改成:it
If mrc.EOF Then mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If
这种状况很常见,由于毕竟,当你删除了最后一条记录,就没有数据可用了。io
那么咱们就来编码一下cancelcommand的代码,让她给一个提示,告诉咱们最后一条记录了,删除后,就没有记录。ast
(1)这样分为二种状况:一种是正好最后一条记录(可是记录不仅有一条),第二种状况就是:有且仅有一条记录,首先要判断出来class
(2)这样就用到了2个if语句,第一个先要判断是否是最后一条记录;第一个要判断的是有却仅有一条记录的,咱们要让全部的按钮都不能用|(这样就不会出现这样的错误)。并提示无记录。sed
Private Sub deleteCommand_Click() mybookmark = mrc.Bookmark str2$ = MsgBox("确认是否要删除?", vbOKCancel, "删除当前数据") If str2$ = vbOK Then mrc.MoveNext If mrc.EOF Then‘分为2种状况:一种是是最后一条记录(但不仅一条记录);一种是有且仅有一条记录 mrc.MovePrevious mrc.MovePrevious
If mrc.BOF Then ‘有且仅有一条记录的状况的处理 mrc.MoveNext mrc.Delete MsgBox "最后一条记录已经删除!", vbOKOnly + vbExclamation, "警告" txtCourseno.Text = "" txtCoursename.Text = "" comboCoursetype.Text = "" txtCoursedes.Text = "" Frame2.Enabled = False firstCommand.Enabled = False previousCommand.Enabled = False lastCommand.Enabled = False nextCommand.Enabled = False txtCourseno.Enabled = False txtCoursename.Enabled = False comboCoursetype.Enabled = False txtCoursedes.Enabled = False editCommand.Enabled = False updateCommand.Enabled = False cancelCommand.Enabled = False deleteCommand.Enabled = False Else ‘有不少条记录,但正好删的是第一条记录的处理 mrc.MoveFirst mybookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If Else ‘有不少条记录也不是最后一条记录的处理 'mrc.MoveNext mybookmark = mrc.Bookmark mrc.MovePrevious mrc.Delete mrc.Bookmark = mybookmark Call Viewdata End If Else ‘不删除的处理 mrc.Bookmark = mybookmark Call Viewdata End If End if