powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по отчету, нужна помощь
2 сообщений из 2, страница 1 из 1
Вопрос по отчету, нужна помощь
    #32432096
Alkush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытался использовать данный скрипт для перевода суммы цифрами в сумму прописью в отчете. Скрипт не работает, скорей всего я делаю что то не так, подскажите, пожалуйста, что

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Public Function funSuprUSDeng(xsu As Currency, Optional mb As Byte) As String

'In words in $ in English
On Error GoTo ersupr
If Not IsNumeric(xsu) Then
funSuprUSDeng =  ""
Exit Function
End If
If xsu >= 10000000000000 # Then
funSuprUSDeng = " multitude "
Exit Function
End If
Dim ssu As String, nsu, edi, des, sot, ind As Byte, i As Integer
If Fix(xsu) = 0  Then
funSuprUSDeng = "null dollars  "
Else
ssu = MID$(Str$(Fix(xsu)), 2 )
If ssu =  1  Then
funSuprUSDeng = "One dollar  "
nsu = (Len(ssu) + 2 ) \  3 
ssu = Right$(" 00  ", nsu * 3  - Len(ssu)) + ssu
GoTo ivan
End If
nsu = (Len(ssu) +  2 ) \  3 
ssu = Right$(" 00  ", nsu * 3  - Len(ssu)) + ssu
For i = nsu To  1  Step - 1 
sot = Val(MID$(ssu, (nsu - i) *  3  +  1 ,  1 ))
des = Val(MID$(ssu, (nsu - i) *  3  +  2 ,  1 ))
edi = Val(MID$(ssu, (nsu - i) *  3  +  3 ,  1 ))
If sot + des + edi >  0  Or i =  1  Then
If sot >  0  Then
funSuprUSDeng = funSuprUSDeng + Choose(sot, "one hundred ", " two hundred ", " three hundred ", _
" four hundred ", " five hundred ", " six hundred ", " seven hundred ", " eight hundred ", _
" nine hundred ") + "   "
End If
If des = 1  Then
funSuprUSDeng = funSuprUSDeng + Choose(edi +  1 , "ten ", " eleven ", _
" twelve ", " thirteen ", " fourteen ", " fifteen ", " sixteen ", _
" seventeen ", " eighteen ", " nineteen ") + "   "
ind = 3 
Else
If des <>  0  Then
funSuprUSDeng = funSuprUSDeng + Choose(des -  1 , "twenty ", _
" thirty ", " fourty ", " fifty ", " sixty ", " seventy ", " eighty ", " ninety ") + "   "
End If
If edi <> 0  Then
If i =  2  And (edi =  1  Or edi =  2 ) Then
ind =  9 
Else
ind =  0 
End If
funSuprUSDeng = funSuprUSDeng + Choose(edi + ind, "one  ", " two  ", _
" three  ", " four  ", " five  ", " six  ", " seven  ", " eight  ", " nine  ", " one ", " two ") + "   "
End If
Select Case edi
Case 1 
ind =  1 
Case  2 ,  3 ,  4 
ind =  2 
Case Else
ind =  3 
End Select
End If
funSuprUSDeng = funSuprUSDeng + Choose((i -  1 ) *  3  + ind, "dollars ", " dollars ", _
" dollars ", " thousand ", " thousand ", " thousand ", " million ", " million ", " million ", _
" milliard ", " milliard ", " milliard ", " trillion ", " trillion ", _
" trillion ") + "   "
End If
Next i
End If
ivan:
ssu = Right$(Format$(xsu, "  0 . 00  "), 2 )
des = Val(Left$(ssu,  1 ))
edi = Val(Right$(ssu,  1 ))
If ssu =  1  Then
ind =  1 
Else
ind =  2 
End If
funSuprUSDeng = funSuprUSDeng + ssu + Choose(ind, " cent ", "  cents ")
If mb = 0  Then
funSuprUSDeng = UCase$(Left$(funSuprUSDeng,  1 )) + MID$(funSuprUSDeng,  2 )
End If
Exit Function
ersupr:
funSuprUSDeng = Err.Number & " " & Err.Description
End Function
...
Рейтинг: 0 / 0
Вопрос по отчету, нужна помощь
    #32432125
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/actualthread.aspx#511231?bid=4&tid=71167&hl=%ef%f0%ee%ef%e8%f1%fc%fe

глянь на это и переведи на англ - 100%% рабочая версия
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по отчету, нужна помощь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]