From Form1, open Form2 in dialog mode. Form1 code will wait on Form2.
Add a "done" button to Form2, and add a procedure to its click event which reopens Form2 hidden hides the form by setting its .Visible property to False. Making it hidden breaks it out of dialog mode. So after the user inputs her value, she can click "done", flow control will resume in Form1 and can read the input value from the control on the now-hidden Form2.
With this approach, Form2 need not know anything about Form1. So Form2 can be used to gather input for any arbitrary form ... or other code.
So assuming Form1 has a command button named cmdSaveAs, use something like this as its click event procedure.
Private Sub cmdSaveAs_Click()
DoCmd.OpenForm "Form2", acNormal, WindowMode:=acDialog
' the next line is not executed while Form2 is modal (open in dialog mode);
' but after Form2 is hidden, we can read the value of the text
' box named txtInput
MsgBox "User input was: " & Forms!Form2!txtInput
End Sub