当前位置:主页>delphi技巧/代码下载> 文章内容

对查询出的数据库记录的某一列的值进行累加怎样作?急啊!

发布时间:2010-01-21 | QQ免费站
1楼: 我使用的数据库为access,其中有一个字段为money,定义为字符串类型,现在我用adoquery作了一个查询,把符合日期条件的记录查出来,但是要对查询出的结果记录中money这个字段的值进行累加,并用反映到报表上,我使用的是QR报表. 1.我在select 语句中使用了SUM函数,但是money这个字段为字符型,SUM必须对float等才能累加; 2.在QR报表中,有一个QRExpr组件,是一个计算组件,里面有SUM函数,但是SUM(j表名.money)也计算不出结果,我想根本原因还是money这个字段是字符串类型,不能累加所致吧; 请问各位高手还有什么方法能累加出这个money字段的值(叫汇总),并体现在报表上?我很急,请各位高手帮帮忙! 字串2

2楼: with adoquery do begin close; sql.clear; sql.add(‘select money into #temp from table‘); sql.add(‘where date=??‘); open; end; / /对temp 操作 with adotable do begin ...............//对adotable的一些设置 table:=‘temp‘; active:=true; while not eof //对money 列进行Sum,这个没有问题吧! all will be ok!

字串7

3楼: 直接写 select sum(money) from table。 在Access中,虽然没有显式数据类型转换的函数,但是对于Money的数据都是数字的情况下,处理聚合函数时,Access会自动把字段转换为对应的数据类型,如整型、实型。 字串7

4楼: select sum(cast(money as float)) from table ps:以后建字段最好不要建money这种名字的,sql server里面money是关键字 这样不妥.....有的时候会报错 字串5

5楼: 同意楼上

字串3

6楼: 把MONEY的类型转了吧? “在Access中,虽然没有显式数据类型转换的函数” 没有转换函数就不好办了! 字串8

7楼: 多人接受答案了。 字串4