Foxtable(狐表)用户栏目专家坐堂 → [求助]横向展开表数据问题


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

主题:[求助]横向展开表数据问题

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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
[求助]横向展开表数据问题  发帖心情 Post By:2018/6/27 10:13:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test2.rar



现在图片好像无法编辑,附码内详
[此贴子已经被作者于2018/6/27 10:18:26编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 10:15:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2018/6/27 10:20:00 [只看该作者]

麻烦版主帮看下,内有计算部份,不是单纯的转换

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 10:28:00 [只看该作者]

Dim y As Integer = Date.Today.Year
Dim dt1 As Date = DataTables("order").Compute("min(日期)")
Dim dt2 As Date = DataTables("order").Compute("max(日期)")

Dim ndt As new DataTableBuilder("订单表")
ndt.AddDef("客户", Gettype(String),150)
ndt.AddDef("产品", Gettype(String))
Dim dt_temp = dt1
Do While dt_temp <= dt2
    ndt.AddDef(dt_temp, Gettype(Double), "", dt_temp) '& "_" & WeekDayName(dt_temp.DayOfWeek+1))  'Output.Show(WeekDayName(d.DayOfWeek))
    dt_temp = dt_temp.AddDays(1)
Loop

Dim t As Table = e.Form.Controls("Table1").Table
t.DataSource = ndt.BuildDataSource

Dim dt As DataTable = DataTables("order")

For Each kh  As String In dt.GetValues("客户号", "日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
    Dim nr As Row = t.AddNew
    nr("客户") = kh
    For Each dr As DataRow In dt.Select("客户号 = '" & kh & "' and 日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
        nr(dr("日期")) += dr("数量")
    Next
Next


t.AllowEdit = True


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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2018/6/27 10:37:00 [只看该作者]

谢谢甜版,但我试着把产品写进去后,发现不对,没有区分

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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2018/6/27 10:37:00 [只看该作者]

For Each kh  As String In dt.GetValues("客户号", "日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
    Dim nr As Row = t.AddNew
    nr("客户") = kh
    For Each dr As DataRow In dt.Select("客户号 = '" & kh & "' and 日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
        nr(dr("日期")) += dr("数量")
        nr("产品") = dr("产品")
    Next
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 10:37:00 [只看该作者]

Dim y As Integer = Date.Today.Year
Dim dt1 As Date = DataTables("order").Compute("min(日期)")
Dim dt2 As Date = DataTables("order").Compute("max(日期)")

Dim ndt As new DataTableBuilder("订单表")
ndt.AddDef("客户", Gettype(String),150)
ndt.AddDef("产品", Gettype(String))
Dim dt_temp = dt1
Do While dt_temp <= dt2
    ndt.AddDef(dt_temp, Gettype(Double), "", dt_temp) '& "_" & WeekDayName(dt_temp.DayOfWeek+1))  'Output.Show(WeekDayName(d.DayOfWeek))
    dt_temp = dt_temp.AddDays(1)
Loop

Dim t As Table = e.Form.Controls("Table1").Table
t.DataSource = ndt.BuildDataSource

Dim dt As DataTable = DataTables("order")

For Each kh  As String() In dt.GetValues("客户号|产品", "日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
    Dim nr As Row = t.AddNew
    nr("客户") = kh(0)
    nr("产品") = kh(1)
    For Each dr As DataRow In dt.Select("客户号 = '" & kh(0) & "' and 产品 = '" & kh(1) & "' and 日期 >= #" & dt1 & "# and 日期 <= #" & dt2 & "#")
        nr(dr("日期")) += dr("数量")
    Next
Next

t.AllowEdit = True


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


加好友 发短信
等级:二尾狐 帖子:544 积分:7290 威望:0 精华:0 注册:2011/6/22 20:16:00
  发帖心情 Post By:2018/6/27 10:38:00 [只看该作者]

客户182 ,6-5号应该是 有泵体1  400,泵体2  200

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 10:40:00 [只看该作者]

看7楼代码。

 回到顶部