Foxtable(狐表)用户栏目专家坐堂 → 关于自定义表头的问题,求助


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

主题:关于自定义表头的问题,求助

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


加好友 发短信
等级:三尾狐 帖子:792 积分:5649 威望:0 精华:0 注册:2013/12/9 20:12:00
关于自定义表头的问题,求助  发帖心情 Post By:2014/3/28 15:41:00 [只看该作者]

思路:
我想在我的报表中心,做一个让用户自己来配置表头。
新建了个数据表,列属性为:字符型,然后执行报表时调用值。

想要的效果应为: **公司  生产数据报表(2014年)  

实现过程发现:
1、我定义了一个这样的标题:** 公司   生产数据报表 & “( " & Date.Today.Year()  & " 年)” 
2、保存数据;
3、预览执行报表,标题仍为:** 公司   生产数据报表 & “( " & Date.Today.Year()  & " 年)” 

要达到预期效果,应该怎么弄呢?谢谢!




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/28 17:13:00 [只看该作者]

 字符串默认是不会当成代码来用,你需要编译这句字符串,得到编译后的字符串。

 

 参考 http://www.foxtable.com/help/topics/1487.htm

 


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


加好友 发短信
等级:三尾狐 帖子:792 积分:5649 威望:0 精华:0 注册:2013/12/9 20:12:00
  发帖心情 Post By:2014/3/28 20:00:00 [只看该作者]

感谢  有点甜 

我先尝试弄下。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/29 8:38:00 [只看该作者]

你用的什么报表,如果是word报表,Excel报表,都可以直接在报表模版中用表达式实现:

 

< "公司   生产数据报表" & Year(Date) & "年" >


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


加好友 发短信
等级:三尾狐 帖子:792 积分:5649 威望:0 精华:0 注册:2013/12/9 20:12:00
  发帖心情 Post By:2014/3/29 9:26:00 [只看该作者]

这个是专业报表的需求  狐爸

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/29 9:30:00 [只看该作者]

专业报表不是更方便吗:

 

.text = "** 公司   生产数据报表(" & Date.Today.Year()  & " 年)” 


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


加好友 发短信
等级:三尾狐 帖子:792 积分:5649 威望:0 精华:0 注册:2013/12/9 20:12:00
  发帖心情 Post By:2014/3/29 9:37:00 [只看该作者]

思路:
我想在报表中心,弄一个窗口,让用户自己来配置表头。
把定义好的表头存放在数据表里,列属性为:字符型,然后执行专业报表时调用。

调用代码是 .txt = dr("自定义表头")  ,但预览出来的效果仍是代码。即 ** 公司   生产数据报表(" & Date.Today.Year()  & " 年)” 。年没取到

是不是一定要用 有点甜 提供的这种办法呢。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/29 9:48:00 [只看该作者]

有点甜的方法可以,但是比较繁琐,你可以用一些标记,例如[Y]表示年,[M]表示月,留给用户定义,打印的时候你直接编码替换就行。

 

Dim s As String = "** 公司   生产数据报表([Y]年[M]月)"

.Text = s.Repalce("[Y]",Date.Today.Year).Replace("[M]",Date.today.Month)

 

 

这样用户用起来更方便

 

[此贴子已经被作者于2014-3-29 9:48:36编辑过]

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


加好友 发短信
等级:三尾狐 帖子:792 积分:5649 威望:0 精华:0 注册:2013/12/9 20:12:00
  发帖心情 Post By:2014/3/29 9:52:00 [只看该作者]

嗯,

谢谢狐爸支招儿。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/29 9:54:00 [只看该作者]

 说一个通用的方法,编译返回需要的字符串。

 自己替换红色的内容为 "** 公司   生产数据报表 & ( "  & Date.Today.Year()  & " 年)"

 

Functions.Remove("MyFunc")
Dim code As String
code += "return " & Tables("表A").Rows(0)("编号")
Functions.Add("MyFunc",Code)
Functions.Complie()


Dim result As String = Functions.Execute("MyFunc")
msgbox(result)


 回到顶部