哈喽哈喽,大家好,今天我们来分享一个小功能。
在实际的应用场景中,我们可能需要打开多个窗口,在关闭窗口时,逐个关闭窗口可能比较繁琐,而且有些窗口虽然不再显示了,但可能是隐藏的。在这种情况下,该怎么处理呢?让我们一起动手来尝试一下吧。
为了方便测试,我们可以先创建多个窗体,越多越好。
同时我们需要再创建一个窗体,放上按钮控件。
PART 2、代码统计未关闭的窗口
为了测试,我们再做一个窗体,在窗体上放一个按钮控件。
接着,添加一个按钮的单击,用于窗体的隐藏
Me.Visible = False
接着,运行一下窗体2,点击隐藏,将这个窗体隐藏一下。当然,我们需要再打开几个窗体,这里我们再打开两个窗体。
最后,我们再立即窗口输入:?Forms.Count
敲个回车,统计一下目前运行的窗体,统计是3个窗体。这样我们就知道有3个窗体运行着。
PART 3、添加关闭代码
最后,我们在窗体1中添加一下关闭的代码:
Do While Forms.Count > 0 '关闭所有已经打开的窗体
DoCmd.Close acForm, Forms(0).Name
Loop
Do While Reports.Count > 0 '关闭所有已经打开的报表
DoCmd.Close acForm, Reports(0).Name
Loop
PART 4、运行测试
代码添加好后,我们可以直接点击关闭按钮,关闭后,我们还是在立即窗口输入:?Forms.Count
我们看到结果输出是0,这说明批量关闭的代码生效了,把隐藏的窗体也给正真意义上的关闭。
好了,大家快去试一下吧。