如何在Access编辑窗体中通过按钮将窗体重置为OnLoad初始状态?
解决Access窗体保存后重置到初始状态的问题
requery和refresh仅负责记录数据的刷新,不会修改控件的可见性、可用性以及选择状态,所以得手动重置这些属性才能回到OnLoad时的初始状态。
具体实现步骤:
封装初始化逻辑为独立子过程
在窗体模块中添加以下代码(替换成你实际的控件名称),把重置逻辑集中管理,避免重复代码:Private Sub ResetFormToInitialState() ' 隐藏并禁用之前显示的控件 Me.txtName.Visible = False Me.txtName.Enabled = False Me.txtAge.Visible = False Me.txtAge.Enabled = False ' 其他需要隐藏的控件按上述格式补充 ' 清空下拉框的选择 Me.cboYourCombo = Null ' 将焦点移回下拉框 Me.cboYourCombo.SetFocus End Sub更新窗体OnLoad事件
原OnLoad事件直接调用这个子过程即可:Private Sub Form_Load() ResetFormToInitialState End Sub修改保存按钮的点击事件
在原有保存代码后添加重置调用,如果是绑定窗体需要回到新记录状态,可额外添加Me.Recordset.AddNew:Private Sub btnSave_Click() ' 保存脏记录(保留原代码) If Me.Dirty Then Me.Dirty = False End If ' 重置窗体到初始状态 ResetFormToInitialState ' 可选:绑定窗体需回到新记录时,取消下面的注释 ' Me.Recordset.AddNew End Sub
执行上述修改后,点击保存按钮,窗体就会回到仅显示下拉框的初始状态。
内容的提问来源于stack exchange,提问作者user21415000
相关产品推荐
相关产品推荐

