【发布时间】:2020-07-04 05:13:19
【问题描述】:
目前我们使用这个命令来切换到一个选项卡 导航控件
DoCmd.BrowseTo acBrowseToForm, TabToOpen, Me.name & ".NavigationSubform"
如果所选选项卡/按钮有唯一的 NavigationTargetName,则此方法可以正常工作。如果我们有两个或多个具有相同目标表单名称的选项卡,我们将无法打开特定选项卡。 -打开与 targetName 匹配的第一个选项卡-。
即TabA 和 TabC 具有相同的 targetFormName X
如果我们使用以下命令
DoCmd.BrowseTo acBrowseToForm, X, Me.name & ".NavigationSubform"
TabA 已激活。
问题:我们如何激活 TabC?
我们已经尝试过NavigationForm.TabC.SetFocus &
NavigationForm.navBarTop.Tabs(9).SetFocus
没有运气。
.SelectedTab 属性是只读的。
关于为什么我们有相同的 targetFormName:我们使用一个表单,但动态 SQL 依赖于选定的选项卡,以减少不同状态数据的 x 个相同表单的数量。
非常感谢
【问题讨论】:
-
建议不要使用导航表单,而是在主表单上使用带有一些按钮的普通子表单来管理子表单的过滤。
-
我看到的所有内容都必须引用与选项卡关联的表单,并且由于您对每个 NavigationTarget 使用相同的表单,因此使用 Navigation 表单可能没有实际的方法。
-
@Gustav 不确定您认为通过此处的回滚实现了什么。任何进一步的此类操作只会导致帖子锁定。
-
@MartijnPieters:它被错误地从正确的
[vba]重新标记为[access-vba],因为这个问题在 Microsoft Access 环境之外没有相关性。您(和用户 braX)针对许多新问题、旧问题甚至非常旧的问题都这样做了,从而破坏了历史记录(最近的活动)以及搜索选项.我相信您预计这种大规模重新标记会产生一些积极影响,但相信我,这些影响是负面的,甚至不是中性的。因此,我恳请您以后不要这样做。 -
@MartijnPieters:哦,我刚刚注意到@Erik A here 的评论,您的理由可能是
[access-vba]应该像[excel-vba]一样被弃用。但事实并非如此。