Paste this code in the after_update event of your text box.
Dim strCurrent As String
Dim strTemp As String
Dim I As Integer
strTemp = ""
If IsNull(Text1) Then
strCurrent = Text1
For I = 1 To Len(strCurrent)
If I = 1 Then
strTemp = UCase(Mid(strCurrent, 1, 1))
If Asc(Mid(strCurrent, I, 1)) = 32 Then
I = I + 1
strTemp = strTemp & " " & UCase(Mid(strCurrent, I, 1))
strTemp = strTemp & Mid(strCurrent, I, 1)
Text1 = strTemp
I have tested it, and it works fine, not sure if it is the best method though...