Dirk.<br><br>This is fairly easy to do and it involves the difference between loaded forms and visible forms. Assume the form you want to use to get the date is called "GetMyDate". The control that contains the date is called "Datebox"<br><br>On your calling form, put a command button. Called "Set Date", maybe. For the button's click event, put:<br><br>Private Sub SetDate_Click()<br> Dim SelectedDate as date<br> DoCmd.OpenForm "GetMyDate", acNormal, , , , acDialog<br> If IsNull(Forms!GetMyDate.Datebox) Then Exit Sub<br> SelectedDate=Forms!GetMyDate!Datebox<br> DoCmd.Close acForm, "GetMyDate"<br> ' Do whatever you need to do with SelectedDate here<br>End Sub<br><br><br>Now on your form "GetMyDate", inactivate the close box so the user can only close the form by clicking a command button. Then create an "OK" button on that form, and put for its click event:<br><br>Me.Visible=false<br><br>You'll probably want to include some code to handle what happens if the user puts in something not in a date format or leaves it blank. In the code above, leaving the date blank simply exits the sub without setting selected date.<br><br>When you open the form, because it's in dialog mode, nothing can happen until it's gone from the screen. By setting its visibility to false, you're letting the user escape back to the original form, but the date form is still open, and the value of its controls are still accessible. Once you've gotten the value, either close it, or keep it open and invisible for faster loading if you use it often.<br><br>You could also make SelectedDate a Private variable for the calling form and have more flexibility with what you will do with it.<br><br>Charles<br><br>