Wie Sie den Vor- und Nachnamen in MS Access austauschen

2177
JimDel

Ich habe eine Access-Datenbank, in der eine Spalte mit Feldern Namen enthält, bei denen der erste Vorname und der letzte Name der letzte ist. Ich möchte in der Lage sein, dann umzusteigen, so dass sie Nachname zuerst, Vorname zuletzt sind. Zum Beispiel würde ich gerne

Bob Smith

werden

Smith, Bob

Weiß jemand, ob dies in Access möglich ist?

Vielen Dank

1
Dies sei eine Lektion, um Namen in verschiedene Felder für Vor- und Nachname zu unterteilen. ceejayoz vor 14 Jahren 2
Erzähl mir davon :( JimDel vor 14 Jahren 0
Ich bin mir sicher, dass es einige fantastische SQL-, Vb-Skript-Möglichkeiten gibt, um es aus dem Zugriff heraus zu tun. Aber haben Sie überlegt, nur die Daten zu exportieren und die Manipulation in Ihrer bevorzugten Scriptsprache vorzunehmen? Dann einfach die Daten erneut einfügen / aktualisieren. Nifle vor 14 Jahren 0

2 Antworten auf die Frage

3
David W. Fenton

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.

0
guitarthrower

Können Sie ein anderes Feld erstellen, das beim Zugriff eine Abfrage ausführt und die Zeichenfolge bearbeitet? Ich bin mit Access nicht besonders gut vertraut. Ich weiß, dass Sie es in Excel machen können. Und vielleicht ist das eine Option. Exportieren Sie die Daten nach Excel, bearbeiten Sie die Zeichenfolge mit Formeln und aktualisieren Sie dann die Access-Tabelle, um ein Feld für den Vor- und Nachnamen zu erhalten.