Microsoft Access记录错误‘2105’:表单后退按钮防错方案咨询
解决Access表单“后退”按钮在第一条记录时的错误提示问题
这个问题我帮不少人处理过,其实就是在执行后退操作前加个简单判断就能搞定,完全能避免系统弹出那种生硬的错误提示。下面是具体的实现步骤:
步骤1:打开按钮的代码编辑窗口
- 打开你的Access表单设计视图
- 找到“后退”按钮,右键点击它,选择事件生成器(或者直接点工具栏上的“代码”按钮)
- 在弹出窗口里选“代码生成器”,进入VBA代码编辑界面
步骤2:修改按钮的Click事件代码
把原来的后退操作代码(比如DoCmd.GoToRecord , , acPrevious或者Me.Recordset.MovePrevious)替换成带判断的逻辑:
Private Sub cmdBack_Click() ' 检查是否已经到了记录最开头 If Not Me.Recordset.BOF Then ' 还没到开头的话,执行后退操作 Me.Recordset.MovePrevious Else ' 可选:给用户友好提示,也可以直接留空不做任何操作 MsgBox "已经是第一条记录啦!", vbInformation, "提示" End If End Sub
代码说明:
Me.Recordset.BOF是Beginning of File的缩写,当这个属性为True时,说明当前已经没有更早的记录了- 我们先判断
Not Me.Recordset.BOF——也就是还没到记录开头时,才执行后退;否则要么安静无操作,要么弹出友好提示,比系统默认的错误提示舒服多了
替代方案:用记录序号判断
如果你更习惯用记录序号来做判断,也可以这么写:
Private Sub cmdBack_Click() ' 检查当前记录序号是否大于1 If Me.CurrentRecord > 1 Then DoCmd.GoToRecord , , acPrevious End If End Sub
不过要注意:如果表单有筛选、排序或者记录集动态更新的情况,CurrentRecord的数值可能会有偏差,相对来说用BOF的方法更可靠。
最后测试
保存代码后切回表单视图,点击第一条记录的“后退”按钮,就不会再弹出讨厌的错误提示了,要么安静无操作,要么弹出你设置的友好提示~
内容的提问来源于stack exchange,提问作者Komakino_1251
相关产品推荐
相关产品推荐

