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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 21:24   #1
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию Выбор инициалов из строки

Здравствуйте! Повторяюсь, тема уже была, но вопрос не решен... Как можно выбрать инициалы из полного ФИО? Ну вот к примеру, в форме есть поле ФИО: САФРОНОВ СЕРГЕЙ НИКОЛАЕВИЧ. Нужен результат Сафронов С.Н.
Swatch вне форума Ответить с цитированием
Старый 03.03.2010, 21:58   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Swatch.
Если Вас не запугали разные имена в России о которых писал Андрей (Aent), можете попробовать создать подобную функцию :
Код:
Sub shorts() ' проверка функции
Dim s$
s = "САФРОНОВ СЕРГЕЙ НИКОЛАЕВИЧ."
s = sFIO(s)
End Sub
Function sFIO(s$)
Dim v() As String
s = Replace(s, "  ", " ")
v = Split(s, " ")
s = LCase(Mid(v(0), 2))
For i = 0 To UBound(v) - 1
    v(i) = " " + UCase(Left(v(2), 1))
Next
sFIO = Trim(v(0) + s + v(1) + "." + v(2) + ".")
End Function
получать данные в поле формы из функции может строка: =sFIO([ПолеИсточника])
Евгений.

Последний раз редактировалось Teslenko_EA; 03.03.2010 в 22:06.
Teslenko_EA вне форума Ответить с цитированием
Старый 04.03.2010, 08:06   #3
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Функции Replace и split :что это такое?
Swatch вне форума Ответить с цитированием
Старый 04.03.2010, 17:34   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Swatch, участники форума оказывают помощь в решении проблем возникших при реализации проекта с применением VB(A), но изучать команды и функции VB(A) думаю лучше самостоятельно.
"Replace и split" - буквальный перевод названия объясняет их назначение.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 04.03.2010, 21:33   #5
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Извините за неправильно поставленный вопрос: проблема в том что базу делаю в Аксессе 97(в нем работают на предприятии) а там эти функции не работают...
Swatch вне форума Ответить с цитированием
Старый 04.03.2010, 23:40   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

возможно подойдет применение InStr, не уверен но попробуйте:
Код:
Sub shorts() ' проверка функции
Dim s$
s = "САФРОНОВ СЕРГЕЙ НИКОЛАЕВИЧ."
s = sFIO(s)
End Sub
Function sFIO(s$) As String
Dim i%
's = "Иванов иван иванович"
i = InStr(1, s, " ")
sFIO = UCase(Left(s, 1)) + LCase(Mid(s, 2, i - 1))
sFIO = sFIO + " " + UCase(Mid(s, i + 1, 1)) + "."
i = InStr(i + 1, s, " ")
sFIO = sFIO + " " + UCase(Mid(s, i + 1, 1)) + "."
End Function
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 05.03.2010, 13:53   #7
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
По умолчанию

Огромное спасибо! Все работает!:-)
Swatch вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор строки в файле на C++ mysan Общие вопросы C/C++ 2 20.01.2010 14:11
Выделение инициалов XFilippowX Помощь студентам 5 16.01.2010 10:07
Выбор строки из базы SQL A-1_S БД в Delphi 3 05.09.2009 21:14
Выбор строки из заданного параметра Antoha21 Microsoft Office Excel 3 24.07.2009 12:21
выбор чисел из смешанной строки zetrix Microsoft Office Excel 0 31.10.2006 07:30