Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по отчету, нужна помощь / 2 сообщений из 2, страница 1 из 1
05.03.2004, 09:21
    #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
05.03.2004, 09:43
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по отчету, нужна помощь / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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