1

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

这是我认为可行的方法:

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

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

表达式前的字段 = 1.4

表达式后面的字段 = 1

因此取整数并提取它。当然,整数可以是 3、30 或 300。长度将始终不同,因此您不能使用长度为 1 的 trim left。

建议?

4

1 回答 1

2

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

Int([NumField])

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

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

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

于 2013-04-02T16:07:09.677 回答