以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助一个模板,生在统计表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75727) |
-- 作者:SMXTB -- 发布时间:2015/10/13 17:34:00 -- 求助一个模板,生在统计表 制作了一个出差登记表,现在想从表中取数输出统计报表,不知道如何设置这个模板。表的结构是这样: ![]() ![]() [此贴子已经被作者于2018/4/19 15:19:35编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/13 17:39:00 -- 先生成横向的表,再导出。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=68546&replyID=&skin=1
|
-- 作者:SMXTB -- 发布时间:2015/10/13 22:02:00 -- 感谢及时指点,但这个例子不能解决我的问题,如果说所有的列是一一对应的,这个例子刚好可以解决这个问题,但是我提出的问题中有一个是多值字段,那就是“同行人员”列,那个例中的人员有可能是多个人员,如张三、李四,但对应“姓名”列却是赵五,那么就要求,当时间是某一天的时候,出差“姓名”中为赵五的人,在统计表中赵五对应的出差地点就会对号入座,但同行人员中的张三、李四也是一同出差的,那就需要在那个时间对应的行显示张三、李四的出差地点与李四一样。 |
-- 作者:大红袍 -- 发布时间:2015/10/13 23:04:00 -- 参考代码
Dim ndt As new DataTableBuilder("临时") For Each dr As DataRow In DataTables("表A").datarows [此贴子已经被作者于2015/10/13 23:04:44编辑过]
|
-- 作者:SMXTB -- 发布时间:2015/10/14 8:57:00 -- 非常感谢。问题已经解决90%了,还有一个小问题没有解决,我把第一列作为出差时间列,按那个代码生成了一个临时表,基本上满足我的要求,但是在同一时间点上,出现了多行纪录,为什么不能象统计表一样,在第一列不出现重复的值呢? ![]() 我试了,如果是字符型的不出现重复行,为什么换成日期列后,会产生多行重复呢
[此贴子已经被作者于2015/10/14 9:14:58编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/14 9:16:00 -- Dim ndt As new DataTableBuilder("临时") For Each dr As DataRow In DataTables("表A").datarows |
-- 作者:SMXTB -- 发布时间:2015/10/14 13:36:00 -- 好的,非常感谢指导,问题差不多全部解决了,真的非常感谢。但还有一个问题,这个表需要统计的是某一个月的情况,如何在这段代码中加上一个条件,只加载某个月的数据呢? |
-- 作者:大红袍 -- 发布时间:2015/10/14 14:10:00 -- For Each dr As DataRow In DataTables("表A").datarows
改成
Dim Filter As string = 条件语句 For Each dr As DataRow In DataTables("表A").Select(filter)
http://www.foxtable.com/help/topics/2720.htm
|
-- 作者:SMXTB -- 发布时间:2015/10/14 15:33:00 -- For Each dr As DataRow In DataTables("表A").datarows这段代码两个地方都有,是改第一处吗还是两处都要改,再就是条件语句是这样写执行不了: 日期 "〈2015-09-30 〉2015-09-01",应该如何写呢
|
-- 作者:大红袍 -- 发布时间:2015/10/14 15:35:00 -- Dim d As Date = new Date(2015, 9, 1) Dim filter As String = "日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#" For Each dr As DataRow In DataTables("表A").Select(filter) |