Both 1) AND 2) are possible and both have their uses depending on what you will do with these names.
1) can be done with an auto-enter calculation:
Proper ( Self )
and clear the "do not replace existing value..." option.
2) can be done by selecting the field while in layout mode and specifying "Title Case".
Both options have a key short coming when it comes to names: Names do not follow predictable rules for how they are capitalized.
Both options would turn a name like McDaniels into Mcdaniels.
You may want to use either this auto-enter expression:
Upper ( Left ( Self ; 1 ) ) & Right ( Self ; Length ( Self ) - 1 ) )
or this conditional format expression:
Exact ( Upper ( self ) ; Self ) or Exact ( Lower ( self ) ; self )
And then specify the Title Case format.
This last option leaves the capitalization unchanged any time a mix of upper and lower case letters are entered, but capitalizes only the first letter if all caps or no caps are used during data entry.
I do like the last option; this seems to give the best overall performance.
philmodjunk's code works well but if you need to trim the spaces as well (as most users seem to love their space bars!) this works well for me:
Enter this as an Auto-Entered Calculated Value in (fieldname):
Let (varfirst = Proper(fieldname) ; TrimAll (varfirst; 0 ; 0 ))
varfirst' is my variable name.
'fieldname' = the field you want to sort out.
It does change MacDougal to Macdougal though. My view was that I prefer names with the first letter always capitalised rather than have folk be able to put in something like joHNSon. As always with Filemaker, a personal choice.
Hope it helps.