That error likely occurs when there's nothing in the initials field at all (I didn't test) but you can avoid the error by testing for null before trying to parse the string



Code:
Dim i As Integer  
Dim sInputString As String  
Dim sOutputString As String   

if not isnull([letters])
    sInputString = Replace([Letters], " ", "")     
    sInputString = Replace([sInputString], ".", "")      
    sOutputString = ""      
    For i = 1 To Len(sInputString)              
        sOutputString = sOutputString & UCase(Mid(sInputString, i, 1)) & "."      
    Next       
    Letters = sOutputString
else
    'do whatever you're going to do if letters is blank
endif