Article ID: 197949
Article Last Modified on 10/11/2006
APPLIES TO
- Microsoft Access 2000 Standard Edition
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.
Additional query words: screen object
Keywords: kbprb kbprogramming KB197949