【问题标题】:MS Access 2013 event trigger in module, not class module模块中的 MS Access 2013 事件触发器,而不是类模块
【发布时间】:2016-02-17 05:28:04
【问题描述】:

我有许多具有相同控件的表单,例如 Year,它们用于不同的报告。有几十个表单带有名为 Year 的控件,带有 GotFocus / OnFocus 事件触发器。我试图避免使用几乎相同的代码编写一堆类模块,这些代码需要类似:

Private Sub Year_OnFocus()

我想在模块中编写一个函数,这样我就可以相对于它的形式来引用年份:

Forms!Home!NavigationSubForm.Form.Year.OnGotFocus

这似乎不起作用,更不用说与Private Sub Year_GotFocus 的行为方式相同了。所以想知道是否有人有任何建设性的建议。

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    您正在寻找WithEvents。文档很差,但这里有一个很好的介绍。浏览到标题A Little History

    A Little History

    【讨论】:

    • 或者更好的是,只需在该文档中搜索“With Events”。这将直接导致代码示例。请注意,每个“年”控件仍需要几行代码才能将其与通用事件处理程序类挂钩。如果所有这些控件都在子窗体中,您可以将设置代码放在主窗体中。
    猜你喜欢
    • 2018-04-20
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    相关资源
    最近更新 更多