【发布时间】:2019-10-21 13:00:24
【问题描述】:
问题
如何通过使用 VBA 在 Access 中加载表单来使特定选项卡可见或不可见?
说明:
我有一个 Acess 数据库,其中包含 4 个包含按钮的表单。今天我开始创建丝带来摆脱表格中的那些,所以一切都被分类并且易于概览。我希望我的 Access 数据库中的选项卡是不可见的,直到我从我的主表单打开一个表单。
主表单(未显示选项卡)-> 通过单击主表单中的按钮切换到另一个表单(现在我想在打开表单后显示特定选项卡)
我使用“Ribbon Creator 2019”为 Office 2019 创建了我的功能区。
问题:
我无法解决它......我尝试了很多东西,直到我找到一个具有通过切换工作表来显示特定选项卡的功能的 Excel 工作表。这正是我想要的,但我无法让它为我的访问工作。
通过获取活动表单的名称,我无法让它工作,我认为这将是最快的方式。
我的做法:
我在我的 XML 中将“StartFromScratch”设置为“true”,并为我的标签命名如下:“CustomTagValue1:=xstart”。
我的标签(模块)的代码:
Sub GetVisible(control As IRibbonControl, ByRef visible)
' Callbackname in XML File "getVisible"
' To set the property "visible" to a Ribbon Control
' For further information see: http://www.accessribbon.de/en/index.php?Downloads:12
' Setzen der Visible Eigenschaft eines Ribbon Controls
' Weitere Informationen: http://www.accessribbon.de/index.php?Downloads:12
Select Case control.ID
Case "tab_3"
' Tab: tab_3
visible = False
Case "tab0"
' Tab: tab0
visible = False
Case "tab1"
' Tab: tab1
visible = False
Case Else
visible = True
End Select
End Sub
来自另一个模块的代码来声明我的标签:
Option Compare Database
Option Explicit
'**************************************************************************
' About this Code:
'
' This Code checks if a Formular is in active use by his 'Name'. Simple.
'**************************************************************************
Dim MyTag As String
'Callback for customUI.onLoad
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set Rib = ribbon
End Sub
Sub GetVisible(control As IRibbonControl, ByRef visible)
If control.Tag Like MyTag Then
visible = True
Else
visible = False
End If
End Sub
Sub RefreshRibbon(Tag As String)
MyTag = Tag
If Rib Is Nothing Then
MsgBox "Fehler RBC1018, bitte starten Sie das Programm neu."
Else
Rib.Invalidate
End If
End Sub
onLoad 表单中的代码:
Private Sub Form_Load(ByVal Sh As Object)
Select Case Screen.ActiveForm
Case "frmVerteiler": Call RefreshRibbon(Tag:="xverteiler")
Case Else: Call RefreshRibbon(Tag:="")
End Select
End Sub
帮助:
我希望它像在这个 excel 文档中一样工作:https://www.rondebruin.nl/win/s2/win012.htm
【问题讨论】: