BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

编程入门 行业动态 更新时间:2024-10-25 22:30:09

BOF或EOF中有一个是“真”,或者当前的记录<a href=https://www.elefans.com/category/jswz/34/1771442.html style=已被删除,所需的操作要求一个当前的记录。"/>

BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

  做学生管理系统是,会一直弹出一个对话框就是:

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

  

 它几乎无所不在,它的意思很简单就是,它需要数据时,没有数据可用了。

 一般来讲,学生管理系统,就有2个地方最容易出现这个问题。

 第一个:编码错了

If mrc.EOF = False Thenmrc.MoveFirstmybookmark = mrc.Bookmarkmrc.MoveLastmrc.Deletemybookmark = mrc.BookmarkCall Viewdata
End If

  这时就会出现这个错误,因为倒数第三句,它找不到该书签,没有数据让它用了,那么就要改为:

 If mrc.EOF Thenmrc.MoveFirst       mybookmark = mrc.Bookmarkmrc.MoveLastmrc.Deletemrc.Bookmark = mybookmarkCall ViewdataEnd If


 

 

 

 

     第二种情况就是:它确实没有数据了。

  这种情况很常见,因为毕竟,当你删除了最后一条记录,就没有数据可用了。

  那么我们就来编码一下cancelcommand的代码,让她给一个提示,告诉我们最后一条记录了,删除后,就没有记录。

  (1)这样分为二种情况:一种是正好最后一条记录(但是记录不只有一条),第二种情况就是:有且仅有一条记录,首先要判断出来

 (2)这样就用到了2个if语句,第一个先要判断是不是最后一条记录;第一个要判断的是有却仅有一条记录的,我们要让所有的按钮都不能用|(这样就不会出现这样的错误)。并提示无记录。

 

 

 
 
Private Sub deleteCommand_Click()mybookmark = mrc.Bookmarkstr2$ = MsgBox("确认是否要删除?", vbOKCancel, "删除当前数据")          If str2$ = vbOK Thenmrc.MoveNextIf mrc.EOF Then‘分为2种情况:一种是是最后一条记录(但不只一条记录);一种是有且仅有一条记录mrc.MovePreviousmrc.MovePrevious
            If mrc.BOF Then ‘有且仅有一条记录的情况的处理mrc.MoveNextmrc.DeleteMsgBox "最后一条记录已经删除!", vbOKOnly + vbExclamation, "警告"txtCourseno.Text = ""txtCoursename.Text = ""comboCoursetype.Text = ""txtCoursedes.Text = ""Frame2.Enabled = FalsefirstCommand.Enabled = FalsepreviousCommand.Enabled = FalselastCommand.Enabled = FalsenextCommand.Enabled = FalsetxtCourseno.Enabled = FalsetxtCoursename.Enabled = FalsecomboCoursetype.Enabled = FalsetxtCoursedes.Enabled = FalseeditCommand.Enabled = FalseupdateCommand.Enabled = FalsecancelCommand.Enabled = FalsedeleteCommand.Enabled = FalseElse‘有很多条记录,但正好删的是第一条记录的处理            mrc.MoveFirstmybookmark = mrc.Bookmarkmrc.MoveLastmrc.Deletemrc.Bookmark = mybookmarkCall ViewdataEnd IfElse                ‘有很多条记录也不是最后一条记录的处理'mrc.MoveNextmybookmark = mrc.Bookmarkmrc.MovePreviousmrc.Deletemrc.Bookmark = mybookmarkCall ViewdataEnd IfElse                   ‘不删除的处理mrc.Bookmark = mybookmarkCall ViewdataEnd If
End if


更多推荐

BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

本文发布于:2024-03-14 06:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1735891.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:已被   中有   所需   操作   BOF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!