以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]条件输出word报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=118420)

--  作者:witkeylaw
--  发布时间:2018/5/2 15:45:00
--  [求助]条件输出word报表
有2个表

表1:员工信息表

姓名 身份证号码
张三 1233333312121366
李四 5121313131313323
王五 6546465465464646

表2:特种作业证

姓名 证件类型 图片
张三 电工证 张三_1.jpg
李四 高空证 李四_2.jpg
王五 电工证 王五_1.jpg
王五 高空证 王五_2.jpg

表关联:姓名

word报表模版.doc在表1:员工信息表

[姓名]
[@&特种作业证,图片,1,480,330]
[@&特种作业证,图片,2,480,330]

问题:
请问,word报表如何只输出电工证的记录,需要用到专业报表吗。
[此贴子已经被作者于2018/5/2 15:49:30编辑过]

--  作者:有点甜
--  发布时间:2018/5/2 15:48:00
--  

写代码处理

 

http://www.foxtable.com/webhelp/scr/2890.htm

 


--  作者:witkeylaw
--  发布时间:2018/5/2 15:53:00
--  
mark 示例二。

谢谢。

--  作者:witkeylaw
--  发布时间:2018/5/2 17:13:00
--  
Dim drs As List(of DataRow) = DataTables("特种作业证").Select("证件类别 = \'电工证\'") \'筛选出符合条件的行
If drs.Count > 0 Then \'如果存在符合条件的行
    Dim tm As String  = ProjectPath & "Attachments\\word报表模版.doc" \'指定模板文件
    Dim fl As String = ProjectPath & "Reports\\word报表模版.doc" \'指定目标文件
    Dim wrt As New WordReport(Tables("员工信息"),tm,fl) \'定义一个WordReport
    For Each dr As DataRow In drs \'逐行生成报表
        wrt.BuildOne(dr)
    Next
    wrt.Show() \'显示报表
End If

未能实现,再研究一下。

--  作者:有点甜
--  发布时间:2018/5/2 17:19:00
--  
1、模板不需要使用【员工信息表】,直接对【特种作业证】表设计模板;
 
2、代码
 
Dim drs As List(of DataRow) = DataTables("特种作业证").Select("证件类别 = \'电工证\'") \'筛选出符合条件的行
If drs.Count > 0 Then \'如果存在符合条件的行
    Dim tm As String  = ProjectPath & "Attachments\\word报表模版.doc" \'指定模板文件
    Dim fl As String = ProjectPath & "Reports\\word报表模版.doc" \'指定目标文件
    Dim wrt As New WordReport(Tables("特种作业证"),tm,fl) \'定义一个WordReport
    For Each dr As DataRow In drs \'逐行生成报表
        wrt.BuildOne(dr)
    Next
    wrt.Show() \'显示报表
End If

--  作者:witkeylaw
--  发布时间:2018/5/2 17:31:00
--  
楼上的代码是明白的,但是不是想要的效果,迟些再弄个项目说明一下。