以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于自定义表头的问题,求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48428)

--  作者:ndxfke
--  发布时间:2014/3/28 15:41:00
--  关于自定义表头的问题,求助
思路:
我想在我的报表中心,做一个让用户自己来配置表头。
新建了个数据表,列属性为:字符型,然后执行报表时调用值。

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

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

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




--  作者:有点甜
--  发布时间:2014/3/28 17:13:00
--  

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

 

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

 


--  作者:ndxfke
--  发布时间:2014/3/28 20:00:00
--  
感谢  有点甜 

我先尝试弄下。

--  作者:狐狸爸爸
--  发布时间:2014/3/29 8:38:00
--  

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

 

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


--  作者:ndxfke
--  发布时间:2014/3/29 9:26:00
--  
这个是专业报表的需求  狐爸
--  作者:狐狸爸爸
--  发布时间:2014/3/29 9:30:00
--  

专业报表不是更方便吗:

 

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


--  作者:ndxfke
--  发布时间:2014/3/29 9:37:00
--  
思路:
我想在报表中心,弄一个窗口,让用户自己来配置表头。
把定义好的表头存放在数据表里,列属性为:字符型,然后执行专业报表时调用。

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

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

--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2014/3/29 9:52:00
--  
嗯,

谢谢狐爸支招儿。

--  作者:有点甜
--  发布时间: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)