实时错误“3021”在Delete事件中出现的解决方法
来源:互联网 发布:淘宝无法打开登录界面 编辑:程序博客网 时间:2024/05/21 10:35
上一篇介绍了实时错误“3021”在修改无记录信息是出现的解决方法,现在再来介绍当实时错误“3021”在delete事件中出现的解决方法。
事实上,二者的解决思想是相同的都是在程序报错时,对错误点进行错误处理。但是,这里呢,有一点儿小小的区别,就是通过运行条件来推理错误的原因,进而总结出错误处理的方法。大家耐心的来听我说。
大家在编写修改记录中的删除记录按钮时,经常会遇到如下报错:
经过几次的尝试,我们会总结出一条规律,那就是
1、当表中只剩一条记录时,点击删除记录按钮,程序会报错
2、当表中没有记录时,点击删除记录按钮,程序也会报错
以上两种情况见下面代码中的注释1、2、
除此之外,在修改信息的窗体中一般是不会出现同样的错误的,那么我们就可以根据我们发现的原因,来对程序作出相应的错误处理。只要在经过上述两种情况时,直接进行错误处理的步骤就OK了!
错误处理的代码和原来的类似,只是这次要把两种原因都考虑进去,那么我们会用到多个if语句来嵌套。
代码如下:
Private Sub deleteCommand_Click() '删除记录按钮On Error GoTo 1: '进行错误处理 Dim MsgText As String myBookmark = mrc.Bookmark str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除记录") If str2$ = vbOK Then mrc.MoveNext ’移至下一条记录 If mrc.EOF Then mrc.MoveFirst myBookmark = mrc.Bookmark '对第一条进行标记 mrc.MoveLast '在返回最后一条记录,即想要删除的记录 mrc.Delete '删除记录 mrc.Bookmark = myBookmark Else myBookmark = mrc.Bookmark '对即将删除的记录的下一条进行标记,以备删除记录后显示该记录 mrc.MovePrevious mrc.Delete '删除当前记录 mrc.Bookmark = myBookmark '找到原来的标签记录 End If End If 1: '错误处理过程 If Err = 3021 Then If mrc.BOF And mrc.EOF Then '1、无记录的情况 MsgBox "无可删除的记录!" Else '2、只有一条记录的情况 str1 = MsgBox("最后一条记录,是否删除?", vbOKCancel, "删除记录") If str1 = vbOK Then MsgBox "最后一条记录已删除!" Unload Me Else Exit Sub End If End If End If End Sub
经过这样处理后,便不再出现上面的错误提示了!
不过在这里我们需要理解EOF和BOF的真正含义
EOF:end of file ,它并不是指最后一条记录,而是指最后一条记录的末尾
BOF:begin of file,它也不是指第一条记录,而是指第一条记录之前
如果不能很好的理解EOF 和 BOF 那么,上述代码在理解上就会出现矛盾!
- 实时错误“3021”在Delete事件中出现的解决方法
- 数据库中无记录遇到实时错误“3021”的解决方法
- 在使用JasperReport中出现错误的部分解决方法
- 在IIS中使用pyodbc出现错误的解决方法
- 在node中使用GraphicsMagick出现以下错误的解决方法
- MFC中出现错误的解决方法。
- oracle中出现的错误及解决方法
- VS2013中编译项目在静态库中使用MFC出现错误的解决方法
- 在Windows2003中ASP出现(错误“不允许的父路径 ”)问题的解决方法
- “getaddrinfo failed: 在数据库查找中出现一个不可恢复的错误”的解决方法
- 在eclipse中使用android tools 打包出现的错误的解决方法
- 出现错误的解决方法:
- 出现错误的解决方法:
- VS2005 在线程中 使用 UPDATEDATA 出现错误 解决方法
- 在C******App::InitInstance() 中出现Access Violation错误的解决方法
- 在程序中进行make以后出现的一些错误以及解决方法
- 在VS中使用Boost库出现Macro redefinition错误的解决方法(warning C4005)
- 在android编程中出现错误的解决方法——【持续更新】
- Hibernate的10个常见面试问题及答案
- Android adb “push pull”中文支持解决方案
- dom4j详解之读取XML文件
- Java深度历险(二)——Java类的加载、链接和初始化
- BitBlt介绍
- 实时错误“3021”在Delete事件中出现的解决方法
- 旺铺基础版怎么升级专业版
- spring整合ibatis步骤及配置文件
- z-index影响下的层级布局
- SQL语句的添加、删除、修改多种方法
- Grails2中GORM 的继承
- 使用git创建空分支
- excel中的邮箱地址群发
- ubantu sudo apt-get 安装下载更新软件包命令详解