Foxtable(狐表)用户栏目专家坐堂 → 增加两日期之间统计数量代码


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

主题:增加两日期之间统计数量代码

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
增加两日期之间统计数量代码  发帖心情 Post By:2011/3/25 18:34:00 [显示全部帖子]

师傅你好:请帮我加代码

1、在开始日期和结束日期之间统计不同品种的数量;

Dim khs As List(of String) = DataTables("出口处理").GetUniqueValues("用盘单位 > ''", "用盘单位")
Dim pds As List(of String) = DataTables("出口处理").GetUniqueValues("品种1  > ''", "品种1")
Dim dt AS New DataTableBuilder("处理数量")
dt.AddDef("客户", Gettype(String), 32)
For i As Integer = 2 To 8
    Dim lst As List(of String)  = DataTables("出口处理").GetUniqueValues("品种" & i &  " > ''", "品种" & i)
    For Each nm AS String In Lst
        If pds.Contains(nm) = False
            pds.Add(nm)
        End If
    Next
Next
For Each pd As String In pds
    dt.AddDef(pd, Gettype(Integer))
Next
dt.Build
Dim tb AS Table = Tables("处理数量")
Dim Sum AS Integer
For Each kh As String In khs
    Dim r As Row = tb.AddNew()
    r("客户")  = kh
    For Each pd As String In pds
        sum = 0
        For i As Integer = 1 To 8
            sum = sum + DataTables("出口处理").Compute("Sum(数量" & i & ")", "品种" & i & " = '" & pd & "' And 用盘单位 = '"  & kh & "'")
        Next
        r(pd) = sum
    Next
Next
Dim sr As Row = tb.AddNew()
sr("客户") = "合计"
For Each pd As String In pds
    sum = 0
    For Each r AS Row In tb.Rows
        sum = sum + r(pd)
    Next
    sr(pd) = sum
Next

谢谢!


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 7:23:00 [显示全部帖子]

请师傅帮忙,加一个开始日期和结束日期的统计代码


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 9:39:00 [显示全部帖子]

出现错误:从字符串“#02/01/2011”到类型“Date”的转换无效

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 11:20:00 [显示全部帖子]

上面代码统计的数据不是开始日期和结束日期之间的数据,而是全部数据


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 12:10:00 [显示全部帖子]

我在易表上从2011-01-01至2011-03-25统计的数据和上面代码统计的数据一样,也就是对日期选择统计没有效果。

 


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 12:21:00 [显示全部帖子]

是不是这两个日期的限制:

Dim dt1 AS Date = "#02/01/2011#" '开始日期
Dim dt2 AS Date = "#12/31/2011#" '结束日期
Dim rf As String  = " And 出单日期 >= #" & dt1 & "# And 出单日期 <= #" & dt2 & "#"


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 13:41:00 [显示全部帖子]

请师傅帮忙呀

 


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 15:42:00 [显示全部帖子]

我从2011-03-20至2011-03-26之间统计的数据,结果是2011-01-01至2011-03-26之间的数据,


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 15:45:00 [显示全部帖子]

在统计处理总量、处理费用、运输费用按两日期的选择,结果是正确的

If e.Form.Controls("DateTimePicker1").Value Is Nothing OrElse e.Form.Controls("DateTimePicker2").Value Is Nothing Then
    MessageBox.Show("请输入起始日期和结束日期")
    Return
End If
Dim dtb As New DataTableBuilder("统计")
Dim Filter As String = "出单日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 出单日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "#"
Dim nms As List(of String) = DataTables("出口处理").GetUniqueValues("","用盘单位")
Dim dr As Row
dtb.AddDef("用盘单位", Gettype(String), 32)
dtb.AddDef("处理总量", Gettype(Double))
dtb.AddDef("运输费用", Gettype(Double))
dtb.AddDef("处理费用", Gettype(Double))
dtb.AddDef("合计", Gettype(Double))
dtb.Build()
For Each nm AS String In nms
    dr = Tables("统计").Addnew()
    dr("用盘单位") = nm
    dr("处理总量") = DataTables("出口处理").compute("Sum(处理总量)", "用盘单位 = '" & nm & "' And " & Filter)
    dr("运输费用") = DataTables("出口处理").compute("Sum(运输费用)", "用盘单位 = '" & nm & "' And " & Filter)
    dr("处理费用") = DataTables("出口处理").compute("Sum(处理费用)", "用盘单位 = '" & nm & "' And " & Filter)
    dr("合计")  = dr("运输费用") + dr("处理费用")
Next
dr = Tables("统计").AddNew
dr("用盘单位") = "合计"
dr("处理总量") = DataTables("出口处理").compute("Sum(处理总量)",Filter)
dr("运输费用") = DataTables("出口处理").compute("Sum(运输费用)",Filter)
dr("处理费用") = DataTables("出口处理").compute("Sum(处理费用)",Filter)
dr("合计")  = dr("处理总量") + dr("运输费用") + dr("处理费用")
e.Form.Close
MainTable= Tables("统计")


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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
  发帖心情 Post By:2011/3/26 16:38:00 [显示全部帖子]

谢谢师傅,以成功

 回到顶部
总数 11 1 2 下一页