Foxtable(狐表)用户栏目专家坐堂 → 多条件统计数量


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

主题:多条件统计数量

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


加好友 发短信
等级:幼狐 帖子:195 积分:1396 威望:0 精华:0 注册:2016/4/27 9:39:00
多条件统计数量  发帖心情 Post By:2024/4/20 15:14:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable = DataTables("销售资料")
If e.DataCol.Name = "管辖部门" Then
    dr("销售数量") = dt.Compute("Sum(数量)", "[管辖部门] = '" & dr("管辖部门") & "'")
End If

 

老师我想在开piao月份输入4,,把销售资料的4月份的数量统计出来,,不管几号的是4月份的都统计出来,需要怎么做呀

现在就是不会分月统计麻烦指教一下


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

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

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/20 15:36:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2720.htm

dim m as string = "4"
Dim y As Integer = Date.Today.Year
Dim 
dt1 As New Date(ym1)
Dim 
dt2 As New Date(ymDate.DaysInMonth(ym)) '获取本月的最后一天
Dim 
Filter As String "[管辖部门] = '" & dr("管辖部门") & "' and 销售日期 >= #" & dt1 & "# And 销售日期 <= #" & dt2 & "#"
dr("销售数量") = dt.Compute("Sum(数量)", Filter )

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


加好友 发短信
等级:幼狐 帖子:195 积分:1396 威望:0 精华:0 注册:2016/4/27 9:39:00
  发帖心情 Post By:2024/4/20 16:22:00 [只看该作者]

是2个表的,,,是不是[开piao月份]='"销售日期 >= #" & dt1 & "# And 销售日期 <= #" & dt2 & "#"

dim m as string = "4"  这个是不是意思就统计4月份,,开piao月份输入是5月份是不是不可以的

dim m as string = e.datarow  这里是不是要这样才有用的啊


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

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


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

'代码写完整啊,我只是改了和问题有关的一段

Select Case e.DataCol.Name
    Case "管辖部门", "开piao月份"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("管辖部门") OrElse dr.IsNull("开piao月份") Then
            dr("销售数量") = Nothing
        Else
            Dim m As integer = dr("开piao月份")
            Dim y As Integer = Date.Today.Year
            Dim dt1 As New Date(y, m, 1)
            Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
            Dim Filter As String = "[管辖部门] = '" & dr("管辖部门") & "' and 销售日期 >= #" & dt1 & "# And 销售日期 <= #" & dt2 & "#"
            Dim dt As DataTable = DataTables("销售资料")
            dr("销售数量") = dt.Compute("Sum(数量)", Filter)
        End If
End Select

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


加好友 发短信
等级:幼狐 帖子:195 积分:1396 威望:0 精华:0 注册:2016/4/27 9:39:00
  发帖心情 Post By:2024/4/20 16:35:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim dt As DataTable = DataTables("销售资料")
'If e.DataCol.Name = "管辖部门" Then
    'dr("销售数量") = dt.Compute("Sum(数量)", "[管辖部门] = '" & dr("管辖部门") & "'")
'End If
Dim m As String = e.DataRow("开piao月份")
Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
Dim Filter As String = "[管辖部门] = '" & dr("管辖部门") & "' and 销售日期 >= #" & dt1 & "# And 销售日期 <= #" & dt2 & "#"
dr("销售数量") = dt.Compute("Sum(数量)", Filter)

 

 

谢谢老师,,可以实现了


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


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

5楼这种不是合理地用法,请参考4路,学会写完整的逻辑,不然可能会导致程序崩溃:http://www.foxtable.com/webhelp/topics/1522.htm

 回到顶部