Here's a code snippet that may help. Plop this into an event procedure or a module subroutine. Of course you'll have to do some science experiments to tailor it to your specific needs, but this should give you an idea of how to do it.
This example iterates through the TableDefs collection, allows you to select which table you want (or in this case, all non-system tables), display the field name and set the Required property as you see fit.
Dim myDb As Database
Dim myTable As TableDef
Dim myField As Field
Set myDb = CurrentDb
For Each myTable In myDb.TableDefs
If myTable.Attributes = 0 Then ' Here's where we do our selection. You can also use the .Name property.
For Each myField In myTable.Fields ' Here's where iterate through the fields. You can do testing to find the Primary Key.
Debug.Print myField.Name
myField.Required = True ' Here's where we set the .Required property for the fields.
Next myField
End If
Next myTable
Set myDb = Nothing
Keep in mind that this was written in Access2003, so you may have to tweak a little for Access2007.
Good luck!