Foxtable(狐表)用户栏目专家坐堂 → [求助]能否在交叉表的垂直分组列中增加列(已解决)


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

主题:[求助]能否在交叉表的垂直分组列中增加列(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 8:49:00 [只看该作者]

代码不能粘贴

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 8:53:00 [只看该作者]

只能将文件上传,请狐爸老师看看,谢谢!!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产日报b.zip


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/12 9:15:00 [只看该作者]

问题出现在以下加粗的部分:

 

r.DataTable.DataCols.Add( k4 & j , Gettype(Double),"iif((j-1)=0,null,"& k3 & j &"/"& k3 & (j-1) &")") 

 

j是一个变量,合成的表达式中不能直接出现字符j的。

 

你应该:

 

 

if j-1 = 0 Then

    r.DataTable.DataCols.Add( k4 & j , Gettype(Double))

else

    r.DataTable.DataCols.Add( k4 & j , Gettype(Double), k3 & j &"/"& k3 & (j-1) &")")

end if


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 10:30:00 [只看该作者]

谢谢狐爸老师的指教,表已生成,符合要求。再次感谢!!

 


根据表结构,如果将垂直分组列的(报表年月)值提取出来,对动态增加的列标题进行设置,是否就能实现新增列与垂直分组列的合并?

如果可行的话,如何提取垂直分组列的(报表年月)值?请各位老师指教。谢谢!!

 


图片点击可在新窗口打开查看此主题相关图片如下:a.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:b.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-7-12 10:31:07编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/12 10:57:00 [只看该作者]

你可以根据标题取得列名,逐列判断表中的列,如果标题符合,就取此列。
新增列可以用move移动位置:

CurrentTable.Cols("日期").Move(0)

 

动态设置标题:

http://help.foxtable.com/topics/1275.htm

 


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 12:27:00 [只看该作者]

谢谢狐爸老师。

因为表是动态生成的,不同的年份,其垂直分组列的标题内容不同,所以需要提取(报表年月)列的值,才能设置列标题。如何提取垂直分组列的(报表年月)值?还请老师帮助看看,用什么办法。谢谢!!


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/12 14:05:00 [只看该作者]

说实话,我没有明白你的意思。


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 14:34:00 [只看该作者]

在表结构的标题列,有(报表年月)的值,垂直分组列就是依据报表年月的值来分组。对新增列重新设置列标题,如果选择2011年,列标题应为:201101_人均加工费、201101_环比……,如果选择2010年,列标题应为:201001_人均加工费、201001_环比……,因此,需要提取报表年月的值,用来对新增列重新设置列标题,现在的问题是如何来提取报表年月的值。不知这样解释能否理解?谢谢狐爸老师!!

 

 


图片点击可在新窗口打开查看此主题相关图片如下:a.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-7-12 14:43:34编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/12 14:49:00 [只看该作者]

For Each c As col In Tables("统计表").Cols
    If c.caption.EndsWith("_加工费") AndAlso c.caption.StartsWith("合计_") Then
        output.show(c.name)
        output.show(c.caption)
        output.show(c.name.SubString(0,c.name.IndexOf("_")))
    End If
Next

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/12 15:22:00 [只看该作者]

谢谢狐爸老师,给了很好的思路,需要一点时间来消化。再次感谢狐爸老师的热情帮助,谢谢!!

 回到顶部
总数 51 上一页 1 2 3 4 5 6 下一页