以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多文件生成附件如何写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157666)

--  作者:wakai
--  发布时间:2020/10/24 23:17:00
--  多文件生成附件如何写
有两个按键生成PDF文件放在附件中,一个半成品报告、一个成品报告,下面代码任生成一个文件就会把前一个覆盖清除(后台文件没删除)
即先生成半成品报告,再按成品报告,附件列表中就只有成品报告,半成品报告没了
怎么做个判断,代码如下

半成品生成报告按钮
Dim c As WinForm.DateTimePicker = e.Form.Controls("报告日期")
Dim z As WinForm.ComboBox = e.Form.Controls("执行标准")
If c.Value=Nothing Then
    MessageBox.Show("请输入报告日期!")
    Return
ElseIf z.Value=Nothing Then
    MessageBox.Show("请选择执行标准!")
    Return
Else
    
    
    Dim Book As New XLS.Book(ProjectPath & "templets\\p\\半成品检验报告.xls")
    Dim r As Row = e.Form.controls("检验表").Table.Current
    Dim fl As String = "\\\\192.168.1.18\\$BPR$\\PG\\QC_CP\\" &r("检验编号")& "_" & r("批号")  & "半成品报告.pdf"    
Dim Sheet As XLS.Sheet = Book.Sheets(0)
    
    Relations.Add("成品报告关联",DataTables("成品报告编辑_检验表").DataCols("执行标准"),DataTables("成品报告编辑_检验标准").DataCols("执行标准"))
    Relations.Add("成品报告关联2",DataTables("成品报告编辑_检验表").DataCols("检验编号"),DataTables("产品检验_生产明细").DataCols("检验编号"))
Book.Build() \'生成细节区

Book.SaveToPDF(fl) \'保存为PDF文件
Dim Proc As New Process \'打开PDF文件
Proc.File = fl
Proc.Start()
    If Relations.Count > 0 Then
        Relations.Delete("成品报告关联")
        Relations.Delete("成品报告关联2")
    End If

r("附件") = r("检验编号")&  "_" &r("批号") & "半成品报告.pdf"
    
End If


成品报告生成铵钮
Dim c As WinForm.DateTimePicker = e.Form.Controls("报告日期")
Dim z As WinForm.ComboBox = e.Form.Controls("执行标准")
If c.Value=Nothing Then
    MessageBox.Show("请输入报告日期!")
    Return
ElseIf z.Value=Nothing Then
    MessageBox.Show("请选择执行标准!")
    Return
Else
    
    
    Dim Book As New XLS.Book(ProjectPath & "templets\\p\\成品检验报告.xls")
    Dim r As Row = e.Form.controls("检验表").Table.Current
    Dim fl As String = "\\\\192.168.1.18\\$BPR$\\PG\\QC_CP\\" &r("检验编号")& "_" & r("批号")  & "成品报告.pdf"    
Dim Sheet As XLS.Sheet = Book.Sheets(0)
    
    Relations.Add("成品报告关联",DataTables("成品报告编辑_检验表").DataCols("执行标准"),DataTables("成品报告编辑_检验标准").DataCols("执行标准"))
    Relations.Add("成品报告关联2",DataTables("成品报告编辑_检验表").DataCols("检验编号"),DataTables("产品检验_生产明细").DataCols("检验编号"))
Book.Build() \'生成细节区

Book.SaveToPDF(fl) \'保存为PDF文件
Dim Proc As New Process \'打开PDF文件
Proc.File = fl
Proc.Start()
    If Relations.Count > 0 Then
        Relations.Delete("成品报告关联")
        Relations.Delete("成品报告关联2")
    End If

r("附件") = r("检验编号")&  "_" &r("批号") & "成品报告.pdf"
    
End If
[此贴子已经被作者于2020/10/24 23:18:39编辑过]

--  作者:有点蓝
--  发布时间:2020/10/25 20:19:00
--  
r("附件") =iif(r.isnull("附件"),"",r("附件") & vbcrlf) & r("检验编号")&  "_" &r("批号") & "半成品报告.pdf"
----
r("附件") = iif(r.isnull("附件"),"",r("附件") & vbcrlf) &  r("检验编号")&  "_" &r("批号") & "成品报告.pdf"

--  作者:wakai
--  发布时间:2020/10/26 14:20:00
--  
可以了,谢谢蓝老师图片点击可在新窗口打开查看