Decimal: ошибка "изменение масштаба..."
|
|
Среда, 08 Января 2014 г. 15:53
+ в цитатник
Приветствую, Форумчане!
Работаю прилинкованными таблицами с SQL Server.
Большинство полей этих таблиц использует числовой формат как Decimal (19 - прецизион, 6 - масштаб)
Для расчета использую следующий код
Do While Not rs.EOF
rs.Edit
rs!GrssProfit = (rs!LineTotal - rs!GrossBuyPr * rs!Quantity) - rs!LineTotal / Me.SLineTotal * Me.SSummaB
MsgBox (rs!LineTotal - rs!GrossBuyPr * rs!Quantity) - rs!LineTotal / Me.SLineTotal * Me.SSummaB
rs.Update
rs.MoveNext
Loop
где rs!LineTotal, rs!GrossBuyPr, rs!Quantity, rs!LineTotal данные из таблицы в формате Decimal,
а Me.SLineTotal, Me.SSummaB судя по всему в Доубле, т.к. получены посредство Sum([LineTotal]) как сумма всех полей в подчиненке.
Такое приводит к ошибке: "изменение масштаба десятичного значения приводит к усечению данных".
Хотя Мсджбох выдает правильный результат.
rs!GrssProfit = (rs!LineTotal - rs!GrossBuyPr * rs!Quantity) - rs!LineTotal
такой вариант работает, т.е. редактирует рекордсет...
CDec - не помог, втыкал всюда, даже в самые фантастические места
Что можно придумать???
http://www.sql.ru/forum/1069641/decimal-oshibka-izmenenie-masshtaba
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-