Foxtable(狐表)用户栏目专家坐堂 → 求助:数据填充


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

主题:求助:数据填充

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/4/29 10:15:00 [显示全部帖子]

帮助搜索

分组统计和交叉统计的实现原理


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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/4/29 19:29:00 [显示全部帖子]

统计表中的编号列有重复?

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/4/29 19:33:00 [显示全部帖子]

你要的可是这种效果?


图片点击可在新窗口打开查看此主题相关图片如下:2013-04-29 19-31-03.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/4/29 19:42:00 [显示全部帖子]

'代码如下,这是个动态表的代码,具体你自己根据需要修改:

Dim dt,nt As DataTable
Dim dr,nr As DataRow
Dim i As Integer
Dim MinDate As Date
Dim MaxDate As Date
Dim span As TimeSpan
Dim id As String

dt = DataTables("订单表")
Dim dtb As New DataTableBuilder("统计表")
dtb.AddDef("编号", Gettype(String), 16)
MinDate = dt.Compute("min(开始日期)")
MaxDate = dt.Compute("max(结束日期)")
span = MaxDate - MinDate
For i = 0 To span.TotalDays
    dtb.AddDef(format(MinDate.AddDays(i),"yyyyMMdd"), Gettype(Double),"",format(MinDate.AddDays(i),"yyyy_MM_dd"))
Next
dtb.Build()
Dim t As Table = Tables("统计表")
nt = t.DataTable
For Each id In dt.GetUniqueValues("","编号")
    nr = nt.AddNew
    nr("编号") = id
    For Each dr In dt.Select("编号 = '"& id &"'")
        MinDate = dr("开始日期")
        MaxDate = dr("结束日期")
        span = MaxDate - MinDate
        For i = 0 To span.TotalDays
            nr(format(MinDate.AddDays(i),"yyyyMMdd")) = dr("单价")
        Next
    Next
Next
t.AutoSizeCols
MainTable = t

[此贴子已经被作者于2013-4-29 19:42:29编辑过]

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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/5/4 9:11:00 [显示全部帖子]

'稍作改动即可

nr(format(MinDate.AddDays(i),"yyyyMMdd")) += dr("单价")


 回到顶部