Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2015, 13:45   #1
Kot070
Форумчанин
 
Регистрация: 22.12.2012
Сообщений: 139
По умолчанию Поменять местами слова

Добрый день, в обычное поле на форме загружается переменная strFullName которая хранит в себе имя пользователя.
Загружается почему то в Василий Васильевич Пупкин а должно быть Пупкин Василий Васильевич.
Как то можно поменять местами слова или привести к нужному мне виду?
Kot070 вне форума Ответить с цитированием
Старый 29.12.2015, 14:24   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

пример базы с формой можно увидеть?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.12.2015, 14:38   #3
Kot070
Форумчанин
 
Регистрация: 22.12.2012
Сообщений: 139
По умолчанию

Да, конечно
Вложения
Тип файла: rar tst.rar (12.6 Кб, 10 просмотров)
Kot070 вне форума Ответить с цитированием
Старый 29.12.2015, 15:35   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Разделитель в имени только пробел? Например мой пользователь "Aleksandr H." в результате должен получиться "Н. Aleksandr"?

Код:
Function getNewUserName(UserName)
    Dim FirstSpace As Byte
    Dim LeftPart As String, RightPart As String
    FirstSpace = InStr(UserName, " ") - 1
    LeftPart = Left(UserName, FirstSpace)
    RightPart = Right(UserName, Len(UserName) - Len(LeftPart) - 1)
    getNewUserName = RightPart + " " + LeftPart
End Function
Код:
Forms![tst].users = getNewUserName(strFullName)
upd. как вариант
Код:
Function getNewUserName(UserName)
    With CreateObject("VBScript.RegExp")
     .Global = True
     .Pattern = "(\w+)(\s)([a-zA-Z0-9_. ]+)"
     If .Test(UserName) Then UserName = .Replace(UserName, "$3$2$1")
    End With
    simpleRegex2 = UserName
End Function
если подключить Microsoft VBScript Regular Expressions 5.5
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 29.12.2015 в 16:26.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.12.2015, 18:10   #5
Kot070
Форумчанин
 
Регистрация: 22.12.2012
Сообщений: 139
По умолчанию

как Вы делаете такие крутые штуки? я тоже так хочу
Kot070 вне форума Ответить с цитированием
Старый 29.12.2015, 20:43   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Главное заинтересованность и практика
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять местами слова в ячейке Нюни Microsoft Office Excel 28 05.12.2017 11:28
поменять местами слова в предложении (C++) Slicker Общие вопросы C/C++ 15 10.03.2011 10:17
поменять соседние слова местами alex(21) Общие вопросы C/C++ 3 20.02.2011 16:28
Поменять слова в строке местами fen1ksss Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 28.11.2010 22:25
поменять местами слова в предложении (C++) Slicker Помощь студентам 3 30.05.2009 17:57