如何查看及编辑MS Access底部导航按钮的内置代码
查看并修改MS Access底部内置导航按钮的行为
先给你说清楚:Access默认把底部导航按钮的内置代码封装起来了,没法直接打开编辑,但我们可以通过两种实用方式实现你的需求——要么捕获导航按钮的点击事件来插入自定义代码,要么用窗体事件同步执行你要的操作。
一、查看内置导航按钮关联的核心方法
虽然看不到按钮的具体代码,但你可以清楚它背后调用的Access内置命令:
- 打开VBA编辑器(按
Alt+F11) - 点击菜单栏的「视图」→「对象浏览器」(或者直接按
F2) - 在搜索框里输入
GoToRecord,就能看到DoCmd对象下的这个方法——这就是内置「下一条」「上一条」等导航按钮核心调用的命令。
二、修改内置导航按钮的行为(不添加自定义按钮)
方式1:捕获「下一条」按钮点击事件
这种方式精准对应你要修改的按钮操作,步骤如下:
- 打开目标窗体的设计视图
- 按
Alt+F11打开VBA编辑器,确保当前编辑的是该窗体的代码模块 - 在代码模块顶部,从「通用」下拉框选择
CommandBars,再从「事件」下拉框选择OnAction - 在自动生成的事件过程里,添加以下代码:
Private Sub CommandBars_OnAction(ByVal CommandBarControl As Object, CancelDefault As Boolean) ' 判断点击的是「下一条记录」按钮(英文Access改成"Next Record(&N)") If CommandBarControl.Caption = "下一条记录(&N)" Then ' 执行你要求的下一条记录跳转 DoCmd.GoToRecord , "", acNext ' 执行赋值操作 Me.VendorList.Value = Me.VendorNo ' 取消默认内置行为,避免重复执行 CancelDefault = True End If End Sub
- 保存代码,切换回窗体视图测试点击「下一条」按钮,就能看到效果了。
方式2:利用窗体Current事件(更通用)
如果你希望不管用哪种方式切换记录(导航按钮、键盘快捷键等),都执行赋值操作,可以用这个方法:
在窗体代码模块里添加以下事件过程:
Private Sub Form_Current() Me.VendorList.Value = Me.VendorNo End Sub
这样每次切换到新记录时,赋值操作都会自动执行,不需要单独捕获按钮点击。
小提醒
- 注意匹配Access界面语言:如果是英文版本,要把代码里的按钮标题改成
"Next Record(&N)" - 确认
VendorList和VendorNo是窗体上真实存在的控件名称,别拼错了
内容的提问来源于stack exchange,提问作者user6785796
相关产品推荐
相关产品推荐

