Kommt drauf an, wie du es machen willst. Ich würde eher eine Funktion verwenden, als gewundene SQL zu schreiben. Hier ist eine Funktion, die es tun würde:
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
Dies gibt diese Werte zurück:
?SwapNames(Null) Null ?SwapNames("Fenton") Fenton ?SwapNames("David Fenton") Fenton, David ?SwapNames("David W. Fenton") Fenton, David W.
... und Sie würden es einfach in Ihrem SQL verwenden:
UPDATE tblPerson SET tblPerson.FullName = SwapNames(tblPerson.FullName)
Wenn Sie es jetzt nur in SQL tun möchten, ist es komplizierter und wirklich unordentlich. Wenn Sie das wollen, fragen Sie einfach, und ich werde es versuchen.