以编程方式(VBA)关闭使用RunCommand打开的窗口

时间:2017-03-31 18:08:39

标签: vba ms-access-2013 access

好的,首先是我的问题: 当然你可以打开Access" Unhide Columns"菜单:

    DoCmd.RunCommand acCmdUnhideColumns

但是有代码可以关闭弹出菜单吗?也许在计时器上,就像你可以创建一个消息框,在设定的时间后自动关闭?

我知道这听起来很疯狂,所以这里有解释我为什么走错路的背景。

在拆分表单上,我创建了一个按钮,用于加载用户配置文件,根据用户的角色显示,隐藏和重新排列列。
这很好,但正如我在StackExchange上学到的那样:"在普通模式下打开表单时所做的设计更改无法保存"因此每次用户打开时都需要进行更改表格。

我发现只需打开和关闭"取消隐藏列"菜单触发访问以询问用户是否要在表单关闭时保存布局。现在我只是设置布局,然后打开菜单,强制用户手动关闭它,但如果他们不必这样做会更顺畅。这是我最接近适合我们情况的解决方法。我知道我可以设置配置文件在窗体打开时运行,但是一些用户进一步在配置文件之外定制它们的布局并且会干扰它们。我能想到的所有其他解决方案都比这更重,假设我可以让它工作。我虽然愿意接受其他建议。

由于

1 个答案:

答案 0 :(得分:1)

用户是否在X关闭时关闭表格?我在设计中禁用它,并使用自定义按钮使它们始终关闭。代码:

DoCmd.Close acForm, Me.Name, acSaveNo

我还禁用了应用程序退出和X关闭。它们关闭数据库,主菜单上的按钮永远不会关闭。还可以自定义功能区,隐藏导航窗格以及禁用功能键和右键单击。并且没有教他们关于换档键旁路。