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


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

主题:时段统计问题

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


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

在临时表中取数

 回到顶部
帅哥,在线噢!
有点蓝
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

临时表不能使用sql

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


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

提示不存在我添加的红色标注的列
If e.Form.Controls("ComboBox1").Value = "" Then'当日期为空取消保存操作
    messagebox.show("请选择分类")
    Return
End If
If e.Form.Controls("ComboBox1").Value = e.Form.Controls("ComboBox1").Items(1) Then
    If e.Form.Controls("StartDate").Value = Nothing OrElse e.Form.Controls("EndDate").Value = Nothing Then '当日期为空取消保存操作
        messagebox.show("请选择起止日期")
        Return
    Else
        Dim cmd As New SQLCommand
        cmd.CommandText = "Select [_Identify],分类,住址_巷,住址_号,住址_房,姓名,手机号码,车牌号码,缴费_月租_起计日期,缴费_月租_止计日期,缴费_月租_月租单价 fr om {缴费情况} Where [缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "# And [缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "# And ([车牌号码] = '" & e.Form.Controls("DropBox1").text & "' Or [车牌号码] Is null)"
        Dim dt As DataTable = cmd.ExecuteReader()
        With Tables("安费用所属期查询统计_Table1")
            For i As Integer = .Rows.count - 1 To 0 Step -1
                .Rows(i).Delete
            Next
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
            .DataSource = dt
            If dt.DataCols.Contains("查询_月租_有效起计日期") = False And dt.DataCols.Contains("查询_月租_有效止计日期") = False And dt.DataCols.Contains("查询_月租_缴费月数") = False And dt.DataCols.Contains("查询_月租_缴费金额") = False Then
                dt.DataCols.add("查询_月租_有效起计日期", Gettype(Date))
                dt.DataCols.add("查询_月租_有效止计日期", Gettype(Date))
                dt.DataCols.add("查询_月租_缴费月数", Gettype(Double))
                dt.DataCols.add("查询_月租_缴费金额", Gettype(Double))
            End If
            If dt.DataRows.Count > 0 Then
                For Each dr As DataRow In dt.DataRows
                    If dr("缴费_月租_起计日期") <= "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = "#" & e.Form.Controls("StartDate").Value & "#"
                    ElseIf dr("缴费_月租_起计日期") > "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = dr("缴费_月租_起计日期")
                    End If
                    If dr("缴费_月租_止计日期") >= "#" & e.Form.Controls("EndDate").Value Then
                        dr("查询_月租_有效止计日期") = "#" & e.Form.Controls("EndDate").Value & "#"
                    ElseIf dr("缴费_月租_止计日期") < "#" & e.Form.Controls("EndDate").Value & "#" Then
                        dr("查询_月租_有效止计日期") = dr("缴费_月租_止计日期")
                    End If
                    dr("查询_月租_缴费月数") = DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1
                    dr("查询_月租_缴费金额") = (DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1) * dr("缴费_月租_月租单价")
                Next
            End If
            .SetColVisibleWidth("分类|60|住址_巷|60|住址_号|30|住址_房|30|姓名|50|手机号码|80|车牌号码|70|缴费_月租_月租单价|60|查询_月租_有效起计日期|70|查询_月租_有效止计日期|70|查询_月租_缴费月数|60|查询_月租_缴费金额|60")
            .SetHeaderRowHeight(0,0,25)
            If .Rows.Count < 15 Then
                .AddNew(15 - .Rows.Count)
            End If
            .ResumeRedraw()
            UnLockBaseMainForm() '解锁主界面
            .Cols("查询_月租_缴费金额").GrandTotal = True
            .GrandTotal = True
            DataTables("安费用所属期查询统计_Table1").DataCols("查询_月租_缴费金额").SetFormat("#,###.##")
        End With
    End If

 回到顶部
帅哥,在线噢!
有点蓝
  44楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

分开一个列一个列的判断和添加

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


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

改为这样依然提示

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

