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


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

主题:时段统计问题

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/8 16:49:00 [显示全部帖子]

不要固定值,是想灵活点,万一选项名称有变,起不是报错。

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/8 16:53:00 [显示全部帖子]

解决了。

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/8 17:28:00 [显示全部帖子]

改为固定引用,可以了。
[此贴子已经被作者于2021/12/8 19:22:15编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/9 23:03:00 [显示全部帖子]

 
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20211209225210.png
图片点击可在新窗口打开查看
总是提示这个错误,没有添加多两个日期控件选项前,全部都能正常显示的,添加多两个日期控件选项后就报错了,我测试过黑色部份代码没问题,能正不常显示数据,蓝色部份代码不知那出了问题。
If e.Form.Controls("StartDate").Value = Nothing OrElse e.Form.Controls("EndDate").Value = Nothing Then '当日期为空取消保存操作
            messagebox.show("请选择起止日期")
            Return
        End If
        With Tables("安费用所属期查询统计_Table1")
            .SubtotalGroups.Clear()
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
            Dim cmd As New SQLCommand
            cmd.CommandText = "Select * Fr om {缴费情况} Where [_Identify] Is null"
            Dim dt0 As DataTable = cmd.ExecuteReader()
            If dt0.DataCols.Contains("查询_月租_所属日期") = False Then
                dt0.DataCols.add("查询_月租_所属日期", Gettype(Date))
            End If
            If dt0.DataCols.Contains("查询_月租_缴费金额") = False Then
                dt0.DataCols.add("查询_月租_缴费金额", Gettype(Double))
            End If
            Dim Filter1 As String
            With e.Form.Controls("ComboBox1")
                If .Value Is Nothing Then
                    Filter1 = "[分类] = '" & DataTables("分类").DataRows(0)("分类") & "'"
                End If
            End With
            If e.Form.Controls("StartDate").Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "#"
            ElseIf e.Form.Controls("DateTimePicker1").Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("DateTimePicker1").Value & "#"
            End If
            If e.Form.Controls("EndDate").Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "[缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "#"
            ElseIf e.Form.Controls("DateTimePicker2").Value IsNot Nothing Then
                If Filter1 > "" Then
                    Filter1 = Filter1 & " And "
                End If
                Filter1 = Filter1 & "[缴费_月租_止计日期] >= #" & e.Form.Controls("DateTimePicker2").Value & "#"
            End If
            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
                Dim drs0 As List(Of DataRow) = DataTables("缴费情况").SQLSelect(Filter1)
                Dim a As Integer
                For a = 0 To drs0.count - 1
                    Dim b As Integer
                    For b = 0 To drs0(a)("缴费_月租_缴费月数") - 1
                        Dim da0 As DataRow = dt0.AddNew()
                        da0("分类") = DataTables("分类").DataRows(0)("分类")
                        da0("住址_巷") = drs0(a)("住址_巷")
                        da0("住址_号") = drs0(a)("住址_号")
                        da0("住址_房") = drs0(a)("住址_房")
                        da0("姓名") = drs0(a)("姓名")
                        da0("手机号码") = drs0(a)("手机号码")
                        da0("车牌号码") = drs0(a)("车牌号码")
                        da0("缴费_月租_起计日期") = "#" & drs0(a)("缴费_月租_起计日期") & "#"
                        da0("缴费_月租_止计日期") = "#" & drs0(a)("缴费_月租_止计日期") & "#"
                        da0("查询_月租_所属日期") = drs0(a)("缴费_月租_起计日期").AddMonths(b)
                        da0("缴费_月租_月租单价") = drs0(a)("缴费_月租_月租单价")
                        da0("查询_月租_缴费金额") = drs0(a)("缴费_月租_月租单价")
                    Next
                Next
                Dim bc As New GroupTableBuilder("统计表2",dt0)
                Dim dt1 As fxDataSource
                bc.Filter = Filter1
                bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Year,"年")
                bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Month,"月")
                bc.Totals.AddDef("查询_月租_缴费金额")
                dt1 = bc.BuildDataSource()
            End If
