Button Problems
The problem is caused by the fact that now you moved the button to Form A the reference is incorrect. It is looking for a field on Form A while that field is actually on Form B, so it can't find it.
You may want to check the link below, there is a database called Subform Reference that demonstrates how to set focus on controls on subforms and subforms as well as retrieve values from subforms and subsubforms.
You can download it and check it out.
http://www.candace-tripp.com/_pages/access_downloads.asp
Here is some code that will help you in general on this subject
(with thanks to SJ McAbney, Moderator of this Forum)
Syntax for Main and Subforms
For the purpose of this FAQ, the following names are used:
* MainForm - replace with the name of the top level form
* SubformA - the name of the subform control on Mainform
* SubformB - the name of the subform control on the SubformA.
On the main form
To refer to a form property, such as RecordSource
* On Mainform
Code:
Me.RecordSource
* On SubformA
Code:
Me.SubformA.Form.RecordSource
* On SubformB
Code:
Me.SubformA.Form!SubformB.Form.RecordSource
To refer to a control
* On Mainform
Code:
Me.ControlName
* On SubformA
Code:
Me.SubformA.Form!ControlName
* On SubformB
Code:
Me.SubformA.Form!SubformB.Form!ControlName
To refer to a control property, such as Enabled
* On Mainform
Code:
Me.ControlName.Enabled
* On SubformA
Code:
Me.SubformA.Form!ControlName.Enabled
* On SubformB
Code:
Me.SubformA.Form!SubformB.Form!ControlName.Enabled
To refer to a subform control property, such as SourceObject
* On Mainform
Not applicable
* On SubformA
Code:
Me.SubformA.SourceObject
* On SubformB
Code:
Me.SubformA.Form!SubformB.SourceObject
On SubformA
To refer to a form property, such as RecordSource
* On Mainform
Code:
Me.Parent.RecordSource
* On SubformA
Code:
Me.RecordSource
* On SubformB
Code:
Me.SubformB.Form.RecordSource
To refer to a control
* On Mainform
Code:
Me.Parent!ControlName
* On SubformA
Code:
Me.ControlName
* On SubformB
Code:
Me.SubformB.Form!ControlName
To refer to a control property, such as Enabled
* On Mainform
Code:
Me.Parent!ControlName.Enabled
* On SubformA
Code:
Me.ControlName.Enabled
* On SubformB
Code:
Me.SubformB.Form!ControlName.Enabled
To refer to a subform control property, such as SourceObject
* On Mainform
Not applicable
* On SubformA
Not applicable
* On SubformB
Code:
Me.SubformB.SourceObject
On SubformB
To refer to a form property, such as RecordSource
* On Mainform
Code:
Me.Parent.Parent.RecordSource
* On SubformA
Code:
Me.Parent.RecordSource
* On SubformB
Code:
Me.RecordSource
To refer to a control
* On Mainform
Code:
Me.Parent.Parent!ControlName
* On SubformA
Code:
Me.Parent!ControlName
* On SubformB
Code:
Me.ControlName
To refer to a control property, such as Enabled
* On Mainform
Code:
Me.Parent.Parent.ControlName.Enabled
* On SubformA
Code:
Me.Parent.ControlName.Enabled
* On SubformB
Code:
Me.ControlName.Enabled
To refer to a subform control property, such as SourceObject
* On Mainform
Not applicable
* On SubformA
Not applicable
* On SubformB
Not applicable
Not on any of these forms
To refer to a form property, such as RecordSource
* On Mainform
Code:
Forms.Mainform.RecordSource
* On SubformA
Code:
Forms.Mainform!SubformA.Form.RecordSource
* On SubformB
Code:
Forms.Mainform!SubformA.Form!SubformB.
Form.RecordSource
To refer to a control
* On Mainform
Code:
Forms.Mainform!ControlName
* On SubformA
Code:
Forms.Mainform!SubformA.Form!ControlName
* On SubformB
Code:
Forms.Mainform!SubformA.Form!SubformB.
Form!ControlName
To refer to a control property, such as Enabled
* On Mainform
Code:
Forms.Mainform!ControlName.Enabled
* On SubformA
Code:
Forms.Mainform!SubformA.Form!ControlName.Enabled
* On SubformB
Code:
Forms.Mainform!SubformA.Form!SubformB.Form!ControlName.Enabled
To refer to a subform control property, such as SourceObject
* On Mainform
Not applicable
* On SubformA
Code:
Forms.Mainform!SubformA.SourceObject
* On SubformB
Code:
Forms.Mainform!SubformA.Form!SubformB.SourceObject