嗨,我的Access用户伙伴。我正在使用Access进行对账,通过链接两个Excel工作表。这个数字是两个小数。Linked Table view
但是,当我尝试对两个小数都是两个小数的数字进行减法时,结果如下:

如果有人知道这是如何发生的,以及我需要采取什么步骤来解决它,我将不胜感激。
谢谢田
发布于 2017-06-20 08:27:47
对于链接的Excel工作表,列类型可能是Double,即64位浮点数。您遇到的这个问题可能是由于浮点数的固有限制造成的,而不是Excel或Access所独有的。
这个堆栈溢出问题本质上提出了相同的问题:Why does this subtraction not equal zero?
Excel也不例外,只是默认格式可能无法显示必要的精度来揭示行为。选择科学的格式或增加显示的小数位数将显示相同的行为。
请考虑以下几点:
CCur()函数将值转换为货币。货币是一个固定的十进制值,但要知道它在小数的右边只有4位数字。(在执行数学运算之前,使用CDec()函数更新以反映从Gustav)发布于 2017-06-20 14:35:56
不要直接使用链接的Excel数据。
创建简单的select查询,您可以在其中转换和裁剪数据。像这样:
Select SomeField, Description, CCur([TotalAmount]) As Total
From YourLinkedExcelTable在处理金额时,请始终使用货币作为数据类型。
现在,使用查询计算Diff。
https://stackoverflow.com/questions/44639563
复制相似问题