Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:求根据参数生成表的代码

1楼
唐尸三摆手 发表于:2010/5/21 8:36:00

   分类码

  分类名称 

  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能否生成介于两个日期参数之间的表(临时表也可)如上表。

2楼
狐狸爸爸 发表于:2010/5/21 8:39:00

逐个列判断,将日期格式的标题转换为日期,如果日期不在指定的两个日期之间的,就对应在临时表中增加一列,最后统一填入数据。

 

 

3楼
唐尸三摆手 发表于:2010/5/21 8:59:00
老大,我说的不是这个意思,这个表是后来生成的,只是先给了两个日期,然后才生成的这个表,先不涉及到表中的数据,先说结构
4楼
狐狸爸爸 发表于:2010/5/21 9:02:00

那就更简单,你自己写下吧,搞不定再说

 

 

5楼
狐狸爸爸 发表于:2010/5/21 9:13:00

我已经写好了:

 

 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("统计")

 

6楼
唐尸三摆手 发表于:2010/5/21 9:27:00

我还走弯路考虑问题呢

 

 

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

7楼
狐狸爸爸 发表于:2010/5/21 9:30:00

其实你思路完全正确啊

8楼
唐尸三摆手 发表于:2010/5/21 9:35:00

老大,我原来的窗口表是这样写的按钮代码:

    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) '生成统计表

 

 

 

现在根据这两天您的启发,数据表越发规范、经典了

按照您提供的代码,如何将数据写入生成的表中呢,您能指点一二吗

[此贴子已经被作者于2010-5-21 9:37:20编辑过]
9楼
狐狸爸爸 发表于:2010/5/21 9:42:00

1、写数据的问题,你可以解决的,不要偷懒,搞不定就看看帮助中的“数据填充器”和“手工编码填充数据”这两节。

2、统计表可以自定义标题的,为啥要建立一个临时表,将统计表的数据写入临时表,我不明白。

 

10楼
唐尸三摆手 发表于:2010/5/21 10:07:00

老大,瞒不过您的法眼,

 

我是想设置一段代码,然后在窗口的数据表中展现出结果来的,

共14 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .06201 s, 2 queries.