【问题标题】:How do I change the _Click() event on a MS Access Form?如何更改 MS Access 表单上的 _Click() 事件?
【发布时间】:2020-02-14 18:09:05
【问题描述】:

我希望能够简化我的 UI。我想让一组命令按钮根据用户选择更改 _On_Click() 事件。例如:

主题选择:cmd1:“会员报告”,cmd2:“管理报告”,cmd3:“其他报告 - 待定”

如果用户选择 cmd1,则子主题按钮属性会更改以允许用户打开该类别的报告。

子主题选择:cmd4:“所有成员”,cmd5:“活跃成员”等

如果用户选择 cmd2: 则 on_Click 事件将更改为在“管理报告”组中打开报告。

提前感谢您的帮助。

【问题讨论】:

  • 让第一个按钮设置状态值/标志/字段/变量,让其他按钮的_On_Click在决定做什么之前查看该状态?

标签: vba forms ms-access


【解决方案1】:

我会使用 3 个主切换按钮并将下摆放入选项组框架(我们称之为 FrameMain)。将按钮的选项值设置为 1、2、3。创建与子主题一样多的常规按钮(我们称它们为 cmd1_1、cmd1_2、cmd2_1....)并将它们的属性 Visible 设置为 False 并将 Tag 设置为 Sub。现在创建事件 FrameMain_AfterUpdate:

Private Sub FrameMain_AfterUpdate()
    Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.Tag = "Sub" Then
            ctl.Visible = False
        End If
    Next
    Select Case Me.FrameMain
        Case 1
            cmd1_1.Visible = True
            cmd1_2.Visible = True
        Case 2
            cmd2_1.Visible = True
            cmd2_2.Visible = True
        Case 3
            cmd3_1.Visible = True
            cmd3_2.Visible = True
    End Select
End Sub

您现在可以为所有子按钮创建 On_Click() 事件以打开所需的报告。

您也可以使用Switch board(在互联网上搜索如何创建它)。

【讨论】:

  • 谢谢,这很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 2013-07-10
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
相关资源
最近更新 更多