从Access表达式中的十进制中提取整数

时间:2013-04-02 15:56:59

标签: expression ms-access-2010

我无法从Access中的表达式构建器中的数字字段中提取整数。

以下是我认为可行的方法:

Left([NumField],InStr(1,[NumField],".")-1)

这不起作用。运行我的查询后,我弹出一个消息框,说明“无效的呼叫程序”

表达式= 1.4之前的字段

表达式= 1后的字段

从而取整数并提取出来。对于cource,整数可以是3,30或300.长度将始终不同,因此您不能使用左边的修剪长度为1.

建议?

1 个答案:

答案 0 :(得分:2)

您似乎将数值视为字符串,以便提取整数部分。建议您考虑使用Int()函数。

Int([NumField])

还有一个相关的功能,Fix()。从Access帮助主题:

Int和Fix之间的区别在于,如果number为负数,则Int返回小于或等于number的第一个负整数,而Fix返回大于或等于number的第一个负整数。例如,Int将-8.4转换为-9,并将Fix转换为-8.4为-8。

我假设您想要查询返回的数字。如果您确实希望将该数字作为字符串,则可以使用CStr(Int([NumField]))Format(Int([NumField]), "#")