以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多条件统计数量 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191508) |
-- 作者:wlj88868 -- 发布时间:2024/4/20 15:14:00 -- 多条件统计数量 Dim dr As DataRow = e.DataRow
老师我想在开票月份输入4,,把销售资料的4月份的数量统计出来,,不管几号的是4月份的都统计出来,需要怎么做呀 现在就是不会分月统计麻烦指教一下 此主题相关图片如下:1713597033219.png 此主题相关图片如下:1713597060142.png |
-- 作者:有点蓝 -- 发布时间: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(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 )
|
-- 作者:wlj88868 -- 发布时间:2024/4/20 16:22:00 -- 是2个表的,,,是不是[开票月份]=\'"销售日期 >= #" & dt1 & "# And 销售日期 <= #" & dt2 & "#" dim m as string = "4" 这个是不是意思就统计4月份,,开票月份输入是5月份是不是不可以的 dim m as string = e.datarow 这里是不是要这样才有用的啊 此主题相关图片如下:1713600933571.png |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2024/4/20 16:35:00 -- Dim dr As DataRow = e.DataRow
谢谢老师,,可以实现了 |
-- 作者:有点蓝 -- 发布时间:2024/4/20 16:41:00 -- 5楼这种不是合理地用法,请参考4路,学会写完整的逻辑,不然可能会导致程序崩溃:http://www.foxtable.com/webhelp/topics/1522.htm |