Access VBA教程:Me属性

可以在 Visual Basic 中使用 Me属性来引用当前正在运行 Visual Basic 代码的窗体、报表(或与窗体或报表相关联的子窗体或子报表),或类模块。

设置

Me属性仅在使用 Visual Basic 时才可用,并且在所有视图中都是只读的。

说明

Me属性中含有对当前窗体或报表的对象引用,并且比完全限定的对象引用要快。例如,下列两个代码片段为“Employees”窗体中的当前记录引用“LastName”控件值:


strLastName = Forms!Employees.LastName

strLastName = Me!LastName

在多数情况下,由 Me属性引用的窗体或报表与由 Screen对象的ActiveFormActiveReport属性引用的窗体或报表相同。但是,这些属性引用的是具有焦点的窗体或报表,而 Me属性引用的则是正在运行代码的窗体或报表。例如,Timer事件可能会在没有焦点的窗体中发生。该事件发生时,代码Screen.ActiveForm 引用具有焦点的窗体,而 Me属性引用 Timer事件发生的窗体。因而,创建在当前窗体上进行操作的一般过程时,最好的方法是通过 Me属性而非 ActiveForm属性,将窗体传递给过程。

在类模块中可以使用 Me 关键字来引用类的当前实例。与在窗体或报表类模块中使用 Me 来检索对当前窗体或报表的引用相似,也可以在类模块中使用 Me 来检索对当前类模块对象的引用。

示例

下面的示例显示如何将“客户”窗体的标题改为用户提供的值。ChangeCaption 子程序通过传递 Me属性(代表 Form对象)来指定活动的窗体。因为 ChangeCaption 过程更改的是活动窗体的标题(而不是特定的窗体),它可以从应用程序中的其他过程中调用。


ChangeCaption Me, InputBox("Enter new caption "
    & "for form")
Sub ChangeCaption(frmCurrentForm As _
    Form, strCaption As String)
' Change caption.
    If TypeName(frmCurrentForm.Caption) = "Null" Then
        frmCurrentForm.Caption = strCaption
        Exit Sub
    End If
    If UCase(strCaption) _
            <> UCase(frmCurrentForm.Caption) Then
        frmCurrentForm.Caption = strCaption
    End If
End Sub

上页:Access VBA教程:MDE属性 下页:Access VBA教程:MenuBar属性

Access VBA教程:Me属性

Access VBA教程:MenuBar属性 Access VBA教程:MinMaxButtons属性
Access VBA教程:Minor属性 Access VBA教程:Modal属性
Access VBA教程:Module属性 Access VBA教程:Modules属性
Access VBA教程:MousePointer属性 Access VBA教程:MouseWheel属性
Access VBA教程:Moveable属性 Access VBA教程:MoveLayout属性
Access VBA教程:MSODSC属性 Access VBA教程:MultiRow属性
Access VBA教程:MultiSelect属性 Access VBA教程:Name属性
Access VBA教程:NavigationButtons属性 Access VBA教程:NewFileTaskPane属性
Access VBA教程:NewRecord属性 Access VBA教程:NewRowOrCol属性
Access VBA教程:NewValues属性 Access VBA教程:NextRecord属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号