MS Access VBA点击命令按钮触发运行时错误424原因排查
运行时错误424触发原因
出现该错误的核心原因是你直接在VBA中调用的New_column不是窗体可识别的对象。
Access VBA中直接书写字段名调用
.Value属性时,默认指向的是窗体上绑定了对应表字段的控件对象,而非表本身的字段。
- 可以正常运行的
Old_column,是因为窗体上已经存在绑定了该字段的同名控件,VBA可以找到对应对象完成赋值 - 后续通过更新查询新增的
New_column仅存在于表结构中,你没有同步在窗体上添加绑定该字段的控件,VBA找不到名为New_column的对象,因此抛出「要求对象」的424错误
两种解决方法
- 方法1:新增窗体控件
进入窗体设计视图,从右侧字段列表中将New_column字段拖拽到窗体上生成绑定控件,保持控件默认名称为New_column,原有代码即可正常运行。注意:如果添加控件后仍然报错,请进入控件属性面板的「其他」选项卡,确认控件的「名称」属性值为
New_column,若存在自动生成的前缀(如Text10、txt_New_column),修改为对应名称即可。 - 方法2:直接操作数据源字段(无需新增窗体控件)
不需要在窗体上添加额外控件,直接引用窗体绑定记录集的字段完成赋值,修改代码为以下任意一种即可:Private Sub Command1_Click() ' 写法1 简写形式 Me!New_column = "YES" End SubPrivate Sub Command1_Click() ' 写法2 完整显式引用,兼容性更强 Me.Recordset.Fields("New_column").Value = "YES" End Sub
内容的提问来源于stack exchange,提问作者SAS2PYTHON
相关产品推荐
相关产品推荐

