ACC: Screen.ActiveForm Returns Main Form, Not Subform (139040)
The information in this article applies to:
- Microsoft Access 2.0
- Microsoft Access for Windows 95 7.0
- Microsoft Access 97
This article was previously published under Q139040 SYMPTOMS
Advanced: Requires expert coding, interoperability, and multiuser skills.
If the currently active control on the screen is in a subform,
Screen.ActiveControl will correctly reference this control.
Screen.ActiveForm, however, will reference the main form and not the
subform that the control is contained on.
This article assumes that you are familiar with Visual Basic for
Applications and with creating Microsoft Access applications using the
programming tools provided with Microsoft Access. For more information
about Visual Basic for Applications, please refer to your version of the
"Building Applications with Microsoft Access" manual.
NOTE: Visual Basic for Applications is called Access Basic in Microsoft
Access version 2.0. For more information about Access Basic, please refer
to the "Building Applications" manual.
CAUSE
A subform is not really a form, but a control (just like a text box or
command button) that appears on a form. Screen.ActiveForm will always
return the active form, not a subform control.
RESOLUTION
You can use the Set_Screen_ActiveSubformControl function described in the
"More Information" section to determine what subform control contains the
Screen.ActiveControl. This function will set a global control variable
Screen_ActiveSubformControl to the currently active subform control on
screen.
Syntax:
Function Set_Screen_ActiveSubformControl()
Return:
True: Screen_ActiveSubformControl was set to the subform control
that contains Screen.ActiveControl.
False: Screen.ActiveControl does not exist or is not in a subform.
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbprb KB139040 |
---|
|