здравствуйте, ув. программисты
помогите пож. решить такую задачу.
в моей БД (см. вложение) в форме задумывалась такая задачка: при подстановке числа 25 в поле "масса навески" поле "МинерПрим:" умножается на 4 и результат отображается в поле "МинерПрим1:"
при подстановке числа 50 на 2 и числа 100 на 1. Всё работает, но при подстановке десятичной дроби в поле "МинерПрим:" счёт происходит по непонятной схеме, короче говоря, на десятичную дробь умножение происходит некорректно. Почему ума не приложу.
спасибо всем, кто откликнулся!
с уважением, Сергей
проблема с умножением десятичных дробей в MS Access
Модератор: Naeel Maqsudov
- Вложения
-
- ПортНовая 2003.zip
- (61.26 КБ) 14 скачиваний
Вот ваш код, который расчитывает коэф. умножения:
В этом коде без труда можно догодаться, что на самом деле I = 100/МасНавес.Value, вот так и запишите, естественно с проверкой на 0. В старом варианте коэф. умножения был всегда равен 0, если МасНавес.Value был не равен 25,50 или 100.
Код: Выделить всё
Public Function toProc(МасНавес As Object, МинерПрим As Object, Optional МинерПрим1 As Object) As Integer
Dim i%
If Not IsNumeric(МасНавес.Value) Then Exit Function
If Not IsNumeric(МинерПрим.Value) Then Exit Function
Select Case МасНавес.Value
Case 100
i = 1
Case 50
i = 2
Case 25
i = 4
Case Else
i = 0 '
End Select
toProc = МинерПрим.Value * i
On Error Resume Next
МинерПрим1 = toProc
End Function
It's a long way to the top if you wanna rock'n'roll
Поскольку выкладывать RAR нельзя, он внутри zip-а.
Исправлено для работы с действительными
Исправлено для работы с действительными
It's a long way to the top if you wanna rock'n'roll