在报告中,我有一个字段的以下代码:
=Sum([PartQty]*[ModuleQty])
示例结果是2.1
和2.6
。我需要的是将这些值四舍五入到3
的值。如何更改我的域代码以始终对我当前表达式的结果进行舍入?
你能做到的
=Int(Sum([PartQty]*[ModuleQty]))+1
我认为。这将获得总和(2)的Int部分,然后加1.你可能需要更聪明一点,因为这可能会给你3即使总和正好是2,这可能不是你想要的。
没有测试它,但沿着这些方面的东西可能会工作(访问语法不是那么好,但应该给你正确的想法):
Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
Sum([PartQty]*[ModuleQty]),
Int(Sum([PartQty]*[ModuleQty]))+1)
这是我很久以前学过的旧的Access技巧,它利用Access处理小数,负数的方式。试试这个:
-Int(-[DecimalValue])
这很奇怪,但它总是将你的数字四舍五入到最接近的整数。
测试:圆形(你的数字+ 0.5,0)