以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]Word报表模板 表达式 问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64181)

--  作者:天下堂主
--  发布时间:2015/2/6 15:09:00
--  [求助]Word报表模板 表达式 问题

A表(团体会员)结构: 组织名称、卷号、类型、业务范围

B表(团体代表)结构:社会组织、身份、姓名、性别……

表间关系:[组织名称]—[社会组织]  双向关联


需要设计一个Word报表模板,报表模板内容大体如下:

[组织名称][卷号],类型:[类型],业务范围:[业务范围],法人代表:<IIF([@团体代表,身份] Like "*法人*", [@团体代表,姓名], "")>

现在希望“法人代表:”后面显示的是:B表(团体代表)关联记录中[身份]包含“法人”的记录的[姓名]列内容。

红色部分是我试着写的表达式,但是不成功,请大师指教应该如何改,或者应该怎么写这个表达式才能实现我的目的。

在线等!谢谢!!




--  作者:有点甜
--  发布时间:2015/2/6 15:13:00
--  

  子表的引用,必须加上序号

 

<IIF([@团体代表,身份,1] Like "*法人*", [@团体代表,姓名,1], "")>

<IIF([@团体代表,身份,2] Like "*法人*", [@团体代表,姓名,2], "")>

<IIF([@团体代表,身份,3] Like "*法人*", [@团体代表,姓名,3], "")>


--  作者:Bin
--  发布时间:2015/2/6 15:14:00
--  
<IIF([@团体代表,身份,1] Like "%法人%", [@团体代表,姓名,1], "")>
还是不行,到团体代表 表.增加一个辅助列

在DataColChanged事件中 加入代码
if e.datacol.name= "身份" then
       e.datarow("辅助列")=e.datarow(e.datacol.name).Contains("法人")
end if

然后表达式

<IIF([@团体代表,辅助列,1] [@团体代表,姓名,1], "")>
[此贴子已经被作者于2015-2-6 15:15:06编辑过]

--  作者:天下堂主
--  发布时间:2015/2/6 15:35:00
--  
还是不行,Bin给出了个主意:

到 团体代表 表.增加一个辅助列

在DataColChanged事件中 加入代码
if e.datacol.name= "身份" then
       e.datarow("辅助列")=e.datarow(e.datacol.name).Contains("法人")
end if

然后表达式

<IIF([@团体代表,辅助列,1[@团体代表,姓名,1], "")>

这样就好了。虽然没有解决问题,但还是谢谢你!

--  作者:天下堂主
--  发布时间:2015/2/6 15:36:00
--  
解决了。非常感谢!!