关于SQL求和的问题

来源:百度知道 编辑:UC知道 时间:2024/07/03 23:09:02
你好:我建了一个名为DATA1的ACCESS文件,在表DATA中设置了两栏:姓名和借款金额,我想查询出某职工总共借款金额,可是老是计算结果为0,劳驾大家给修改一下代码或者另外给写个,谢谢!
Private Sub Command1_Click()
Dim T As Integer
Adodc2.RecordSource = "select sum(借款金额) as T from DATA WHERE 姓名='" & 李斯 & "'"
Adodc2.Refresh
MsgBox T
End Sub
怎么都行不通,劳驾诸位给调试下,谢谢!
用 lxm19872006 的语句,可是也提示错误:
“语法错误(操作符丢失)在查询表达式‘SUM[CASE ISNULL (借款金额),0]WHEN 0 THEN 0 ELSE 借款金额 END)]’中。请劳驾再帮忙调整下。 谢谢!

我估计这个是因为你数据库里面有空值,所以SAM之后就是空,装换过来之后就变成0了,解决办法
-----------------------------
"select sum[case isnull(借款金额,0) when 0 then 0 else 借款金额 end] as T from DATA WHERE [姓名]='" & 李斯 & "'"
-----------------------
用这条语句看看,首先判断是否是空,如果是就为零,这样相加就不会为空了,以前我遇到这个问题
----------再44看-------------你上面那个写错了,不是SUM[CASE ISNULL (借款金额),0]WHEN 0 THEN 0 ELSE 借款金额 END)] ,isnull函数需要2个值的,我重写了一个,你再试试看吧
---------------------------
"select sum(T) from (select case isnull([借款金额],0) when 0 then 0 else [借款金额] end as T,[姓名] as 姓名 from DATA WHERE [姓名]='李斯' group by [姓名])"
--------------------------
直接复制这个看看

"select sum[借款金额] as T from DATA WHERE [姓名]='" & 李斯 & "'"

先把你写的sql语句在 查询分析器中执行 ,结果正确了再写到vb里去.

你要先判断问题到底出在哪里!

你的T是VB里的变量,和SQL语句里的T不是一回事。
msgbox adodc1.recordset.fields(0).value

你声明了一个T变量,却没有赋值啊
Dim T As Integer
Adodc2.RecordSource = "select sum(借款