Office中国论坛/Access中国论坛

标题: 文本类型的数值,创建查询时如何在查询条件中比较大小 [打印本页]

作者: GAOZHONG    时间: 2011-2-14 13:02
标题: 文本类型的数值,创建查询时如何在查询条件中比较大小
ACCESS表中文本类型字段中存储了一些数值,如:6、9、11、15、7、4、8、12、14,创建查询时,如何以该字段为查询条件,查询出大于某个值(如8)的数值,应该是:9、11、15、12、14。之所以不用数值型,是应为这些值可能会以0开头(比如001、002等),这样的话,ACCESS默认会将前面的0去掉,变成1、2等
作者: roych    时间: 2011-2-14 13:06
用nz([字段])转换为数字再比较
作者: todaynew    时间: 2011-2-14 14:13
roych 发表于 2011-2-14 13:06
用nz([字段])转换为数字再比较

应该是Val([字段])或者Clng([字段])或者Cint([字段])吧?Nz好像没有这个功能。
作者: roych    时间: 2011-2-14 15:12
本帖最后由 roych 于 2011-2-14 15:13 编辑
todaynew 发表于 2011-2-14 14:13
应该是Val([字段])或者Clng([字段])或者Cint([字段])吧?Nz好像没有这个功能。


可以的~~原则上,文本是无法求和的,但是经过Nz转换后为数值,因此可以求和,从侧面证明了这个函数是可以把文本转换为数。
[attach]44826[/attach]
作者: todaynew    时间: 2011-2-14 15:44
本帖最后由 todaynew 于 2011-2-14 15:46 编辑
roych 发表于 2011-2-14 15:12
可以的~~原则上,文本是无法求和的,但是经过Nz转换后为数值,因此可以求和,从侧面证明了这个函数是可 ...


理解有误吧?呵呵。用你的例子,你再看看下面三个查询就明白了:

SELECT Sum([No]) AS 和
FROM 测试表;

SELECT Nz([No]) AS 转换值
FROM 测试表

SELECT Val([No]) AS 转换值
FROM 测试表


作者: roych    时间: 2011-2-14 16:07
O(∩_∩)O~偶错了~~




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3