Agree with Capricorn1 and dqmq, however I'll add my 2 cents worth as well.
1. As dqmd mentioned, you can use the controls validation rule, but sometimes users would like to be able to fill in controls in their preferred sequence, so you might consider using the controls Exit event and just popup a warning when they exit the control that indicates that the control is required before the record can be saved.
2. Capricorn1's code will check all of the required fields but does not give you a very specific message. Since your form is unbound, you probably won't have the built in navigation buttons (I think this is a good thing). I generally provide Save and Cancel buttons on each of my forms. With the Save button, you can do one of two things:
a. You can do your validation tests in the Click event of the button, checking each of the fields which are required to ensure that they have a valid entry. If not, display a field specific message, and set the focus back to the appropriate control.
b. You can disable the Save button until all of the required fields are filled in. To do this, you would need to use the Exit or AfterUpdate event of each of the controls and call code like Cap1 provided to enable/disable the command button based on the values in all of the fields. The down side of this method is they have to search around on the form to identify which of the required fields is missing data. I have, when the client wanted it, setup my required controls (textboxes and comboboxes) with a conditional format that is a different color than the standard. I do this with a function (see below) and by setting the controls condition as "Expression Is" with a parameter that looks like: fnRequiredButEmpty(Forms!formname.controlname)
If you do this and set the background property to a light color (I usually use a pale yellow), then the user can immediately see what controls are required, and which ones have not been filled in. You could modify the function to check for specific value for specific controls instead of just testing to see whether the lenght > 0, but this will give you an idea.
Private Function fnRequiredButEmpty(Ctrl As Control) As Boolean
RequiredButEmpty = (Len(Ctrl.Value & "") = 0)
End Function