Как подкачать имя и фамилию в Доступе MS

У меня есть база данных Access, где столбец полей содержит имена, где имя является первым, и фамилия является последней. Я хотел бы смочь подкачать затем вокруг, таким образом, они - Фамилия сначала, имя в последний раз. Например, я хотел бы

Bob Smith

стать

Smith, Bob

Кто-либо знает, может ли это быть сделано в Доступе?

Спасибо

1
задан 02.12.2014, 08:33

2 ответа

Зависит от того, как Вы хотите сделать это. Я использовал бы функцию вместо того, чтобы писать замысловатый SQL. Вот функция, которая сделала бы это:

  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

Это возвращает эти значения:

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

... и Вы просто использовали бы его в своем SQL таким образом:

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

Теперь, если Вы хотите сделать это в SQL только, это более сложно и действительно грязно. Если Вы хотите это, просто спрашиваете, и я дам ему выстрел.

3
ответ дан 12.12.2019, 10:45

Можно ли создать другое поле, которое выполняет запрос на доступе и редактирует строку? Я не ужасно знаком с Доступом. Я знаю, что можно сделать это в Excel. И возможно это - опция. Экспортируйте данные, чтобы превзойти, отредактировать строку с формулами, затем обновляют таблицу Access, чтобы иметь поле для обоих имени и фамилии.

0
ответ дан 12.12.2019, 10:45

Теги

Похожие вопросы