Foxtable(狐表)用户栏目专家坐堂 → 时段统计问题


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

主题:时段统计问题

美女呀,离线,留言给我吧!
采菊东篱下
  91楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 14:47:00 [只看该作者]

既要组合汇总,又要安年分组,最后总计,帮助里都没有。
[此贴子已经被作者于2021/12/4 15:52:50编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  92楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 14:48:00 [只看该作者]

卡住了图片点击可在新窗口打开查看,不知怎么处理!
[此贴子已经被作者于2021/12/4 15:52:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/4 16:30:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  94楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 17:03:00 [只看该作者]

报错
.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2021.11.18.11
错误所在事件:窗口,安费用所属期查询统计,ItemClick
详细错误信息:
Cannot find column 年.


            With Tables("安费用所属期查询统计_Table1")
                .SubtotalGroups.Clear()
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                Dim bc As New GroupTableBuilder("统计表2",dt)
                Dim dt1 As fxDataSource
                bc.FromServer = True
                bc.Filter = "[查询_月租_所属日期] >= #" & e.Form.Controls("StartDate").Value & "# And [查询_月租_所属日期] <= #" & e.Form.Controls("EndDate").Value & "#"
                bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Year,"年")
                bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Month,"月")
                bc.Totals.AddDef("查询_月租_缴费金额")
                dt1 = bc.BuildDataSource()
                Dim bc1 As New SQLGroupTableBuilder("统计表3","缴费情况")
                Dim dt2 As fxDataSource
                bc1.FromServer = True
                bc1.Filter = "[日期] >= #" & e.Form.Controls("StartDate").Value & "# And [日期] <= #" & e.Form.Controls("EndDate").Value & "#"
                bc1.Groups.AddDef("日期",DateGroupEnum.Year,"年")
                bc1.Groups.AddDef("日期",DateGroupEnum.Month,"月")
                bc1.Totals.AddDef("缴费_临时停放_缴费金额")
                bc1.Totals.AddDef("缴费_其他收入_金额")
                dt2 = bc1.BuildDataSource()
                Dim nms As String() = {"年","月"} '指定连接列
                dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
                dt1.Show("统计表2")
                DataTables("安费用所属期查询统计_Table1").DataCols.Add("总当月收入",Gettype(Double),"IsNull([查询_月租_缴费金额],0) + ISNULL([缴费_临时停放_缴费金额],0) - ISNULL([缴费_其他收入_金额],0)")
                Dim g1 As New Subtotalgroup
                g1.GroupOn = "年" '分组列为客户列
                g1.TotalOn = "查询_月租_缴费金额,缴费_临时停放_缴费金额,缴费_其他收入_金额" '对数量和金额进行统计
                g1.Caption = "本年累计"
                .SubtotalGroups.Add(g1)
                '定义总计分组
                Dim g2 As New Subtotalgroup
                g2.GroupOn = "*"
                g2.TotalOn = "查询_月租_缴费金额,缴费_临时停放_缴费金额,缴费_其他收入_金额"
                .SubtotalGroups.Add(g2)
                .DataTable.DataCols("查询_月租_缴费金额").SetFormat("#,###.##")
                '.SetColVisibleWidth("年|40|月|30|分类|60|住址_巷|60|住址_号|30|住址_房|30|姓名|50|手机号码|80|车牌号码|70|查询_月租_缴费金额|70")
                .SetHeaderRowHeight(0,25,25)
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End With
        End If

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/4 17:14:00 [只看该作者]

能够正常生成dt1.Show("统计表2")吗,打开表结构看看统计表2的表结构

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  96楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 17:37:00 [只看该作者]

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


我注识代码,把它改为分组统计,能看到有数据显示!
[此贴子已经被作者于2021/12/4 18:04:15编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  97楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 20:45:00 [只看该作者]

写成这样可以看到数据,
   With Tables("安费用所属期查询统计_Table1")
        .SubtotalGroups.Clear()
        LockBaseMainForm() '锁定主界面
        .StopRedraw()
        Dim bc As New GroupTableBuilder("统计表2",dt)
        bc.Filter = "[查询_月租_所属日期] >= #" & e.Form.Controls("StartDate").Value & "# And [查询_月租_所属日期] <= #" & e.Form.Controls("EndDate").Value & "#"
        bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Year,"年")
        bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Month,"月")
        bc.Totals.AddDef("查询_月租_缴费金额")
        bc.Subtotal = True '生成汇总模式
        bc.Build()
        .DataSource = bc.BuildDataSource()

写成下面的组合统计就看到不数据了:
    With Tables("安费用所属期查询统计_Table1")
        .SubtotalGroups.Clear()
        LockBaseMainForm() '锁定主界面
        .StopRedraw()
        Dim bc As New GroupTableBuilder("统计表2",dt)
        Dim dt1 As fxDataSource
        bc.FromServer = True
        bc.Filter = "[查询_月租_所属日期] >= #" & e.Form.Controls("StartDate").Value & "# And [查询_月租_所属日期] <= #" & e.Form.Controls("EndDate").Value & "#"
        bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Year,"年")
        bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Month,"月")
        bc.Totals.AddDef("查询_月租_缴费金额")
        dt1 = bc.BuildDataSource()