[此贴子已经被作者于2021/12/12 12:26:23编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/9 23:03:00 [显示全部帖子]

            Dim Filter2 As String
            With e.Form.Controls("ComboBox1")
                If .Value Is Nothing Then
                    Filter2 = "[分类] = '" & DataTables("分类").DataRows(1)("分类") & "'"
                End If
            End With
            If e.Form.Controls("StartDate").Value IsNot Nothing Then
                If Filter2 > "" Then
                    Filter2 = Filter2 & " And "
                End If
                Filter2 = Filter2 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "#"
            ElseIf e.Form.Controls("DateTimePicker1").Value IsNot Nothing Then
                If Filter2 > "" Then
                    Filter2 = Filter2 & " And "
                End If
                Filter2 = Filter2 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("DateTimePicker1").Value & "#"
            End If
            If e.Form.Controls("EndDate").Value IsNot Nothing Then
                If Filter2 > "" Then
                    Filter2 = Filter2 & " And "
                End If
                Filter2 = Filter2 & "[缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "#"
            ElseIf e.Form.Controls("DateTimePicker2").Value IsNot Nothing Then
                If Filter2 > "" Then
                    Filter2 = Filter2 & " And "
                End If
                Filter2 = Filter2 & "[缴费_月租_止计日期] >= #" & e.Form.Controls("DateTimePicker2").Value & "#"
            End If
            With e.Form.Controls("DropBox1")
                If .Value IsNot Nothing Then
                    If Filter2 > "" Then
                        Filter2 = Filter2 & " And "
                    End If
                    Filter2 = Filter2 & "车牌号码 = '" & .Value & "'"
                End If
            End With
            If Filter2 > "" Then
                Dim bc1 As New SQLGroupTableBuilder("统计表3","缴费情况")
                Dim dt2 As fxDataSource
                bc1.Filter = Filter2
                bc1.Groups.AddDef("日期",DateGroupEnum.Year,"年")
                bc1.Groups.AddDef("日期",DateGroupEnum.Month,"月")
                bc1.Totals.AddDef("缴费_临时停放_缴费金额")
                dt2 = bc1.BuildDataSource()
Dim nms As String() = {"年","月"} '指定连接列
                dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
                .DataSource = dt1
                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)
                .Subtotal() '生成汇总模式
                .DataTable.DataCols("查询_月租_缴费金额").SetFormat("#,###.##")
                .DataTable.DataCols("缴费_临时停放_缴费金额").SetFormat("#,###.##")
                .DataTable.DataCols("缴费_其他收入_金额").SetFormat("#,###.##")
                .DataTable.DataCols("当月总收入").SetFormat("#,###.##")
                .SetHeaderRowHeight(0,25,25)
                .ResumeRedraw()
                UnLockBaseMainForm() '解锁主界面
            End If
        End With

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/12/9 23:15:00 [显示全部帖子]

Dim dt1 As fxDataSource
不是定义了吗?

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2022/8/30 22:23:00 [显示全部帖子]

 
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220830203615.png
图片点击可在新窗口打开查看
With Tables("安费用所属期查询统计_Table1")
            Dim g As Subtotalgroup
            .SubtotalGroups.Clear()
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
           g = New Subtotalgroup
            g.GroupOn = "明细分类"
            g.TotalOn = "查询_月租_缴费金额"
            .SubtotalGroups.Add(g)
            g = New Subtotalgroup
            g.GroupOn = "月"
            g.TotalOn = "查询_月租_缴费金额"
            g.Caption = "本月发生额"
            .SubtotalGroups.Add(g)
            g = New Subtotalgroup
            g.GroupOn = "月"
            g.Caption = "{0}月"
            .SubtotalGroups.Add(g)
            .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 "*月" Then'如果是分组行
                    Dim f As String = "年 = " & .Rows(i - 2, True)("年") & " And 月 <= " & r("年").trim("月")
                    r("年") = "本年累计"
                    r("查询_月租_缴费金额") = .Compute("Sum(查询_月租_缴费金额)", f)
                End If
            Next
            .ResumeRedraw()
            UnLockBaseMainForm() '解锁主界面
        End With
添加明细分组后本年累计无法计算。红色标注是原来的代码。
[此贴子已经被作者于2022/8/30 22:55:54编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2022/8/30 23:11:00 [显示全部帖子]

谢谢,你这样提示一下我知道哪的问题了,已经解决了。

 回到顶部
总数 79 上一页 1 2 3 4 5 6 7 8