|
|
|
| Подскажите, для преобразования числа в текст, использую макрос propis. Как сделать что бы поле в котором выводится результат преобразования т.е сумма прописью можно было редактироать. И еще основная ед измерения это шт. при переводе получается один шт, два шт, а надо одна шт, две шт., если исправить в макросе, тогда получается не правильно с миллионами - одна миллион шт, две миллион шт. Заранее спасибо. | |
|
| |
|
|
|
| Я например не представляю себе как написать макрос что бы он переводил число в текст
Вероятнее всего все таки это что то написанное на VBA а вот это propis это название того что написано
для того что бы можно было редактировать надо вызов функции (так это правильно видимо называется) осуществлять на событии какого то элемента а потом присваивать значение свободному полю в вашем случае это поле вычисляемое поэтому и не редактируется
ну и на счет исправления шт - пока ни чем помочь не могу по одной простой причине
для того что бы что-то править это что-то надо видеть | |
|
| |
|
|
|
| Давно делал такую штуку на запросах. Если удастся выдернуть из базы то выдам пример. А так подскажу - без функции IIF не получится. Разложи число на составляющие и вперед. Один, Два... потом десять, одиннадцать... потом двыдцать, тридцать, далее сто, двести... в итоге получишь двадцать&" "&один, тридцать&" "&четыре... четыреста&" "&пятьдесят&" "&шесть.
На счет штука или штуки тут проще. Если последняя справа 1 - то штука, если 2, 3, 4 - то штуки, если 5, 6, 7, 8, 9, то штук. Надеюсь суть понял? | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_search&Itemid=5&searchword=%EF%F0%EE%EF%E8%F1%FC%FE&submit=%CF%EE%E8%F1%EA&searchphrase=any&ordering=newest | |
|
| |
|
|
|
| Может это поможет: http://www.leadersoft.ru/russian/download/freeware2.html | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_content&task=view&id=392
Там вот есть ошибка в строке
nsu = (Len(ssu) + 2) 3
- я не понял как её исправить | |
|
| |
|
|
|
| Выкладываю пример | |
|
| |
|
|
|
| Были проблемы с интернетом, поэтому вчера недооформлил свой пост. http://slil.ru/28212410 | |
|
| |
|
|
|
| пока пытаюсь разобраться с функцией...
для того что бы можно было править поле количество прописью нужно сделать следующее
в свойствах - данные убрать =propis([количество]) (т.е. сделать поле не вычисляемым, а свободным)
на событие после обновления поля количество повешать вот этот код
If Me!количество = "" Or IsNull(Me!количество) Then
Me!количествопрописью = ""
Else
Me!количествопрописью = propis(Me!количество)
End If
этот же код повешать на событие текущая запись вашей формы
а с функцией буду разбираться | |
|
| |
|
|
|
| попробывал набоать код,поле не обновляется и выдает ошибку wrong number of arguments or invalid property assigment. Код вводил такой.
Private Sub Количество_AfterUpdate()
Me![Количество Прописью] = propisd(Me![Количество], "")
End Sub
Не пойму в чем ошибка? | |
|
| |
|
|
|
| Потому что Ваша функция propisd просит всего один аргумент, а вы ему два подаете
вот так надо
Me![Количество Прописью] = propisd(Me![Количество]) | |
|
| |
|
|
|
| а еще в вашем примере поле [КоличествоПрописью] а не [Количество Прописью]
т.е. возможно что и так
Me![КоличествоПрописью] = propisd(Me![Количество]) | |
|
| |
|
31 Кб. |
|
| вот - правка работает
до функции еще не добрался | |
|
| |