Foxtable(狐表)用户栏目专家坐堂 → [原创]求助报表数值小数位问题


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

主题:[原创]求助报表数值小数位问题

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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/24 22:13:00 [只看该作者]

老师您好:之前我忽略了一个问题,“客户往来明细表”中,原来设定的往来查询“开始日期”是月初1日,结束日期是月底(可以跨月查询),这样的话,“上期余额”是正确的。现在我想到一个问题,比如截图1中李四的客户“杭州市”12月20日到12月25日都有业务往来

图片点击可在新窗口打开查看此主题相关图片如下:截图1.png
图片点击可在新窗口打开查看
我在查询时“开始日期”选12月21日,“结束日期”选12月25日

图片点击可在新窗口打开查看此主题相关图片如下:截图2.png
图片点击可在新窗口打开查看
生成报表时“上期余额”无法显示12月20日的往来

图片点击可在新窗口打开查看此主题相关图片如下:截图3.png
图片点击可在新窗口打开查看
报表事件中的代码能帮我改下吗?“上期余额”显示为“客户往来查询”中“开始日期”控件前一天及之前的余额。
Select Case e.Book.TempLate
    Case "客户往来明细账"
        If Forms("客户往来查询").Opened AndAlso Forms("客户往来查询").Controls("startdate").text > ""
            Dim Filter As String = "业务员 = '" & e.DataRow("业务员") & "' and 客户名称 = '" & e.DataRow("客户名称") & "'"
            Dim d As Date = Forms("客户往来查询").Controls("startdate").value
            If  d.Month > 1 Then
                Dim fd As Date = new Date(d.Year,1,1)
                Dim ld As Date = new Date(d.Year,d.Month,1)
                Filter &= " and 日期 >= #" & fd & "# and 日期 < #" & ld & "#"
            End If
            Dim s1 = DataTables("客户往来明细表").Compute("Sum(应收账款)",Filter)
            Dim s2 = DataTables("客户往来明细表").Compute("Sum(已收账款)",Filter)
            vars("上期余额") = s1 - s2
            vars("应收余额") = s1 - s2
        Else
            vars("应收余额") = 0
            vars("上期余额") = 0
        End If
End Select

谢谢老师!





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


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

改成

 

                Dim fd As Date = new Date(d.Year,1,1)
                Filter &= " and 日期 >= #" & fd & "# and 日期 < #" & d & "#"


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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/25 8:37:00 [只看该作者]

老师:成功了!!!谢谢,谢谢!!!

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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/30 14:30:00 [只看该作者]

求助老师:如果我想把生成"客户余额表"的报表,“期末余额”为“0”的客户不再显示的话,代码要如何修改?谢谢老师!!
Select Case e.Book.TempLate
    Case "客户余额表"
        Dim filter As String
        If Forms("客户余额查询").Opened AndAlso Forms("客户余额查询").Controls("enddate").text > ""
            filter = "业务员 = '" & e.DataRow("业务员") & "' and 客户名称 = '" & e.DataRow("客户名称") & "' and 日期 <= #" & Forms("客户余额查询").Controls("enddate").value & "#"
        Else
            filter = "业务员 = '" & e.DataRow("业务员") & "' and 客户名称 = '" & e.DataRow("客户名称") & "'"
        End If
        Dim s1 = DataTables("客户往来明细表").Compute("Sum(应收账款)",Filter)
        Dim s2 = DataTables("客户往来明细表").Compute("Sum(已收账款)",Filter)
        vars("期末余额") = val(s1 - s2)
        vars("结束日期") = Forms("客户余额查询").Controls("enddate").text
        If e.ColumnName = "业务员" Then
            vars("总期末余额") = 0
        Else
            vars("总期末余额") += val(vars("期末余额"))
            vars("期末余额") = format(val(vars("期末余额")), "0.00")
        End If
End Select

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


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

打印过程中是无法处理的。你对表格进行筛选的时候,就要计算出期末余额。

 

你表格那里加入【期末余额】列,然后计算,类似

 

http://www.foxtable.com/webhelp/scr/1572.htm

 

 


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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/30 15:14:00 [只看该作者]

老师您好:筛选时出现可以的,我是想在生成报表时,因为“期末余额”为0了,不想让“它”在报表中再出现。也就是说报表中把“期末余额”为0的客户剔除掉。代码中不能实现吗?谢谢

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


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

筛选的时候或者生成报表,或者输入值的时候,计算【期末余额】的值,参考

 

http://www.foxtable.com/webhelp/scr/1572.htm

 


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


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

不会做上传实例。

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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/30 20:16:00 [只看该作者]

老师您好:窗口“客户余额查询”李四的所有客户明细如图A

图片点击可在新窗口打开查看此主题相关图片如下:图a.png
图片点击可在新窗口打开查看
图A中第5行和第19行客户“温州市”应收账款和已收账款已平,期末余额为0,生成报表如图B

图片点击可在新窗口打开查看此主题相关图片如下:图b.png
图片点击可在新窗口打开查看
我想在生成报表时,期末余额为0的客户“自动剔除”。




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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2017/12/8 20:07:00
  发帖心情 Post By:2018/1/30 20:17:00 [只看该作者]

实例:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目.table

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:客户余额表.xls

谢谢老师!!

 回到顶部
总数 25 上一页 1 2 3 下一页