If e.Form.Controls("ComboBox1").Value = "" Then'当日期为空取消保存操作
    messagebox.show("请选择分类")
    Return
End If
If e.Form.Controls("ComboBox1").Value = e.Form.Controls("ComboBox1").Items(1) Then
    If e.Form.Controls("StartDate").Value = Nothing OrElse e.Form.Controls("EndDate").Value = Nothing Then '当日期为空取消保存操作
        messagebox.show("请选择起止日期")
        Return
    Else
        With Tables("安费用所属期查询统计_Table1")
            For i As Integer = .Rows.count - 1 To 0 Step -1
                .Rows(i).Delete
            Next
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
            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 cmd As New SQLCommand
            cmd.CommandText = "Select [_Identify],分类,住址_巷,住址_号,住址_房,姓名,手机号码,车牌号码,缴费_月租_起计日期,缴费_月租_止计日期,缴费_月租_月租单价 fr om {缴费情况} Where [缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "# And [缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "# And ([车牌号码] = '" & e.Form.Controls("DropBox1").text & "' Or [车牌号码] Is null)"
            Dim dt As DataTable = cmd.ExecuteReader()
            .DataSource = dt
            .SetColVisibleWidth("分类|60|住址_巷|60|住址_号|30|住址_房|30|姓名|50|手机号码|80|车牌号码|70|缴费_月租_月租单价|60")
            .SetHeaderRowHeight(0,0,25)
            If dt.DataCols.Contains("查询_月租_有效起计日期") = False Then
                dt.DataCols.add("查询_月租_有效起计日期", Gettype(Date))
            ElseIf dt.DataCols.Contains("查询_月租_有效止计日期") = False Then
                dt.DataCols.add("查询_月租_有效止计日期", Gettype(Date))
            ElseIf dt.DataCols.Contains("查询_月租_缴费月数") = False Then
                dt.DataCols.add("查询_月租_缴费月数", Gettype(Double))
            ElseIf dt.DataCols.Contains("查询_月租_缴费金额") = False Then
                dt.DataCols.add("查询_月租_缴费金额", Gettype(Double))
            End If
            If dt.DataRows.Count > 0 Then
                For Each dr As DataRow In dt.DataRows
                    If dr("缴费_月租_起计日期") <= "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = "#" & e.Form.Controls("StartDate").Value & "#"
                    ElseIf dr("缴费_月租_起计日期") > "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = dr("缴费_月租_起计日期")
                    End If
                    If dr("缴费_月租_止计日期") >= "#" & e.Form.Controls("EndDate").Value Then
                        dr("查询_月租_有效止计日期") = "#" & e.Form.Controls("EndDate").Value & "#"
                    ElseIf dr("缴费_月租_止计日期") < "#" & e.Form.Controls("EndDate").Value & "#" Then
                        dr("查询_月租_有效止计日期") = dr("缴费_月租_止计日期")
                    End If
                    dr("查询_月租_缴费月数") = DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1
                    dr("查询_月租_缴费金额") = (DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1) * dr("缴费_月租_月租单价")
                Next
            End If
            If .Rows.Count < 15 Then
                .AddNew(15 - .Rows.Count)
            End If
            .ResumeRedraw()
            UnLockBaseMainForm() '解锁主界面
            .Cols("查询_月租_缴费金额").GrandTotal = True
            .GrandTotal = True
            DataTables("安费用所属期查询统计_Table1").DataCols("查询_月租_缴费金额").SetFormat("#,###.##")
        End With
    End If

 回到顶部
帅哥,在线噢!
有点蓝
  46楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

If dt.DataCols.Contains("查询_月租_有效起计日期") = False Then
                dt.DataCols.add("查询_月租_有效起计日期", Gettype(Date))
endif
If dt.DataCols.Contains("查询_月租_有效止计日期") = False Then
                dt.DataCols.add("查询_月租_有效止计日期", Gettype(Date))
endif

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


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

已经改过来了还是这样提示。

 回到顶部
帅哥,在线噢!
有点蓝
  48楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

