首页 > 解决方案 > 何时在访问中使用“我”对象?

问题描述

在 Access VBA 中,我们可以使用 Me.ControlName来引用控件名称。在阅读其他人的 VBA 代码时,我意识到有些人不使用 me 关键字,而只是使用ControlName来引用控件名称。

一个比另一个更有效吗?对我Me.ControlName来说更具可读性,但我不确定其他人的意见是什么。

标签: vbams-access

解决方案


有几种情况需要使用Me

  1. 当名称冲突时:

    Dim someControl As Access.Control
    Set someControl = Me.SomeControl
    

    显然,这个例子是人为的,但在实际情况下,名称冲突是合乎逻辑的

  2. 当您需要引用表单对象本身时:

    在外部模块中:

    Public Sub DoStuffWithForm(someForm As Access.Form)
        'Does stuff with form
    End Sub
    

    在表单模块中:

    DoStuffWithForm Me
    

Me只是一个通用的 VBA 概念。所有类模块(以及扩展的表单模块)都使用Me关键字来引用自己,但不需要这样做来引用公共属性。它的方式类似于 using Application.Something,您也不需要这样做,但这样做会增加清晰度。并且仅在特定(罕见)情况下才需要。


推荐阅读