"Does anyone have a module that will separate a name stored in a single field as LAST FIRST MIDDLE into 3 individual fields (lastname, firstname and middlename)?"

As long as you're sure that exactly 3 names will always be in there. . .

Function OneName(thetext, whichone)
    Dim x As Long, s As String
    x = InStr(1, thetext, " ")
    s = Right(thetext, Len(thetext) - x)
    Select Case whichone
        Case 1
            OneName = Left(thetext, x - 1)
        Case 2
            x = InStr(1, s, " ")
            OneName = Left(s, x - 1)
        Case 3
            x = InStr(1, s, " ")
            OneName = Right(s, Len(s) - x)
    End Select
End Function

To try this out, go to the debug window and type:

a="John Quincy Adams"
?onename(a,1);"$";onename(a,2);"$";onename(a,3);"$"

It will come out as John$Quincy$Adams$