Foxtable(狐表)用户栏目专家坐堂 → [求助]请老师改下之前帮我做的例子


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

主题:[求助]请老师改下之前帮我做的例子

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]请老师改下之前帮我做的例子  发帖心情 Post By:2018/2/4 21:26:00 [只看该作者]

计算账龄的例子,发现一个BUG,如果某家公司只有发货记录,没有收款记录,这家公司没有显示在查询表上,按理来说是应该显示的。
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:账龄计算测试1.foxdb


[此贴子已经被作者于2018/2/4 21:28:38编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 22:49:00 [只看该作者]

where 发货金额-收款金额 > 0

 

改成

 

where 发货金额-iif(收款金额 is null,0,收款金额) > 0


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/2/5 8:12:00 [只看该作者]

改后还有个小BUG
没有收款记录的“C公司”,发货金额是有数值1000,但应收款处应该也是1000,现在的例子中这个应收款为空,另外,能不能实现所有为空的地方显示 0 呢?
请老师协助下,谢谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/5 8:46:00 [只看该作者]

Dim rq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Tables(e.Form.Name & "_Table1").Fill("Select 公司,发货金额,收款金额,发货金额-iif(收款金额 is null,0,收款金额) As 应收款,[1-30天],[31-60天],[61-90天],[91-180天],[181-360天],[360天以上] from (Select 公司,SUM(发货金额) As 发货金额,(Select  sum(收款金额) from {收款} b where a.公司 = b.公司 ) As 收款金额,(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 >= #" & rq.Value.AddDays(-31) & "# And 发货日期 < #" & rq.Value.AddDays(-1) & "#  ) As [1-30天],(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 >= #" & rq.Value.AddDays(-61) & "# And 发货日期 < #" & rq.Value.AddDays(-31) & "#  ) As [31-60天],(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 >= #" & rq.Value.AddDays(-91) & "# And 发货日期 < #" & rq.Value.AddDays(-61) & "#  ) As [61-90天],(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 >= #" & rq.Value.AddDays(-181) & "# And 发货日期 < #" & rq.Value.AddDays(-91) & "#  ) As [91-180天],(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 >= #" & rq.Value.AddDays(-361) & "# And 发货日期 < #" & rq.Value.AddDays(-181) & "#  ) As [181-360天],(Select  sum(发货金额) from {发货} d where d.公司 = a.公司 And 发货日期 < #" & rq.Value.AddDays(-361) & "#  ) As [360天以上] from {发货} As a group by 公司) As c where 发货金额-iif(收款金额 is null,0,收款金额) > 0",True)

 回到顶部