Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alenchik
Зарегистрирован: 03.10.2007 Сообщения: 4
|
Добавлено: Ср Окт 03 2007 14:04 Заголовок сообщения: нужна помощь |
|
|
Добрый день!
Помогите, пожалуйста, есть поле в таблице с фамилией , нужно в другом поле сделать фамилию в дательном падеже, например
Ивановский сделать Ивановскому
какая функция подойдет чтобы заменить две последние буквы на другие? |
|
Вернуться к началу |
|
|
Bjorndalen
Зарегистрирован: 18.07.2007 Сообщения: 29
|
Добавлено: Чт Окт 04 2007 07:04 Заголовок сообщения: |
|
|
Цитата: | Добрый день!
Помогите, пожалуйста, есть поле в таблице с фамилией , нужно в другом поле сделать фамилию в дательном падеже, например
Ивановский сделать Ивановскому
какая функция подойдет чтобы заменить две последние буквы на другие? |
Что значит какая функция? с помощью чего построена таблица? |
|
Вернуться к началу |
|
|
Alenchik
Зарегистрирован: 03.10.2007 Сообщения: 4
|
Добавлено: Чт Окт 04 2007 08:38 Заголовок сообщения: |
|
|
таблица екселевская, делать можно на vba , но у меня с ним не очень, делаю в фоксе, примерно так
update tab1 set komu=substr(fam,1,length(fam)-2)+'ому' where fam like '%кий'
где поле komu - фамилия в дательном падеже
а поле fam - просто фамилия
что-то не получается именно функция length (определение длины), может я не так ее пишу? |
|
Вернуться к началу |
|
|
Bjorndalen
Зарегистрирован: 18.07.2007 Сообщения: 29
|
Добавлено: Чт Окт 04 2007 09:03 Заголовок сообщения: |
|
|
А почему бы не написанть так:
Код: |
=ЕСЛИ(ЕОШ(НАЙТИ("кий";A1;1));A1;ПОДСТАВИТЬ(A1;"кий";"ому"))
|
здесь A1 - номер ячейки с исходной фамилией. |
|
Вернуться к началу |
|
|
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Чт Окт 04 2007 09:24 Заголовок сообщения: |
|
|
оставьте глупую затею.
Тут с языком разобраться не могут, а вы с фамилией хотите.
Фамилии - вещь непредсказуемая, в принципе, а ее склонение по падежам - в принципе вдвойне. Тут человеческая логика порой отдыхает, а вы комп присобачить пытаетесь
Цитата: | =ЕСЛИ(ЕОШ(НАЙТИ("кий";A1;1));A1;ПОДСТАВИТЬ(A1;"кий";"ому")) |
И что вы сделаете с фамилиями
Закийман или Лизкийский.
А как быть и Ивановым, Петровым, Лисицыным, Поцом, Бажал, Кирюхиной, Винн.
И думай, дать Винн или Винну?
Список можно продолжать на сколько фантазии хватит. А она - безграична.
_________________ Errare humanum est |
|
Вернуться к началу |
|
|
Alenchik
Зарегистрирован: 03.10.2007 Сообщения: 4
|
Добавлено: Чт Окт 04 2007 09:27 Заголовок сообщения: |
|
|
всем спасибо большое, у меня получилось, функция не length а len, в итоге запрос
update tab1 set komu=substr(fam,1,(len(alltrim(fam))-2))+'ому' where qqq like 'кий'
Bjorndalen спасибо за ответ, это я так понимаю в екселе?
просто там кроме поля фамилии еще много чего надо было изменить и мне было проще сделать в фоксе одной програмкой, а функцию len я нашла в VBA. |
|
Вернуться к началу |
|
|
Alenchik
Зарегистрирован: 03.10.2007 Сообщения: 4
|
Добавлено: Чт Окт 04 2007 09:32 Заголовок сообщения: |
|
|
ответ grf,
ну почему вы так котегорично, есть много случаев когда это необходимо, а на разные варианты фамилий есть разные примеры обработки. что совсем уж не подкакие параметры не подходит тогда уж ручками,
вообщем кто ищет -тот найдет |
|
Вернуться к началу |
|
|
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Чт Окт 04 2007 09:39 Заголовок сообщения: |
|
|
Просто удачи, и все!!!!!
Но лично я не хотел бы учавствовать в разборе полетов, по поводу, почему в банке завернули гендиректора, с договором, в котором есть обращения:
Господин Иванов...
Господину Ивановому...
Удачи!!!
_________________ Errare humanum est
Последний раз редактировалось: grf (Чт Окт 04 2007 12:57), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
Bjorndalen
Зарегистрирован: 18.07.2007 Сообщения: 29
|
Добавлено: Чт Окт 04 2007 10:34 Заголовок сообщения: |
|
|
Ответ grf:
Откуда же такая склонность все усложнять?
Вот когда существует прблема со склонением всех возможных фамилий, тогда и следует ее решать!
Тем более запрограммировать все тонкости русского языка в принципе невозможно каким-то универсальным способом Но в общем случае можно обойтсь следующими правилами: При слонении к дательному падежу фамилии, заканчивающиеся на -ов, -ев, -ёв, ин - приобретают окончание -у; на -ова, -ева, -ёва, -ина - "а" заменяем на "-ой"; на -ий - меняем - "ий" на "ому"; на "-ая" меняем "ая" на "ой". Остальные фамилии можно для простоты считать несклоняемыми, коими они, в большинстве своём, и являются! |
|
Вернуться к началу |
|
|
Mytilus Galloprovincialis
Зарегистрирован: 30.08.2005 Сообщения: 358 Откуда: откуда все люди родятся
|
Добавлено: Пт Окт 05 2007 05:02 Заголовок сообщения: |
|
|
Главное - обратить внимание на неславянские фамилии. Потому что мужские склоняются, а женские - нет: Ивану Раппопорту и Марии Раппопорт. |
|
Вернуться к началу |
|
|
grf
Зарегистрирован: 05.04.2005 Сообщения: 1242 Откуда: Москва
|
Добавлено: Пт Окт 05 2007 08:42 Заголовок сообщения: |
|
|
to Bjorndalen
Посмотри на мой пост выше!!!
Я же сказал, удачи! Устроит Вас Ваш вариант, вперед.
Ситуации в жизни бывают разные, обстоятельства тоже.
откуда я знаю что вы там делаете.
Может список контактов у себя в аське склоняете, так вам пофигу, вообще, что там на выходе получится.
А если занимаетесь серьезными делами и соответствующая ответственность, то лучше не иметь проги вообще, чем иметь такую, которая может выдать неправильный результат, именно выдать, если б еще споткнулась, пол беды, выдать НЕВЕРНЫЙ результат.
Выше озвученное, конечно, IMHO, проверенное только на своем опыте.
Удачи!!!
_________________ Errare humanum est |
|
Вернуться к началу |
|
|
Bjorndalen
Зарегистрирован: 18.07.2007 Сообщения: 29
|
Добавлено: Пт Окт 05 2007 09:08 Заголовок сообщения: |
|
|
И Вам удачи grf !!!
Спасибо за критику, она бывает очень полезна! )) |
|
Вернуться к началу |
|
|
|