Foxtable(狐表)用户栏目专家坐堂 → 关于打印按钮的条件判断的代码,如何修改呢?


  共有4566人关注过本帖树形打印复制链接

主题:关于打印按钮的条件判断的代码,如何修改呢?

帅哥哟,离线,有人找我吗?
狐来江湖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望:0 精华:0 注册:2012/6/1 6:39:00
关于打印按钮的条件判断的代码,如何修改呢?  发帖心情 Post By:2013/5/9 6:41:00 [只看该作者]

在应用程序里设计了一个按钮,用于打印销售单明细小piao,设置了如下代码:

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By: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

      End If

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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐来江湖
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:244 积分:2157 威望:0 精华:0 注册:2012/6/1 6:39:00
  发帖心情 Post By:2013/5/9 7:04:00 [只看该作者]

哦,原来是把部分代码拿出来,放在循环外边。谢谢谢谢

 回到顶部