问一条数据库查询语句
For mon = 1 To 12
SQL = "select sum(PRICE) from clothingsell" ' where year(getdate)=" &
Year(Date) & " and month(getdate)=" & mon
Debug.Print SQL
Set ShareRec = Data.OpenRecordset(SQL, dbOpenDynaset, dbSeeChanges,
dbOptimistic)
If Not ShareRec.EOF Then Debug.Print ShareRec.Fields(0).Value
Next
1.如果PRICE字段是文本类型是不是不能用SUM进行累加?
2.year(getdate)=" & Year(Date) & " and month(getdate)=" & mon
能不能这样写?
问题点数:0、回复次数:11Top
1 楼kinlin(小林)回复于 2003-12-03 00:33:14 得分 0
都可以Top
2 楼m_pMain(刀剑笑)回复于 2003-12-03 00:53:59 得分 0
好象不行吧!!类型不匹配啊Top
3 楼catheart(莫一秀)回复于 2003-12-03 02:56:25 得分 0
正确性会有影响Top
4 楼eports(飘零风)回复于 2003-12-03 03:01:35 得分 0
1、是不能累加,可以用convert进行转换:sum(convert(money,PRICE))
2、你的写法应该可以。Top
5 楼luzufu(rich)回复于 2003-12-03 09:38:23 得分 0
我建议最好不要用循环,比较慢,你可以直接用sql语句。只要group by mon 就可以了Top
6 楼lexrenzjun(lexrenzjun)回复于 2003-12-03 09:48:00 得分 0
其实你可以通过分组合计,一个语句就可以统计完了
Top
7 楼lxcc()回复于 2003-12-03 09:49:35 得分 0
累加是可以的,我也建议用GROUP BY来统计Top
8 楼m_pMain(刀剑笑)回复于 2003-12-03 23:42:16 得分 0
那如果按分组语句是怎么写?
表名:CLOTHING
字段名 类型
price 数字
getdate 日期
想分别统计出1到12月的营业额怎么办?Top
9 楼houfuzhu(**追^_^梦**)回复于 2003-12-04 08:57:16 得分 0
1.字段price文本型,用sum函数时好像会类型不匹配,不
知你调试时行不行,如果不行的话,不防按以下的代码试
一下:
sum(val(price))
2.语法上是没错,该应行
如果price 是数字型的话,那你上面的代码该应可以吧
Top
10 楼taosihai1only(无招胜有招)回复于 2003-12-04 16:50:41 得分 0
1、是不能累加,可以用convert进行转换:sum(convert(money,PRICE))
2、你的写法应该可以。Top
11 楼jpinglee(想去海边)回复于 2003-12-04 20:27:20 得分 0
1.如果PRICE字段是文本类型是不是不能用SUM进行累加?
-----------------------------
也可以sum(val(price))
2.year(getdate)=" & Year(Date) & " and month(getdate)=" & mon
能不能这样写?
-----------------------------
在access和SQL SERVER 都能使用这些函数Top




