以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 后台计算不出值的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179883) |
-- 作者:HANZHIGANG -- 发布时间:2022/9/15 16:07:00 -- 后台计算不出值的问题 Dim cmd4 As New SQLCommand cmd4.C cmd4.CommandText = "UP DATE {运单管理} SET 下游运费余额 = 下游台数*下游单价 + 下游调整金额 - 下游考核金额 - 下游借款金额 W H E R E [调度单号] = \'" & e.DataRow("调度单号") & "\'" cmd4.ExecuteNonQuery() 当下游调整金额、考核金额、借款金额的任意一列为空时,下游运费余额不进行计算,如何解决这个问题 |
-- 作者:有点蓝 -- 发布时间:2022/9/15 16:11:00 -- 参考:http://www.foxtable.com/webhelp/topics/0602.htm cmd4.CommandText = "UP DATE {运单管理} SET 下游运费余额 = isnull(下游台数,0) * isnull(下游单价,0) + ......
|
-- 作者:HANZHIGANG -- 发布时间:2022/9/15 16:34:00 -- .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件: 详细错误信息: 用于函数参数的个数不对 在查询表达式 \'isnull([下游金额],0) + isnull([下游调整],0) - isnull([下游考核],0) + isnull([预借合计],0)\' 中。 语法错误 (操作符丢失) 在查询表达式 \'isnull([下游运费金额],0) + isnull([下游调整金额],0) - isnull([下游考核金额],0) - isnull([下游借款金额],0) WHERE [调度单号] = \'DD220806002\'\' 中。 现出以上错误提示 代码如下: Dim cmd4 As New SQLCommand cmd4.C cmd4.CommandText = "UP DATE {运单管理} SET 下游运费余额 = isnull([下游运费金额],0) + isnull([下游调整金额],0) - isnull([下游考核金额],0) - isnull([下游借款金额],0) W H E R E [调度单号] = \'" & e.DataRow("调度单号") & "\'" cmd4.ExecuteNonQuery() Dim cmd6 As New SQLCommand cmd6.C cmd6.CommandText = "UP DATE {调度管理} SET [下游余额] = isnull([下游金额],0) + isnull([下游调整],0) - isnull([下游考核],0) + isnull([预借合计],0) W H E R E [调度单号] = \'" & e.DataRow("调度单号") & "\'" cmd6.ExecuteNonQuery() |
-- 作者:有点蓝 -- 发布时间:2022/9/15 16:51:00 -- 应该是有sql里面出现了全角的括号和逗号,改为半角的英文括号和逗号 |
-- 作者:HANZHIGANG -- 发布时间:2022/9/15 16:57:00 -- 查了一遍,还是不行,是不是和我用的Access做的数据源有关? |
-- 作者:有点蓝 -- 发布时间:2022/9/15 17:16:00 -- access改为使用iif cmd4.CommandText = "UP DATE {运单管理} SET 下游运费余额 = iif([下游运费金额] is null,0,[下游运费金额]) + |