Access中点击frm_Acct的cmd_Finish后清除frm_Load控件内容的方法
Access窗体frm_Load清空方案(点击frm_Acct完成按钮后)
方案一:遍历控件清空文本框内容
将代码放在frm_Acct的cmd_Finish按钮Click事件中,直接遍历打开状态的frm_Load控件,仅清空文本框内容(不修改数据源):
Private Sub cmd_Finish_Click() ' 执行你的现金录入完成逻辑(如保存frm_Acct数据,按需补充) ' 清空frm_Load的文本框 Dim ctl As Control For Each ctl In Forms!frm_Load.Controls If TypeOf ctl Is TextBox Then ctl.Value = Null End If Next ctl ' 关闭当前frm_Acct窗体 DoCmd.Close acForm, Me.Name End Sub
如果需要清空其他类型控件(如组合框、复选框),可在循环中补充判断:
' 示例:同时清空组合框 If TypeOf ctl Is ComboBox Then ctl.Value = Null End If
方案二:通过新建空白记录清空绑定窗体
若frm_Load是绑定到数据源的窗体,可通过跳转到新记录实现控件清空,同样将代码放在cmd_Finish的Click事件中:
Private Sub cmd_Finish_Click() ' 执行现金录入完成逻辑 ' 确保frm_Load处于打开状态,再执行新建记录操作 If CurrentProject.AllForms("frm_Load").IsLoaded Then DoCmd.SelectObject acForm, "frm_Load", True DoCmd.GoToRecord , , acNewRec ' 可选:切回frm_Acct焦点(如果需要) DoCmd.SelectObject acForm, Me.Name, True End If ' 关闭frm_Acct DoCmd.Close acForm, Me.Name End Sub
关键注意事项
- 两种方案的代码都必须放在
cmd_Finish按钮的Click事件中,而非After Update等其他事件,确保点击完成按钮时才触发清空操作。 - 操作前需确认frm_Load处于打开状态,避免代码报错。
内容的提问来源于stack exchange,提问作者Datamint
相关产品推荐
相关产品推荐

