1 votes

Comment échanger les noms et prénoms dans MS Access ?

J'ai une base de données Access dans laquelle une colonne de champs contient des noms dont le prénom est le premier et le nom le dernier. J'aimerais pouvoir les intervertir de manière à ce qu'ils soient Nom en premier, Prénom en dernier. Par exemple, je voudrais

Bob Smith

devenir

Smith, Bob

Quelqu'un sait-il s'il est possible de le faire avec Access ?

Remerciements

3voto

Mateen Ulhaq Points 143

Cela dépend de la manière dont vous voulez procéder. J'utiliserais une fonction plutôt que d'écrire un code SQL compliqué. Voici une fonction qui pourrait faire l'affaire :

  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

Ces valeurs sont renvoyées :

  ?SwapNames(Null)
  Null
  ?SwapNames("Fenton")
  Fenton
  ?SwapNames("David Fenton")
  Fenton, David
  ?SwapNames("David W. Fenton")
  Fenton, David W.

...et vous l'utiliserez simplement dans votre SQL ainsi :

  UPDATE tblPerson
  SET tblPerson.FullName = SwapNames(tblPerson.FullName)

Maintenant, si vous voulez le faire en SQL seulement, c'est plus compliqué et vraiment désordonné. Si c'est ce que vous voulez, demandez-le moi et j'essaierai.

0voto

Mike Grace Points 197

Pouvez-vous créer un autre champ qui exécute une requête sur Access et modifie la chaîne ? Je ne connais pas très bien Access. Je sais qu'il est possible de le faire dans Excel. C'est peut-être une option. Exportez les données vers Excel, modifiez la chaîne de caractères à l'aide de formules, puis mettez à jour la table Access pour qu'elle contienne un champ pour le prénom et le nom de famille.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X