完整代码

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


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

If e.Form.Controls("ComboBox1").Value = "" Then'当日期为空取消保存操作
    messagebox.show("请选择分类")
    Return
End If
If e.Form.Controls("ComboBox1").Value = e.Form.Controls("ComboBox1").Items(1) Then
    If e.Form.Controls("StartDate").Value = Nothing OrElse e.Form.Controls("EndDate").Value = Nothing Then '当日期为空取消保存操作
        messagebox.show("请选择起止日期")
        Return
    Else
        With Tables("安费用所属期查询统计_Table1")
            For i As Integer = .Rows.count - 1 To 0 Step -1
                .Rows(i).Delete
            Next
            LockBaseMainForm() '锁定主界面
            .StopRedraw()
            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 cmd As New SQLCommand
            cmd.CommandText = "Select [_Identify],分类,住址_巷,住址_号,住址_房,姓名,手机号码,车牌号码,缴费_月租_起计日期,缴费_月租_止计日期,缴费_月租_月租单价 fr om {缴费情况} Where [缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "# And [缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "# And ([车牌号码] = '" & e.Form.Controls("DropBox1").text & "' Or [车牌号码] Is null)"
            Dim dt As DataTable = cmd.ExecuteReader()
            .DataSource = dt
            .SetColVisibleWidth("分类|60|住址_巷|60|住址_号|30|住址_房|30|姓名|50|手机号码|80|车牌号码|70|缴费_月租_月租单价|60")
            .SetHeaderRowHeight(0,0,25)
            If dt.DataCols.Contains("查询_月租_有效起计日期") = False Then
                dt.DataCols.add("查询_月租_有效起计日期", Gettype(Date))
            End If
            If dt.DataCols.Contains("查询_月租_有效止计日期") = False Then
                dt.DataCols.add("查询_月租_有效止计日期", Gettype(Date))
            End If
            If dt.DataCols.Contains("查询_月租_缴费月数") = False Then
                dt.DataCols.add("查询_月租_缴费月数", Gettype(Double))
            End If
            If dt.DataCols.Contains("查询_月租_缴费金额") = False Then
                dt.DataCols.add("查询_月租_缴费金额", Gettype(Double))
            End If
            If dt.DataRows.Count > 0 Then
                For Each dr As DataRow In dt.DataRows
                    If dr("缴费_月租_起计日期") <= "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = "#" & e.Form.Controls("StartDate").Value & "#"
                    ElseIf dr("缴费_月租_起计日期") > "#" & e.Form.Controls("StartDate").Value & "#" Then
                        dr("查询_月租_有效起计日期") = dr("缴费_月租_起计日期")
                    End If
                    If dr("缴费_月租_止计日期") >= "#" & e.Form.Controls("EndDate").Value Then
                        dr("查询_月租_有效止计日期") = "#" & e.Form.Controls("EndDate").Value & "#"
                    ElseIf dr("缴费_月租_止计日期") < "#" & e.Form.Controls("EndDate").Value & "#" Then
                        dr("查询_月租_有效止计日期") = dr("缴费_月租_止计日期")
                    End If
                    dr("查询_月租_缴费月数") = DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1
                    dr("查询_月租_缴费金额") = (DateDiff("m",dr("查询_月租_有效起计日期"),dr("查询_月租_有效止计日期")) + 1) * dr("缴费_月租_月租单价")
                Next
            End If
            If .Rows.Count < 15 Then
                .AddNew(15 - .Rows.Count)
            End If
            .ResumeRedraw()
            UnLockBaseMainForm() '解锁主界面
            .Cols("查询_月租_缴费金额").GrandTotal = True
            .GrandTotal = True
            DataTables("安费用所属期查询统计_Table1").DataCols("查询_月租_缴费金额").SetFormat("#,###.##")
        End With
    End If
[此贴子已经被作者于2021/12/2 10:00:03编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  50楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

提示什么错误?自行调试是那一句代码出错

 回到顶部
总数 123 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..13