以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于打印按钮的条件判断的代码,如何修改呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32829) |
-- 作者:狐来江湖 -- 发布时间:2013/5/9 6:41:00 -- 关于打印按钮的条件判断的代码,如何修改呢? 在应用程序里设计了一个按钮,用于打印销售单明细小票,设置了如下代码: For Each r As Row In Tables("xsdhz.xsdmx").Rows If r.Isnull("xssl") Or r.Isnull("ssj") Then MessageBox.show("单据明细部分为空,不能打印!") Return Else Dim Book As New XLS.Book(ProjectPath & "Attachments\\xsd1.xls") Dim fl As String = ProjectPath & "Reports\\xsd1.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Verb = "Print" \'指定动作 Proc.Start() End If Next 因为想在打印前做一个判断,如果单据明细某几项为空的话,就不启动打印,所以使用了for each ..... next语句,可是应用发现如果有两条以上的明细的话,打印按钮会执行2次以上。
这个代码怎么修改呢? 请老师帮忙! |
-- 作者:don -- 发布时间:2013/5/9 6:47:00 -- For Each r As Row In Tables("xsdhz.xsdmx").Rows If r.Isnull("xssl") Or r.Isnull("ssj") Then MessageBox.show("单据明细部分为空,不能打印!") Return Next Dim Book As New XLS.Book(ProjectPath & "Attachments\\xsd1.xls") Dim fl As String = ProjectPath & "Reports\\xsd1.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Verb = "Print" \'指定动作 Proc.Start() [此贴子已经被作者于2013-5-9 6:48:07编辑过]
|
-- 作者:狐来江湖 -- 发布时间:2013/5/9 7:04:00 -- 哦,原来是把部分代码拿出来,放在循环外边。谢谢谢谢 |