Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
分类码 |
分类名称 |
2010-05-01 | 2010-05-02 | 2010-05-03 | 2010-05-04 | 2010-05-05 | 2010-05-06 | 2010-05-07 | 2010-05-08 | 2010-05-09 | 2010-05-10 | 合计 |
假定给了两个时间参数:2010-05-01和2010-05-10能否生成介于两个日期参数之间的表(临时表也可)如上表。
逐个列判断,将日期格式的标题转换为日期,如果日期不在指定的两个日期之间的,就对应在临时表中增加一列,最后统一填入数据。
那就更简单,你自己写下吧,搞不定再说
我已经写好了:
Dim dtb As New DataTableBuilder("统计")
Dim StartDate As Date = #5/1/2010# '起始日期
Dim Count As Integer = (#5/10/2010# - StartDate).TotalDays '计算间隔天数
dtb.AddDef("分类码", GetType(String), 12)
dtb.AddDef("分类名称", GetType(String), 24)
For i As Integer = 0 To Count '增加日期列
dtb.AddDef("dc" & i, GetType(Double), "", Format(StartDate.AddDays(i),"yyyy-MM-dd"))
Next
dtb.AddDef("合计", GetType(Double))
dtb.Build()
MainTable= Tables("统计")
我还走弯路考虑问题呢
Dim da As date
dim db as date
dim dc as date
dim s as integer
Dim i As Integer
da=Date.Today
db=#06/10/2010#
s=DateDiff("d",da,db)
For i = 0 to s
dc=DateAdd("d",i,da)
Output.Show(dc)
Next
其实你思路完全正确啊
老大,我原来的窗口表是这样写的按钮代码:
Dim b As New SQLCrossTableBuilder("a","aec00000")
b.c ' 注:此处是数据源erp不知何故不能保存
b.AddTable("aec00000","itemcode","aaa00000","code") '添加统计表
b.AddTable("aec00000","id_contract","eba00000","id_contract") '添加统计表
b.AddTable("aaa00000","classcode","aam00000","classcode") '添加统计 表
b.AddCols("aam00000","classcode") '指定列来源
b.AddCols("aam00000","classname") '指定列来源
b.AddCols("eba00000","sellunit") '指定列来源
b.HGroups.AddDef("classcode","分类码") '添加水平分组
b.HGroups.AddDef("classname","分类名称") '添加水平分组
b.VGroups.AddDef("requiredate",DateGroupEnum.none) '添加垂直分组
b.Totals.AddDef("plannum") '添加数量列用于统计
b.VerticalTotal=true
b.Build(true) '生成统计表
现在根据这两天您的启发,数据表越发规范、经典了
按照您提供的代码,如何将数据写入生成的表中呢,您能指点一二吗
1、写数据的问题,你可以解决的,不要偷懒,搞不定就看看帮助中的“数据填充器”和“手工编码填充数据”这两节。
2、统计表可以自定义标题的,为啥要建立一个临时表,将统计表的数据写入临时表,我不明白。
老大,瞒不过您的法眼,
我是想设置一段代码,然后在窗口的数据表中展现出结果来的,