Office中国论坛/Access中国论坛

标题: accesss query数据类型问题 [打印本页]

作者: access_beginner    时间: 2012-8-27 15:01
标题: accesss query数据类型问题
请教各位大侠一个问题,关于数据类型的。我的query里面有一个条件如下:
a- (b- c))*100) < d
其中a,b,c都是表里面的数据,是double类型的
d是未知数据,用户运行的时候输入进去就可以了,如下,应该也是doule类型的。。。
PARAMETERS d IEEEDouble;

问题:
比较的时候有几条数据,明明两边结果是相等的,都是11,但是被搜出来了。
我在两边加上Val的话结果也是正确的Val(a- (b- c))*100) )< Val(d)

但是加上Val会使query运行速度变慢很多。
请教各位大侠,这个应该怎么解决?这几个数据的数据类型照例说应该都统一了啊。
作者: 叶海峰    时间: 2012-8-27 15:32
试试 (a- (b- c))*100))*1 < d*1
作者: access_beginner    时间: 2012-8-27 16:19
叶海峰 发表于 2012-8-27 15:32
试试 (a- (b- c))*100))*1 < d*1

试了一下结果还是一样的啊。。
作者: 叶海峰    时间: 2012-8-27 16:29
看看实例
作者: todaynew    时间: 2012-8-27 16:36
把数据类型改为小数
作者: 老鬼    时间: 2012-8-27 16:36
试试cdbl(d)
作者: t小宝    时间: 2012-8-27 16:55
如果小数点后位数不超过4位,可用 货币 数据类型
作者: access_beginner    时间: 2012-8-27 17:10
todaynew 发表于 2012-8-27 16:36
把数据类型改为小数

改为小数的话应该怎么写呢。。。
PARAMETERS a IEEEDouble;

貌似没有类似的小数的写法啊?大侠请帮忙
作者: roych    时间: 2012-8-28 18:36
本帖最后由 roych 于 2012-8-28 18:38 编辑

PARAMETERS a Decimal
不过,一般我们很少用参数查询,而是通过窗体控件进行条件参数的传递。详细可在本论坛搜索“刘小军常用窗体查询”。
作者: access_beginner    时间: 2012-12-11 10:01
roych 发表于 2012-8-28 18:36
PARAMETERS a Decimal
不过,一般我们很少用参数查询,而是通过窗体控件进行条件参数的传递。详细可在本论 ...

非常有用。感谢版主!




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