First off...you will want to make sure the second Form is infact loaded and ready to receive data. To do this you can use the IsLoaded function (below). Place this function into a database code module.
Public Function IsLoaded(ByVal strFormName As String) As Integer
' Returns True if the specified form is open in Form view or Datasheet view.
Const conObjStateClosed = 0
Const conDesignView = 0
If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
If Forms(strFormName).CurrentView <> conDesignView Then
IsLoaded = True
The code you would use is below. Replace the ficticious form and field names (highlighted in red italic) with the proper ones. Where you place this code is up to you depending upon your specific application. This code is assumed to be running from Form1:
If IsLoaded("Form2") Then 'If Form2 is loaded then
' Place the data in Textbox on Form1 to Textbox on Form2.
Forms![Form2].[F2_TextBoxName] = Me.F1_TextBoxName
' Do Nothing...or whatever else you want.
Self Taught In ALL Environments.....And It Shows!