以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]报表套打问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=195795)

--  作者:roc_hu
--  发布时间:2025/3/9 13:07:00
--  [求助]报表套打问题
[求助]报表套打问题
临时表中,实现每行调用不同报表模版套打,这个是否有一些案例,请教下老师,大神们。

--  作者:roc_hu
--  发布时间:2025/3/9 16:43:00
--  [求助]套打时候,word模版的流水号怎么实现
套打时候,word模版的流水号怎么实现
--  作者:roc_hu
--  发布时间:2025/3/9 16:46:00
--  
Dim drs As List(of DataRow) = DataTables("出库").Select("出库日期 = #" & Date.Today & "#") \'筛选出符合条件的行
If
drs.Count > 0 Then \'如果存在符合条件的行
    Dim
tm As String  = ProjectPath & "Attachments\\出库单.doc" \'指定模板文件
    Dim
fl As String = ProjectPath & "Reports\\出库单.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

但是这个模版,我怎么先匹配出临时表中的 模版号,对应选出指定模版,再进行套打,上述代码需要怎么优化?


--  作者:roc_hu
--  发布时间:2025/3/9 17:18:00
--  
问题已经解决
--  作者:roc_hu
--  发布时间:2025/3/9 17:18:00
--  
以下是引用roc_hu在2025/3/9 16:43:00的发言:
套打时候,word模版的流水号怎么实现


流水号还没有解决


--  作者:有点蓝
--  发布时间:2025/3/9 20:35:00
--  
什么流水号?截图说明一下
--  作者:roc_hu
--  发布时间:2025/3/15 10:22:00
--  [求助]报表生成问题
图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2025/3/15 10:33:00
--  
1、没看懂

2、使用流水号更改保存的名称即可

Dim fl As String = ProjectPath & "Reports\\" & dr("流水号") &".doc" \'指定目标文件

--  作者:roc_hu
--  发布时间:2025/3/15 19:41:00
--  
1.逻辑是:当【拆分】列的值是Y时候, 那么系统自动新增这一整行的信息,并[流水编码]填写为FC001-1

寄如表中第一行【拆分】列值为Y,系统新增一行复制这行的信息,[流水编码]填写为FC001-1
--  作者:有点蓝
--  发布时间:2025/3/16 19:52:00
--  
没有办法在报表里实现新增一行的这种功能。

只能在Foxtable的表格里实现,试试

Dim drs As List(of DataRow) = DataTables("出库").Select("出库日期 = #" & Date.Today & "#"\'筛选出符合条件的行
If 
drs.Count > 0 Then \'如果存在符合条件的行
    Dim 
tm As String  = ProjectPath & "Attachments\\出库单.doc" \'指定模板文件
    Dim 
fl As String = ProjectPath & "Reports\\出库单.doc" \'指定目标文件
    Dim 
wrt As New WordReport(Tables("出库"),tm,fl\'定义一个WordReport
Dim  dr2 As DataRow
    For Each 
dr As DataRow In drs \'逐行生成报表
        wrt.BuildOne(dr)
if dr("拆分")="Y" then
dr2 = DataTables("出库").addnew
    For Each dc As DataCol in DataTables("出库").DataCols
        dr2(dc.Name) = dr(dc.name)
    
Next
dr2("流水编码") = dr("流水编码") & "-1"
wrt.BuildOne(dr2)
dr2.delete
end if
    Next
    
wrt.Show() \'显示报表
End If