请教一个统计查询的语法问题!
For i = 1 To 12
.Open "select sum(fy) as Sfy from tbluseinfo where year(intime) = " & NYear & " and month(intime) =" & i
McrNdsy.Row = i
If .EOF Then
McrNdsy.Data = 0
Else
McrNdsy.Data = .Fields(0) '???????
End If
.Close
Next
运行时程序提示无效的NULL值,可是数据库里面明明是有数据的,不知道是不是语法错误,请知道的朋友帮我看一下!
问题点数:0、回复次数:8Top
1 楼smile8088()回复于 2004-08-01 06:18:59 得分 0
请高手指点统计查询语句SUM的用法,先谢了!
我要睡觉了,一个通宵下来,满眼的星星!Top
2 楼Leftie(左手,为人民币服务)回复于 2004-08-01 08:29:12 得分 0
For i = 1 To 12
if .state=adsatteopen then .close
.Open "select sum(fy) as Sfy from tbluseinfo where year(intime) = " & NYear & " and month(intime) =" & i
McrNdsy.Row = i
If .EOF Then
McrNdsy.Data = 0
Else
McrNdsy.Data = .Fields(0) & ""
End If
.Close
Next
Top
3 楼frankwong(黄梓钿)回复于 2004-08-01 09:39:13 得分 0
'测试这样有全部符合的记录吗
select year(intime),month(intime),sum(fy) as Sfy from tbluseinfo group by year(intime),month(intime)Top
4 楼1410104(兔子)回复于 2004-08-01 09:44:33 得分 0
.open strselect("select sum(fy) as Sfy from tbluseinfo where year(intime) = '" & NYear & "' and month(intime) ='" & i & "'"),conn
或是你定义strselect="select sum(fy) as Sfy from tbluseinfo where year(intime) = '" & NYear & "' and month(intime) =" & i & "'"
conn.excuit strselect, i(循环用I此处可能要再定义一个integer)或直接用3,1
sql语句语法应该没太大问题吧Top
5 楼jackyhyoung(愛因思念)回复于 2004-08-01 09:50:53 得分 0
For i = 1 To 12
.Open "select sum(fy) as Sfy from tbluseinfo where year(intime) = " & NYear & " and month(intime) =" & i
McrNdsy.Row = i
If .EOF Then
McrNdsy.Data = 0
Else
McrNdsy.Data =iif( .Fields(0)<>"",.fields(0),"") '???????
End If
.Close
Next
是不是这个原因!Top
6 楼lndlwwh830(笑天星)回复于 2004-08-01 14:31:47 得分 0
我也遇到过这样的问题!!Top
7 楼cqq_chen(我是谁)回复于 2004-08-01 16:08:02 得分 0
用SUM、COUNT等做统计时,不用判断记录是否存在,因为一定会有记录存在的。
For i = 1 To 12
.Open "select sum(fy) as Sfy from tbluseinfo where year(intime) = " & NYear & " and month(intime) =" & i
McrNdsy.Row = i
McrNdsy.Data = iif(isnull(.Fields(0)),0,.Fields(0))
.Close
Next
数据库里面有值存在的话,则说明你的SQL语句本身有问题,因为没有看到实际的数据库,成以没有办法帮你了。Top
8 楼smile8088()回复于 2004-08-01 18:14:27 得分 0
刚刚起床,看到这么多回复,好开心,谢谢各位热心的朋友
To: Leftie(左手,为人民币服务) 在字段后面加&""这个方法不错!!!,嘿嘿,调试成功了
To:cqq_chen(我是谁) ,相比较左手的方法,您的办法再加人性化一些,学习Ing!
To:1410104(兔子) ,不明白您为什么在year(intime) = '" & NYear & "' and month(intime) ='" & i & "'"里面使用单引号来引住NYear,I两个数值型变量Top




