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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2011, 22:52   #1
taran1
 
Регистрация: 16.06.2011
Сообщений: 6
Стрелка Дробное число прописью

Приветствую! Поиском по форуму юзал, в тырнете гуглил и нигде не нашел
У меня следующая проблема: необходим код VBA функции, что-бы к примеру число 123,33 переводило как - сто двадцать три целых тридцать три сотых, т.е. без рублей и дробная часть должна писаться прописью... Заранее спасибо!
taran1 вне форума Ответить с цитированием
Старый 16.06.2011, 23:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот решение на VBA
(c) Автор: Дмитрий Милосердов


Цитата:
'D_1000166
'Сумма Прописью по Дмитрию Милосердову (универсальная)

'Автор: Дмитрий Милосердов
'dimonm@ yahoo.com

'Универсальная функция суммы прописью с учетом 5-и знаков после запятой. Понимает женский, средний и мужской род.

'================================== =================================== ======
'АВТОР: Дмитрий Милосердов mailtoimonm@yahoo.com
'
'Вы можете свободно использовать его в своих программах если сочтете полезным.
'Всякие гарантии по поводу его работоспособности и возможные последствия
'работы модуля автор с себя снимает (хотя таковых не должно быть).
'================================== =================================== ========
'УНИВЕРСАЛЬНАЯ ФУНКЦИЯ ВЫВОДА ЧИСЛА (включающая в себя также дробные числа) ПРОПИСЬЮ
'на русском языке
я в Access не проверял.
функция используется в XLS, но я не вижу препятствий использовать её в MS Access...
Вложения
Тип файла: rar SummaPropis_miloserdova.rar (16.2 Кб, 163 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2011, 12:17   #3
taran1
 
Регистрация: 16.06.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вот решение на VBA
(c) Автор: Дмитрий Милосердов




я в Access не проверял.
функция используется в XLS, но я не вижу препятствий использовать её в MS Access...
Огромное спасибо! Кок раз то, что мне было нужно, посмотрел вроде всё без ошибок делает
taran1 вне форума Ответить с цитированием
Старый 17.06.2011, 12:48   #4
taran1
 
Регистрация: 16.06.2011
Сообщений: 6
По умолчанию

Единственно вот с этим моментом не могу разобраться:
152,2 сто пятьдесят две целых две десятых , при выборе мужского рода, по идее должно выводить сто пятьдесят два целых две десятых ? Не знаете в чем там ошибка?
В коде вроде все для правильного отображения есть, может где-то что-то подправить нужно, что-бы при выборе мужского рода писалось "один" и "два"?
PHP код:
If l1 <> 0 Then
If Not IsNumHidden Then
SummaPropisTriada 
SummaPropisTriada Choose(l1Choose(iPol"один""одна""одно"), Choose(iPol"два""две""два"), "три""четыре""пять""шесть""семь""восемь""девять")
SummaPropisTriada SummaPropisTriada " "
End If
End If 
taran1 вне форума Ответить с цитированием
Старый 17.06.2011, 13:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Покажите, как Вы вызываете...

Там, как мне помнится, при вызове функции передаётся пол.
попробуйте в функцию последним параметром передать русскую букву "м"
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2011, 14:05   #6
taran1
 
Регистрация: 16.06.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Покажите, как Вы вызываете...

Там, как мне помнится, при вызове функции передаётся пол.
попробуйте в функцию последним параметром передать русскую букву "м"
Вызываю так: SummaPropis([Число];"";"";"";"";"м")
цифра 2 выводится как два - т.е. в мужском роде, а вот если дробь, к примеру 152,2 как сто пятьдесят две целых две десятых ...
taran1 вне форума Ответить с цитированием
Старый 17.06.2011, 15:32   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

возможно, что я ошибаюсь, но:
Цитата:
к примеру 152,2 как сто пятьдесят две целых две десятых ...
мне кажется, что если в тексте появляется слово ЦЕЛЫХ, то для согласования как раз и нужен женский род..

сто пятьдесят ДВА ЦЕЛЫХ две десятых... имхо, это как-то неправильно...

если считаете, что это не так - можно поправить исходник...

Последний раз редактировалось Serge_Bliznykov; 17.06.2011 в 15:34.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2011, 15:35   #8
taran1
 
Регистрация: 16.06.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
возможно, что я ошибаюсь, но:

мне кажется, что если в тексте появляется слово ЦЕЛЫХ, то для согласования как раз и нужен женский род..

сто пятьдесят два целых две десятых... имхо, это как-то неправильно...
т.е. сто пятьдесят две целых две десятых метра будет правильно? Походу придется к учителю русского языка за помощью обращаться
Спасибо за помощь!
taran1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Число прописью not4u Microsoft Office Excel 26 20.08.2012 20:40
Перевести отрицатьльное дробное число в двоичную систему Иллидан Помощь студентам 0 14.11.2010 13:04
класс «дробное число» RodionL3 Общие вопросы C/C++ 5 24.04.2010 12:44
класс «дробное число»(С++) RodionL3 Помощь студентам 2 22.04.2010 21:30
Как записывается дробное число. Altera Свободное общение 2 18.12.2009 20:30