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

在调学生的时候同样遇到了3021 这个问题,下面是解决方法
我们先来了解一下EOF,BOF的用法:
BOF:指当前记录位置位于Recordset对象的第一个记录之前; 
EOF:指当前记录位置位于Recordset对象的最后一个记录之后。
这两个的属性值均返回布尔型:True和False,使用BOF和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。

说明:  
(1)如果当前记录位于第一个记录之前,BOF属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。  (2)如果当前记录位于Recordset 对象的最后一个记录之后 EOF 属性将返回True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
( 3)如果BOF 或 EOF 属性为 True,则没有当前记录。 
(4)如果打开没有记录的Recordset 对象,BOF 和 EOF 属性将设置为True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而BOF 和 EOF 属性为 False。  
(5)如果删除Recordset 对象中保留的最后记录,BOF 和 EOF属性将保持 False,直到重新安排当前记录。

具体用法:
 If objRs.BOF Then  
 表示:当前指针的位置是在第一行记录之前,则… 
 If objRs.EOF Then 
 表示:当前指针的位置是在最后一行记录之后,则… 
 If Not objRs.EOF Then 
 表示:当前指针的位置没有到达最后一条记录 
 If Not objRs.BOF then 
 表示:当前指针的位置没有到达第一条记录 
 推荐使用下面两条  If Not (objRs.BOF AND objRs.EOF) Then 
 表示:指针位于RecordSet 的当中(并非是最后一条和第一条) ,说明一定有记录。  
If objRs.BOF AND objRs.EOF Then  表示:没有任何记录

解决方法:
加一个判断语句,遇到就会自动跳过

on  Error  GoTo  1
	mrc.MoveNext
	call viewData
1:
	If Err = 3021 then
	If MsgBox ("已经没有数据,是否添加数据?",vbOKCancel, ”提示	")  = vbOK then
		frmAddresult.show
	end if 
	end if 
	end sub

当点击下一条没有数据的时候,就会弹出提示框问是否添加数据,这样就可以避免出现错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值