Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:word报表问题

1楼
cd_tdh 发表于:2024/10/30 16:17:00
老师,我生多页word报表时,            
wrt.Replace("[负责人]", dr("姓名")) '用代码替换负责人,第1页替换掉了没问题,第2页还是用到了第1页的dr("姓名"),请看看代码逻辑那儿有问题?制单人和复核人估计也是这个问题,只是目前制单人是一个,看不出来。
Dim rs As List(Of Row) = Tables("投标保函费用管理").GetCheckedRows
If rs.Count > 0 Then '如果存在符合条件的行
    WaitShow() '打开加载进度
    Dim tm As String = ProjectPath & "Attachments\投标保函费用支付凭证.docx" '指定模板文件
    Dim fl1 As String = ProjectPath & "Reports\投标保函费用支付凭证.docx" '指定目标文件
    Dim fl2 As String = ProjectPath & "Reports\投标保函费用支付凭证.pdf" '指定目标PDF文件
    Dim wrt As New WordReport(Tables("投标保函费用管理"), tm, fl1) '定义一个WordReport
    For Each r As Row In rs '逐行生成报表
        Dim dr As DataRow = DataTables("分支机构管理").sqlFind("[所属机构] = '" & r("所属机构") & "'") 
        If dr IsNot Nothing Then
            wrt.Replace("[负责人]", dr("姓名")) '用代码替换负责人
        End If
        Dim dr1 As DataRow = DataTables("审核意见表").sqlFind("[审核部门] = '财务部制单' And [Id] = '" & r("Id") & "'")
        If dr1 IsNot Nothing Then
            wrt.Replace("[制单人]", dr1("审核人")) '用代码替换制单人
        End If
        Dim dr2 As DataRow = DataTables("审核意见表").sqlFind("[审核部门] = '财务部经理' And [Id] = '" & r("Id") & "'")
        If dr2 IsNot Nothing Then
            wrt.Replace("[复核人]", dr2("审核人")) '用代码替换复核人
        End If
        Dim dr3 As DataRow = DataTables("审核意见表").SQLFind("[表名称] = '" & "投标保函费用管理" & "' And [Id] = '" & r("Id") & "'", "审核日期 DESC")
        If dr3 IsNot Nothing Then
            wrt.ReplaceOne("[复核日期]", Format(dr3("审核日期"), "yyyy-MM-dd")) '用代码替换制单人
        End If
        wrt.BuildOne(r)
        r.Checked = False
    Next
    wrt.SaveToPDF(fl2) '保存为PDF文件
    wrt.Quit() '退出
    Dim Proc As New Process '打开PDF文件
    Proc.File = fl2
    Proc.Start()
    WaitClose() '关闭加载进度
Else
    MessageBox.Show("请先勾选你需要打印的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Return
End If
[此贴子已经被作者于2024/10/30 16:27:28编辑过]
2楼
cd_tdh 发表于:2024/10/30 16:31:00
找到问题了
wrt.Replace 改为 rt.ReplaceOne
共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.