首页 > 解决方案 > 如果关闭表单时没有打开任何表单,请打开特定表单

问题描述

我有一个数据库,其中有多个小表单分布在整个数据库中(正如我所假设的那样,哈哈)。有多种方法可以访问多个不同的表单,但是我遇到了一个导航问题,在某些情况下,当用户关闭表单时,没有其他任何东西打开或打开。因此,我希望 Access 在任何给定时刻检查是否有任何表单打开,如果没有,则打开特定表单(数据库“主”表单)。我用谷歌搜索了这个并找不到我要找的东西(可能我用谷歌搜索了错误的东西?),所以老实说,我真的不知道从哪里开始。

我想创建一个在 Form_Close 上执行的函数,以检查当前是否打开了任何表单,如果没有,则打开特定的表单。同样,我什至不确定从哪里开始寻找这个答案,所以我真的没有任何东西可以开始我的旅程。

标签: ms-accessvba

解决方案


一个简单的方法是:

在标准模块中添加此过程并在其中编辑主表单名称:

Public Function OpenMainFormIfThisIsTheLastForm()
    If Forms.Count = 1 Then DoCmd.OpenForm "YourMainForm"
End Function

在每个表单中,您想在主表单关闭之前打开主表单,将其放在On Close-event 中:

=OpenMainFormIfThisIsTheLastForm()

这应该就是全部了。


推荐阅读