[此贴子已经被作者于2021/12/4 22:38:56编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  98楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/4 21:29:00 [只看该作者]

已经解决。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  99楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/5 23:01:00 [只看该作者]

这是数据源格式:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211205225928.png
图片点击可在新窗口打开查看
统计后长时间格式的起、止时间不显示数据:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211205230516.png
图片点击可在新窗口打开查看

        If e.Form.Controls("ComboBox1").Value = "" Then'当日期为空取消保存操作
            messagebox.show("请选择分类")
            Return
        End If
        If e.Form.Controls("DateTimePicker1").Value = Nothing OrElse e.Form.Controls("DateTimePicker2").Value = Nothing Then '当日期为空取消保存操作
            messagebox.show("请选择起止时间")
            Return
        End If
        If e.Form.Controls("ComboBox1").Value = e.Form.Controls("ComboBox1").Items(2)
            Dim Filter1 As String
            Filter1 = "分类 = '" & e.Form.Controls("ComboBox1").Value & "'"
            With e.Form.Controls("DateTimePicker1")
                If .Value IsNot Nothing Then
                    If Filter1 > "" Then
                        Filter1 = Filter1 & " And "
                    End If
                    Filter1 = Filter1 & "缴费_临时停放_起计时间 >= #" & Format(.Value.adddays(-1),"G") & "#"
                End If
            End With
            With e.Form.Controls("DateTimePicker2")
                If .Value IsNot Nothing Then
                    If Filter1 > "" Then
                        Filter1 = Filter1 & " And "
                    End If
                    Filter1 = Filter1 & "缴费_临时停放_止计时间 <= #" & Format(.Value.adddays(1),"G") & "#"
                End If
            End With
            With e.Form.Controls("DropBox1")
                If .Value IsNot Nothing Then
                    If Filter1 > "" Then
                        Filter1 = Filter1 & " And "
                    End If
                    Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
                End If
            End With
            If Filter1 > "" Then
                With Tables("安费用所属期查询统计_Table1")
                    Dim g3 As Subtotalgroup
                    .SubtotalGroups.Clear()
                    For i As Integer = DataTables("缴费情况").DataRows.count - 1 To 0 Step -1
                        Dim tr As DataRow = DataTables("缴费情况").DataRows(i)
                        If tr.Isnull("车牌号码") Then
                            tr.delete
                        End If
                    Next
                    Dim bc3 As New SQLGroupTableBuilder("统计表5","缴费情况")
                    bc3.Filter = "[缴费_临时停放_起计时间] >= #" & e.Form.Controls("DateTimePicker1").Value & "# And [缴费_临时停放_止计时间] <= #" & e.Form.Controls("DateTimePicker2").Value & "#"
                    bc3.Groups.AddDef("缴费_临时停放_起计时间",DateGroupEnum.Year,"年")
                    bc3.Groups.AddDef("缴费_临时停放_起计时间",DateGroupEnum.Month,"月")
                    bc3.Groups.AddDef("车牌号码")
                    bc3.Groups.AddDef("缴费_临时停放_起计时间")
                    bc3.Groups.AddDef("缴费_临时停放_止计时间")
                    bc3.Totals.AddDef("缴费_临时停放_计费时间")
                    bc3.Totals.AddDef("缴费_临时停放_缴费金额")
                    .DataSource = bc3.BuildDataSource()
                End With
            End If
            With Tables("安费用所属期查询统计_Table1")
                Dim g3 As Subtotalgroup
                .SubtotalGroups.Clear()
                LockBaseMainForm() '锁定主界面
                .StopRedraw()
                g3 = New Subtotalgroup
                g3.GroupOn = "月"
                g3.TotalOn = "缴费_临时停放_缴费金额"
                g3.Caption = "本月发生额"
                .SubtotalGroups.Add(g3)
                g3 = New Subtotalgroup
                g3.GroupOn = "月"
                g3.Caption = "{0}月"
                .SubtotalGroups.Add(g3)
                .Sort = "年,月"
                .Subtotal(True)
                Dim r As Row
                For i As Integer = 0 To .Rows.Count(True) - 1
                    r = .Rows(i,True)
                    If r.IsGroup AndAlso r("年") Like "*月" '如果是分组行
                        Dim f As String = "年 = " & .Rows(i-2,True)("年") & " And 月 <= " & r("年").trim("月")
                        r("年") = "本年累计"
                        r("缴费_临时停放_缴费金额") = .Compute("Sum(缴费_临时停放_缴费金额)",f)
                    End If
                Next
                DataTables("安费用所属期查询统计_Table1").DataCols("缴费_临时停放_起计时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
                DataTables("安费用所属期查询统计_Table1").DataCols("缴费_临时停放_止计时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
                DataTables("安费用所属期查询统计_Table1").DataCols("缴费_临时停放_缴费金额").SetFormat("#,###.##")
                .SetColVisibleWidth("年|50|月|40|车牌号码|100|缴费_临时停放_起计时间|130|缴费_临时停放_止计时间|130|缴费_临时停放_计费时间|50|缴费_临时停放_缴费金额|70")
                .SetHeaderRowHeight(0,0,25)
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界
            End With
        End If
[此贴子已经被作者于2021/12/5 23:09:47编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/5 23:12:00 [只看该作者]

                    bc3.Groups.AddDef("缴费_临时停放_起计时间",DateGroupEnum.Year,"年")
                    bc3.Groups.AddDef("缴费_临时停放_起计时间",DateGroupEnum.Month,"月")
                    bc3.Groups.AddDef("车牌号码")
                    bc3.Groups.AddDef("缴费_临时停放_起计时间",DateGroupEnum.none)
                    bc3.Groups.AddDef("缴费_临时停放_止计时间",DateGroupEnum.none)

 回到顶部