Foxtable(狐表)用户栏目专家坐堂 → [讨论]compute问题


  共有3926人关注过本帖树形打印复制链接

主题:[讨论]compute问题

帅哥哟,离线,有人找我吗?
ybil
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2014/4/22 6:26:00 [显示全部帖子]

武功不容易自創,語法更不能亂來!

Dim flt1 As string ="[产品] = '" & dr("产品") & "'"
dr("数量") = DataTables("订单").Compute("Sum(数量1)",flt1) +  DataTables("订单").Compute("Sum(数量1)",flt1)

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2014/4/22 11:50:00 [显示全部帖子]

以下是引用rpg2813在2014-4-22 11:41:00的发言:
早上起来看没人回复我是就按版主的方法先试了
关键是为什么用我原来的错误代码也可以呢?(大部分可以,少部分得出空值)

要的是100%準確!99.9999999999999999999%準確也沒用!


 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2014/4/22 13:27:00 [显示全部帖子]

以下是引用zyqzyy在2014-4-22 11:55:00的发言:
值得找出空值原因,这样的代码还“简洁”呢!!测试去!!!!!!
經測試:
SQL的方法:
Select Sum(iif(數量1 is Null,0,數量1)) + Sum(iif(數量2 is Null,0,數量2)) As  合計 From{A}   '運算正確
Select Sum(數量1) + Sum(iif(數量2 is Null,0,數量2)) As  合計 From{A}  '支持格式,在[數量1]或[數量2]列全為空時,結果為空

FOX的Compute的局限:
Output.Show(Tables("A").Compute("Sum(數量1) + Sum(數量2)")  '支持格式,在[數量1]或[數量2]列全為空時,結果為空
Output.Show(Tables("A").Compute("Sum(數量1) + Sum(iif(數量2 is Null,0,數量2))")  '不支持


 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2014/4/22 15:03:00 [显示全部帖子]

測試完畢:
dr("数量") = DataTables("订单").Compute("Sum(数量1)+sum(数量2)","[产品] = '" & dr("产品") & "'")  '在[數量1]或[數量2]列全為空時,結果為空,不支持表達式!

dr("数量") = DataTables("订单").SQLCompute("Sum(iif(數量1 is Null,0,數量1)) + Sum(iif(數量2 is Null,0,數量2))","[产品] = '" & dr("产品") & "'")  '支持表達式,運算正確!

 回到顶部