以文本方式查看主题

-  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=173206)

--  作者:Liuxinyu
--  发布时间:2021/11/18 17:29:00
--  [求助] 打印单据
请教大师:
按下面的代码打印单据,仅单据数量与选择行相符,但是单据号都是第一张的单据号,全部单据内容相同,需要如何修正?

Dim tb As Table = Tables("存货账")
For nr As Integer = tb.TopRow To tb.BottomRow
    Dim r As Row = tb.Current
    Dim chk As WinForm.CheckBox = Forms("存货明细").Controls("CheckBox2")
    Dim sq As String = "[出入类型] = \'" & r("出入类型") & "\' AND [单据号] = \'" & r("单据号") & "\'"
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\采购入库单.xls")
    Dim fl As String = ProjectPath & "Reports\\采购单.xls"
    book.AddDataTable("存货账","ERP","Sel ect * from {存货账} where " & sq)
    Book.Build()
    Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行
    Book.Sheets(0).PrintSetting.CenterVertical = True
    Book.Sheets(0).PrintSetting.CenterHorizontal = True
    \'Book.Sheets(0).PrintSetting.PrintHeaders = True
    Book.Save(fl)
    Dim Proc As New Process
    Proc.File = fl
    If chk.Checked Then
        Proc.Verb = "Print" \'指定动作
    End If
    Proc.Start()
Next

tb.Focus
Return "OK"

--  作者:有点蓝
--  发布时间:2021/11/18 17:37:00
--  
Dim tb As Table = Tables("存货账")
For nr As Integer = tb.TopRow To tb.BottomRow
    Dim r As Row = tb.rows(nr)

--  作者:Liuxinyu
--  发布时间:2021/11/19 14:04:00
--  
你好!将此条
Dim r As Row = tb.Current
更改为
Dim tb As Table = Tables("存货账")
For nr As Integer = tb.TopRow To tb.BottomRow
    Dim r As Row = tb.rows(nr)

结果仍然没有改变。还请提供解决方法

--  作者:有点蓝
--  发布时间:2021/11/19 14:55:00
--  
我测试没有问题,请上传实例说明
--  作者:Liuxinyu
--  发布时间:2021/11/19 18:45:00
--  
你好!
  我将上述过程放在函数中,每张单据的内容不同,但单据号码不变,如何解决?


案例:

[此贴子已经被作者于2021/11/22 8:48:11编辑过]

--  作者:有点酸
--  发布时间:2021/11/19 22:52:00
--  
没有道理不行啊, 做个例子发上来测试吧
--  作者:Liuxinyu
--  发布时间:2021/11/22 15:14:00
--  
附件上传后,怎么没有显示
--  作者:有点蓝
--  发布时间:2021/11/22 15:24:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

多试几次直到输入框有上传的链接,另外注意单个文件不能超过2M

--  作者:Liuxinyu
--  发布时间:2021/11/23 19:28:00
--  [求助] 打印单据
示例
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单据打印案例.zip


--  作者:有点蓝
--  发布时间:2021/11/23 20:54:00
--  
2个问题
1、模板使用了直接引用的用法(http://www.foxtable.com/webhelp/topics/1395.htm),这种用法仅适用已经加载的表格,取的是已经加载的表格的数据,和后台数据无关
2、这种模板,不适合单表的输出,会有问题的。应该是关联表的方式,类似这种:http://www.foxtable.com/webhelp/topics/0204.htm。页首行和页尾行应该是从父表取数据