Depends on how you want to do it. I'd use a function rather than writing convoluted SQL. Here's a function that would do it:
Public Function SwapNames(ByVal varOriginalName As Variant) As Variant
Dim strOriginalName As String
Dim lngLastNameStart As Long
Dim strLastName As String
Dim strFirstName As String
If IsNull(varOriginalName) Or InStr(varOriginalName, " ") = 0 Then
SwapNames = varOriginalName
Else
strOriginalName = varOriginalName
lngLastNameStart = InStrRev(strOriginalName, " ") + 1
strLastName = Mid(strOriginalName, lngLastNameStart)
strFirstName = Left(strOriginalName, lngLastNameStart - 2)
SwapNames = strLastName & ", " & strFirstName
End If
End Function
This returns these values:
?SwapNames(Null)
Null
?SwapNames("Fenton")
Fenton
?SwapNames("David Fenton")
Fenton, David
?SwapNames("David W. Fenton")
Fenton, David W.
...and you'd just use it in your SQL thus:
UPDATE tblPerson
SET tblPerson.FullName = SwapNames(tblPerson.FullName)
Now, if you want to do it in SQL only, it's more complicated and really messy. If you want that, just ask, and I'll give it a shot.