即使值相同,Access查询关系也不会返回任何结果

我有两个表,我从Excel工作表导入,我创build了一个关系,应显示连接字段相等的所有行的查询。
我面临的问题是查询不返回所有值应该返回,调查后,我发现如下:
问题
当我点击单元格就好像我想改变这个值,其中一个保留小数点,另一个丢失小数点。
这是唯一的区别,复制和粘贴第一个值可以解决问题,但受影响的logging数量是巨大的,不可能一个一个地改变它们。
我不知道为什么会发生这种情况,他们在Excel和Access中具有相同的格式和属性。
我想我会联系你,看看你是否知道这个问题是什么?

这是Microsoft Access中导入的数据有时会出现的一个常见问题。

既然你声明重新键入或重新粘贴值可以修复问题,这表明这个值并不是你所想象的。

Microsoft Access可能正在显示

16225或16225.00

但它使用的是显示格式。

Microsoft Access实际存储在表字段中的值实际上是类似的

16225.00000000001

显示的时候正在四舍五入到你所看到的。 而且,在查询join时,显然这两个数字是不完全一样的,因此你遇到的问题。

问题通常来自您导入的源数据。 Excel正在存储该值的格式,Microsoft Access必须在导入过程中“转换”。 根据如何将值存储在Excel中,Access将不正确地将该数字转换为具有小数小数的数字。

解决这个问题的一种方法是使用这些值在字段上运行更新查询,并使用Round()更新它们。

例如

UPDATE [MyTableName] SET [MyTableName].[MyFieldName] = Round([MyFieldName],0);