ACC2000: Previous/ActiveControl Name Property Not in Auto List (197949)
The information in this article applies to:
This article was previously published under Q197949 Moderate: Requires basic macro, coding, and interoperability skills.
SYMPTOMS
You can use the ActiveControl property together with the Screen object to identify or refer to the control that has the focus. However, if you type Screen.ActiveControl or Screen.PreviousControl in a module or the Immediate window to view the properties that you can apply from the Auto List Members list, the Name property does not appear on the list.
RESOLUTION
To refer to the Name property of the Screen.ActiveControl or
Screen.PreviousControl, you should create a variable and assign the
name of the control to that variable. For example, the following sample
piece of code is one way you could refer to the active control's name:
Dim ctlCurrentControl As Control
Set ctlCurrentControl = Screen.ActiveControl
If ctlCurrentControl.Name = "txtCustomerID" Then
' Do this.
ElseIf ctlCurrentControl.Name = "btnCustomerDetails" Then
' Do this.
End If
NOTE: Code that refers to Screen.ActiveControl or Screen.ActiveForm does not work correctly when called from the Immediate window because the Immediate window has the focus at that time. If no control has the focus when you use the Screen.ActiveControl property, or if all of the active form's controls are hidden or disabled, a run-time error occurs.
REFERENCES
For more information about the ActiveControl property, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type "ActiveControl" in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbprb kbProgramming KB197949 |
---|
|