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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2010, 09:56   #1
d_adilet
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 49
По умолчанию Разделение данных на несколько ячеек

Здравствуйте уважаемые гуру,
столкнулся с одной проблемкой . Есть Таблица где есть столбец "Вноситель" (например: погасил Иванов И.И. через Сидорова С.С. ) передомной стоит задача вытащить только ФИО Сидорова С.С. т.е. первое слово после слова "Через". Вот я уже неделю пытаюсь решить этот вопрос, никак не получается, все перерыл, скачал кучу книг и ни слова про это.

Прошу Вас помочь в данном вопросе.
Заранее спасибо
d_adilet вне форума Ответить с цитированием
Старый 28.06.2010, 16:02   #2
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Я бы сделал функцию, которая вычислила слово "через", после него проверила кол-во пробелов, удалила лишние, а потом вернула Фамилию с инициалами..
Abrakadabra вне форума Ответить с цитированием
Старый 28.06.2010, 21:08   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте d_adilet.
в развитие совета от Abrakadabra, выкладываю образец пользовательской VBA функции :
Код:
Public Function sFIO(s)
Const sC = "Через"
Dim i%
s = s & "": i = InStr(1, s, sC, vbTextCompare)
If i > 0 Then sFIO = Trim(Mid(s, i + 6))
End Function
к радости пользователей она может интегрироваться непосредственно в SQL конструкцию запроса:
'SELECT F1, F2, sFIO(F2) FROM Table1
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 29.06.2010, 06:38   #4
d_adilet
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 49
По умолчанию

Abrakadabra, Евгений
Низкий Вам поклон, спасибо огромное, работает отлично.

Один вопрос, пользователи слово "Через" вводят по разному. Например "ч\з","ч-з" подскажите пож-та как мне предусмотреть все эти нюансы.
Еще раз спасибо за помощь.
d_adilet вне форума Ответить с цитированием
Старый 29.06.2010, 07:15   #5
d_adilet
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 49
По умолчанию

Цитата:
Сообщение от d_adilet Посмотреть сообщение
Abrakadabra, Евгений
Низкий Вам поклон, спасибо огромное, работает отлично.

Один вопрос, пользователи слово "Через" вводят по разному. Например "ч\з","ч-з" подскажите пож-та как мне предусмотреть все эти нюансы.
Еще раз спасибо за помощь.
В общем вроде разобрался сам, не знаю правильно ли это иль нет но работает.
Сделал таких функций несколько назвав из соответственно sFIO1, sFIO2 и т.д. в самом запросе сделал sFIO1(F1)&sFIO2(F1) и т.д.

Евгений еще раз спасибо за помощь
d_adilet вне форума Ответить с цитированием
Старый 29.06.2010, 09:07   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

d_adilet, "подкорректируйте" код подобным образом:
Код:
Const sC = "Через", sV1 = "ч\з", sV2 = "ч-з" 
s = s & "": s = Replace(s, sV1, sC): s = Replace(s, sV2, sC)
i = InStr(1, s, sC, vbTextCompare)
и использования одной функции достаточно.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 29.06.2010, 09:28   #7
d_adilet
Пользователь
 
Регистрация: 13.01.2010
Сообщений: 49
По умолчанию Спасибо

Спасибо большое
d_adilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение массива данных на части Евгений К. Microsoft Office Excel 2 03.06.2010 13:41
Как объединить несколько ячеек katlis Microsoft Office Excel 9 12.01.2009 22:29
Разделение интернета на несколько компов Retiz Компьютерное железо 11 10.10.2008 22:40
Разделение txt файла на несколько htm Tiger16 Фриланс 3 17.04.2008 22:40
Как объединить несколько ячеек katlis Microsoft Office Excel 1 02.08.2007 23:31