LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
29 апреля 2024
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: сумма про...
Тема: сумма прописью
15.06.2007 20:09:35
ЕфимовИлья
22 сообщения
Тема: сумма прописью
Возможно, сделать сумму прописью в отчете?
Если да тогда в каком примере я могу это увидеть?
Если нет, тогда почему нет и как выйти из сложившейся ситуации?
С уважением Ефимов Илья.
P.S. События в отчетах
Автор:
Ефимов Илья
от 19.07.2005 13:18:59
Источник ...
15.06.2007 20:09:35
All
4316 сообщения
RE: сумма прописью
Пример la_form1.mdb (18 пример). Для отчета надо составить запрос с полем, где будет вызываться эта функция.
P.S. События в отчетах
Автор:
Admin
от 0:00:00
Источник ...
09.11.2007 11:54:45
s_serge
1 сообщения
Re: Тема: сумма прописью
Украинский вариант
Public Function ЧислоПропись(x1 As Double) As String
Dim S1 As String, S_kop As String, s_triada As String
Dim pr_grivna As Integer
'Записывает прописью число, дробная часть - копейки
'pr_grivna - (1-указывает что слово гривна записано в вых. строку)
pr_grivna = 0
S1 = Format(x1, "000000000000.00")
S1 = Trim(S1)
S_kop = Right(S1, 2)
S1 = Mid(S1, 1, Len(S1) - 3)
If Len(S1) > 12 Then
ЧислоПропись = S1
GoTo Конец
End If
'до тысячи
If Len(S1) > 0 Then
If Len(S1) >= 3 Then
s_triada = Right(S1, 3)
Else
s_triada = Right("000" & S1, 3)
End If
If Val(s_triada) > 0 Then
ЧислоПропись = ТриадаПропись(s_triada, " ", "грив")
End If
End If
If Val(s_triada) > 0 Then
pr_grivna = 0 'т.е. слово гривна записано
End If
'тысячи
If Len(S1) > 3 Then
If Len(S1) >= 6 Then
s_triada = Left(Right(S1, 6), 3)
Else
s_triada = Right("000" & Mid(S1, 1, Len(S1) - 3), 3)
End If
If Val(s_triada) > 0 Then
If pr_grivna = 1 Then
ЧислоПропись = ТриадаПропись(s_triada, "тися", "грив") + ЧислоПропись
Else
ЧислоПропись = ТриадаПропись(s_triada, "тися", " ") + ЧислоПропись
End If
End If
End If
If Val(s_triada) > 0 Then
pr_grivna = 1 'т.е. слово гривна записано
End If
'мильйоны
If Len(S1) > 6 Then
If Len(S1) >= 9 Then
s_triada = Left(Right(S1, 9), 3)
Else
s_triada = Right("000" & Mid(S1, 1, Len(S1) - 6), 3)
End If
If Val(s_triada) > 0 Then
If pr_grivna = 0 Then
ЧислоПропись = ТриадаПропись(s_triada, "мільйо", "грив") + ЧислоПропись
Else
ЧислоПропись = ТриадаПропись(s_triada, "мільйо", " ") + ЧислоПропись
End If
End If
End If
If Val(s_triada) > 0 Then
pr_grivna = 1 'т.е. слово гривна записано
End If
'мильярды
If Len(S1) > 9 Then
If Len(S1) >= 12 Then
s_triada = Left(Right(S1, 12), 3)
Else
s_triada = Right("000" & Mid(S1, 1, Len(S1) - 9), 3)
End If
If Val(s_triada) > 0 Then
If pr_grivna = 1 Then
ЧислоПропись = ТриадаПропись(s_triada, "мільяр", "грив") + ЧислоПропись
Else
ЧислоПропись = ТриадаПропись(s_triada, "мільяр", " ") + ЧислоПропись
End If
End If
End If
If Val(s_triada) > 0 Then
pr_grivna = 0 'т.е. слово гривна записано
End If
'Добавляем копейки
ЧислоПропись = ЧислоПропись & " " & S_kop & " коп."
Конец:
End Function
Public Function ТриадаПропись(st1 As String, razr As String, griv As String) As String
'В razr название порядка триади (тися;мільйо;мільяр)
'В griv
Dim S1 As String, S2 As String, S3 As String
Dim pr1 As String
Dim mln_dop As String, mlrd_dop As String, ts_dop As String, griv_dop As String
ts_dop = "ч"
mln_dop = "нів"
mlrd_dop = "дів"
griv_dop = "нів"
If razr = "тися" Or razr = " " Then
pr1 = "ж"
Else
pr1 = "м"
End If
S1 = Mid(st1, 1, 1)
S2 = Mid(st1, 2, 1)
S3 = Mid(st1, 3, 1)
'Сотни
Select Case S1
Case "1"
ТриадаПропись = ТриадаПропись & " сто"
Case "2"
ТриадаПропись = ТриадаПропись & " двісті"
Case "3"
ТриадаПропись = ТриадаПропись & " триста"
Case "4"
ТриадаПропись = ТриадаПропись & " чотириста"
Case "5"
ТриадаПропись = ТриадаПропись & " п'ятсот"
Case "6"
ТриадаПропись = ТриадаПропись & " шістсот"
Case "7"
ТриадаПропись = ТриадаПропись & " сімсот"
Case "8"
ТриадаПропись = ТриадаПропись & " вісімсот"
Case "9"
ТриадаПропись = ТриадаПропись & " дев'ятсот"
End Select
'Десятки
Select Case S2
Case "2"
ТриадаПропись = ТриадаПропись & " двадцять"
Case "3"
ТриадаПропись = ТриадаПропись & " тридцять"
Case "4"
ТриадаПропись = ТриадаПропись & " сорок"
Case "5"
ТриадаПропись = ТриадаПропись & " п'ятдесят"
Case "6"
ТриадаПропись = ТриадаПропись & " шістьдесят"
Case "7"
ТриадаПропись = ТриадаПропись & " сімдесят"
Case "8"
ТриадаПропись = ТриадаПропись & " вісімдесят"
Case "9"
ТриадаПропись = ТриадаПропись & " дев'яносто"
End Select
'Единицы
Select Case S2
Case "1"
Select Case S3
Case "0"
ТриадаПропись = ТриадаПропись & " десять"
Case "1"
ТриадаПропись = ТриадаПропись & " одинадцять"
Case "2"
ТриадаПропись = ТриадаПропись & " дванадцять"
Case "3"
ТриадаПропись = ТриадаПропись & " тринадцять"
Case "4"
ТриадаПропись = ТриадаПропись & " чотирнадцять"
Case "5"
ТриадаПропись = ТриадаПропись & " п'ятнадцять"
Case "6"
ТриадаПропись = ТриадаПропись & " шістнадцять"
Case "7"
ТриадаПропись = ТриадаПропись & " сімнадцять"
Case "8"
ТриадаПропись = ТриадаПропись & " вісімнадцять"
Case "9"
ТриадаПропись = ТриадаПропись & " дев'ятнадцять"
End Select
Case Else
Select Case S3
Case "1"
If pr1 = "м" Then
ТриадаПропись = ТриадаПропись & " один"
mln_dop = "н"
mlrd_dop = "д"
Else
ТриадаПропись = ТриадаПропись & " одна"
ts_dop = "ча"
griv_dop = "на"
End If
Case "2"
If pr1 = "м" Then
ТриадаПропись = ТриадаПропись & " два"
mln_dop = "ни"
mlrd_dop = "ди"
Else
ТриадаПропись = ТриадаПропись & " дві"
ts_dop = "чі"
griv_dop = "ні"
End If
Case "3"
ТриадаПропись = ТриадаПропись & " три"
mlrd_dop = "ди"
mln_dop = "ни"
ts_dop = "чі"
griv_dop = "ні"
Case "4"
ТриадаПропись = ТриадаПропись & " чотири"
mlrd_dop = "ди"
mln_dop = "ни"
ts_dop = "чі"
griv_dop = "ні"
Case "5"
ТриадаПропись = ТриадаПропись & " п'ять"
mlrd_dop = "дів"
mln_dop = "нів"
ts_dop = "ч"
griv_dop = "ень"
Case "6"
ТриадаПропись = ТриадаПропись & " шість"
Case "7"
ТриадаПропись = ТриадаПропись & " сім"
Case "8"
ТриадаПропись = ТриадаПропись & " вісім"
Case "9"
ТриадаПропись = ТриадаПропись & " дев'ять"
End Select
End Select
Select Case razr
Case "мільяр"
ТриадаПропись = ТриадаПропись & " мільяр" & mlrd_dop
If griv = "грив" Then
ТриадаПропись = ТриадаПропись & " грив" & griv_dop
End If
Case "мільйо"
ТриадаПропись = ТриадаПропись & " мільйо" & mln_dop
If griv = "грив" Then
ТриадаПропись = ТриадаПропись & " грив" & griv_dop
End If
Case "тися"
ТриадаПропись = ТриадаПропись & " тися" & ts_dop
If griv = "грив" Then
ТриадаПропись = ТриадаПропись & " грив" & griv_dop
End If
Case Else
If griv = "грив" Then
ТриадаПропись = ТриадаПропись & " грив" & griv_dop
End If
End Select
End Function
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: сумма про...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования