|
0 / 0 / 0
Регистрация: 08.09.2020
Сообщений: 16
|
|
Склонение фамилий и должностей в форме пользовательскими фукциями21.09.2020, 09:57. Показов 18490. Ответов 54
Метки нет (Все метки)
Добрый день, форумчане
Помогите, пожалуйста, новичку с проблемой. В сети найден программный код, который бы склонял ФИО и должности сотрудников. Найдено здесь http://am.rusimport.ru/MSAccess/topic.aspx?ID=585. В данном примере сделано через запрос, но мне это не совсем подходит. Хотелось бы, чтобы в форме при выборе значения в поле со списком, в другом поле появлялось значение просклоненного ФИО либо должности. Подскажите, пожалуйста, как эти функции приделать к полю в форме? Пример во вложении. Спасибо.
0
|
|
| 21.09.2020, 09:57 | |
|
Ответы с готовыми решениями:
54
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
||
| 25.09.2020, 12:18 | ||
|
Фамилии: Семенов-Тян-Шанский Демут-Малиновский, Гресь-Янковский, Тер-Иванов Козодой Красавец отличается от Соскавец и зависит от ударения Казачок, Василёк – выпадение гласных в зависимости от … Боец Митяй Герой Ноша, Чаша отличается от Левша, Кваша Хрын , Кмин, Блин, Сплин Гений Кий Ен Ус Финские типа Куйкка, Саловаара не склоняются Барин, Филин, Камин – в Тв. могут склоняться –ном или –ным в зависимости от … Франклин, Юдин, Чаплин – если иностранная фамилия и без русского отчества то –ном, иначе -ным Жемчужина, Малина, Корова – могут склоняться в зависимости от … Грива Тома, Дега, Люка, Ферма, Гамарра, Петипа – если происхождение французское и ударение на последнее -а, то не склоняются Имена: Лев Павел Ёж Мия, Лия – в Дат. на –е, в отличие от Эмилия – на -и Добавлено через 8 минут При этом указанные в перечне фамилии и имена не единственные в своем роде, а представлены как примеры из похожего множества и для банального внесения в перечень исключений не подходят.
1
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
||||||||||||
| 25.09.2020, 12:30 | ||||||||||||
0
|
||||||||||||
|
Модератор
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
|
|||
| 25.09.2020, 12:37 | |||
|
Хрыном Львом Олеговичем Гривой Павлом Олеговичем
1
|
|||
|
2 / 1 / 2
Регистрация: 26.08.2015
Сообщений: 96
|
|
| 25.09.2020, 12:46 | |
|
Почему то после переноса модулей у меня перестало все работать. На пример с базой выше мог бы перенести. Чтобы можно было вставить формулу в поле =,,,,, и выдавало значение?
Модуль склонения v004-1.zip (файл в сообщении повыше)
0
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
||
| 25.09.2020, 13:02 | ||
|
При этом извиняюсь, не указал, что фамилия Грива имелась в виду женская.
1
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
|||
| 25.09.2020, 13:21 | |||
|
Глаз "Замылен" - точно! ![]() ... ща поправлю (попробую) ... Done! А вот "Семенов-Тян-Шанский" - оставлен пока "на потом" ... Добавлено через 18 минут Спасибо.
0
|
|||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
||
| 25.09.2020, 13:49 | ||
|
Название функций и модуль целиком изменилися, а машина сама этого не понимат! ![]() ... Как страшно жить! ![]() Подправил.
0
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
|
| 25.09.2020, 14:09 | |
|
UUMprimor, Capi, спасибо за подсказки.
Всё сразу реализовать не могу, но частично (30-40%) из высказанного удалось быстро исправить. Например, в одном месте, вместо русского аргумента "Т" - была англ. буква "T" и аргумент не обрабатывался ![]() Результат ниже.
1
|
|
|
2 / 1 / 2
Регистрация: 26.08.2015
Сообщений: 96
|
|
| 25.09.2020, 15:22 | |
|
ОГРОМНОЕ СПАСИБО. Все четко пашет!
0
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
||
| 25.09.2020, 16:14 | ||
Сообщение было отмечено mobile как решение
Решение![]() Код окончательно не оптимизирован для того, чтобы был понятен алгоритм.
4
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
||
| 25.09.2020, 16:41 | ||
|
А я тут "велосипед изобретаю" .... Спасибо. Сейчас пишу блок проверки склонений на правильность по словарю - потом, если хотите, отпишусь о результатах ...
0
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
|
| 26.09.2020, 15:17 | |
|
UUMprimor, как и обещал - закладываю результаты глубокого тестирования модуля "mdl_SklonenieFIO".
Неплохой модуль, мало ошибок, но они есть: Все падежи: Пётр = Пётру - Пётра - Пётром Соловей Илья Кузьмич = Соловью ... ??? Шкворень Евгений Иванович = Шкворню ... Куцый Фридрих Семенович = Куцему ... Родительный: Лебяжья = Лебяжьей (вместо Лебяжью ) Творительный: Константин = Константиным Валентин = Валентиным Чаплин = Чаплином Хемингуэй = Хемингуэим (вместо Хемингуэем) Ещё про "ваш" модуль: - Без чёткого указания рода выдаёт неверный результат - При выполнении задаёт глупые вопросы про ударение в фамилиях (пришлось отключить все MsgBox -ы) - Жутко медленно работает ! Всего 200 имён - 3 падежа - а ОНО мне машину аж подвешивает (!!!) - пришлось проверять на статичных данных. - Нет нормализации строк результата.
0
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
||
| 26.09.2020, 23:49 | ||
|
Eugene-LS, спасибо за участие, редко бывает. Приятно.
Да, Пётр известный мне косячок еще у автора кода Крук Валерия, но как-то мною давно позабытый. Спасибо, исправлю. Удаление глупых, как Вы считаете, вопросов в MsgBox про ударение в фамилиях приводит к большому количеству ошибок в фамилиях на -ец: КрАвец-Кравцем, но КравЕц-Кравцом, в французских фамилиях на -а, -я, а также женских имен на -я. Вероятно Вы нашли другой интересный способ правильного выбора варианта склонения? По той же причине удаления у Вас слетело не глупое склонение фамилий с выпадающими гласными (Соловей,Шкворень)? Посмотрите здесь, например: http://gramota.ru/class/istiny/istiny_8_familii
В фамилии Лебяжья тоже непонятка, что имелось ввиду. если м.р. Родительный: в отношении кого? - Лебяжьи Сергея, Винительный: привлечь кого? Лебяжью Сергея если ж.р.: опыт кого? Лебяжьей Анны, поощрить кого? Лебяжью Анну. Фамилии, схожие с именами, оканчивающиеся на -ин не встречал. Но согласен, нужно учесть, ведь каких только ФИО в т.ч. иностранных не бывает! А эти же имена в ТВ. падеже - ошибка, которая вкралась по недосмотру, когда удалил излишнюю функцию проверки особенностей склонения имен в отличие от похожих фамилий. Ранее это было давно исправлено: https://www.sql.ru/forum/actua... g=20342615 Поправлю и сейчас. Спасибо. Хемингуэй - аналогичный по характеру случай. В любом случае род нужно указывать, или программно или вручную, т.к. код склоняет не только славянские ФИО, как в примере, указанном в первом посте темы. Как это сделать в спорных непонятных случаях с иностранными ФИО уже здесь предлагал. Да, работает не быстро, но при нормализации кода вопросы задаются в меньшем количестве. Например, лишь однажды при каждом обращении к программе задается вопрос о том, как склонять - с выпадением гласной или без сразу по всем падежам, а не как сейчас по каждому. Скорость приемлемая. А еще быстрее, если прописать тот же самый алгоритм не в VBA. Про нормализацию строк результата не понял, что имелось в виду, ведь смотря какой результат, как и куда вставляется. Еще раз спасибо за участие и нахождение ошибок!
0
|
||
|
9144 / 6167 / 594
Регистрация: 27.03.2013
Сообщений: 20,036
|
||
| 27.09.2020, 04:37 | ||
, расписывая как великолепен отвечающий.Но, как говорится - "Доброе слово и кошке приятно" ![]() Помечу ка я вас как - "Самого благодарного вопрошающего", а то Евгений возможно и не догадается.
0
|
||
|
13223 / 5910 / 1517
Регистрация: 05.10.2016
Сообщений: 16,553
|
|||
| 27.09.2020, 08:33 | |||
![]() Интернет (статьями) пишет что правильно так: Соловей - Соловею (Например :https://www.analizfamilii.ru/S... eniye.html Шкворень - Шквореню (Аналогично) Вообще правила противоречивы и "правильные" варианты вызывают вопросы и недоумение. Некоторые вообще упростили жизнь и перестали склонять корейские фамилии по жизни. Тут, пока тестировал, родилась такая идея: Если в приложении есть необходимость склонения имён, то строим базу с учётом возможных исключений: Таблица с именительным падежом (собственно персонажей) -> Таблица исключений по трём падежам (один ко многим). Дальше пишем функцию которая будет возвращать либо автоматическое склонение (результат функции склонения) либо данные из таблицы исключений (если есть) И всё! -Насчёт исключений (число коих бесконечность) голову ломать не нужно. В результате, на 1000 записей персонажей, будет примерно сотка записей исключений и минус головная боль .
0
|
|||
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
||
| 28.09.2020, 10:34 | ||
|
По поводу выпадающих гласных доверяю официальным экспертам: https://www.cyberforum.ru/newr... &t=2700634 Про фамилию Чаплин, Дарвин и т.п. забыл уточнить в предыдущем посте http://gramota.ru/class/istiny/istiny_8_familii
1
|
||
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
|
| 28.09.2020, 11:01 | |
|
ссылка по поводу выпадающих гласных:
http://new.gramota.ru/spravka/... 0%B3%D0%BE Действительно по мнению экспертов предпочтительнее склонять с невыпадающей гласной, но по правилам русского языка можно и с выпадающей. ИМХО, для носителей русского языка склонение с выпадающей гласной выглядит грамматически неграмотно. Аргумент о сохранении юридического соответствия при изменении ФИО именно с точки зрения носителя русского языка выглядит ничтожным.
1
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
|
| 25.11.2020, 15:46 | |
|
Небольшая поправка предыдущего поста:
"ИМХО, для носителей русского языка склонение с НЕвыпадающей гласной выглядит грамматически неграмотно". Да, склонение фамилий на -эй исправил. Также учел разницу склонения женских фамилий Больша́я и Бо́льшая и им подобным.
2
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
|
| 03.12.2020, 10:50 | |
|
Из-за удаления когда-то отдельной функции SklonenieImyaMujsk,
склонявшую ИМЕНА с таким же окончанием как и в ФАМИЛИИ, но по-другому, закралась ошибка в склонении имен типа Герогий, Сергий и т.п., хотя в примерах они были. Исправил.
4
|
|
|
787 / 66 / 4
Регистрация: 28.05.2015
Сообщений: 104
|
|
| 05.12.2020, 15:56 | |
|
На досуге перепроверил другие последствия удаления той функции.
Обнаружил еще огрехи в склонении имен Турсунбой, Евлой, Хэлбой, которые также ранее были в примерах БД. Исправил.
2
|
|
| 05.12.2020, 15:56 | |
|
Помогаю со студенческими работами здесь
40
Склонение имен и фамилий Склонение фамилий по падежам Склонение фамилий по падежам Склонение фамилий по падежам Склонение фамилий в родительный падеж Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|