以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  生产工艺卡的连续打印问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193882)

--  作者:朱女士
--  发布时间:2024/10/23 20:45:00
--  生产工艺卡的连续打印问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:202410230055.xls

老师您好!
  这几天我设计的生产工艺卡的连续打印问题一直困扰着我,还得请教老师。问题是这样的:
  我有一个“生产计划明细表”,表中主要有工作令号和条形码两个字段,条形码是图片形式。我是想手动选取工作令号,一个工作令号可能有n条条形码,在这些条形码中,我还要勾选“打印否”逻辑字段,用勾选的这些记录逐个生成生产工艺卡。我的目的是一张纸只能打印一个工艺卡,但如果我选三条记录就让它自动逐张连续打印三张生产工艺卡。
为此,我设计了一个窗口,我写的代码,有一个问题,在一张纸上打印两个工艺卡,第三张打印不了了。
Dim Result As DialogResult
Dim b As WinForm.TextBox= e.Form.Controls("TextBox1")
\'b.BackColor = Color.Red
Dim gzh As String = b.Value
Dim Filter As String
Filter = "工作令号=\'" & gzh & "\'and 打印否=1"
Tables("生产计划明细表").Filter = Filter
Dim mr As DataRow
mr = DataTables("生产计划明细表").Find("工作令号 = \'" & gzh & "\'")

 Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产工艺加工流程卡模板.xls")
Dim fl As String = ProjectPath & "Reports\\" & mr("清单条码编码") & ".xls"
book.AddDataTable("生产计划明细表", "亚中系统数据", "S elect * fr om {生产计划明细表} w here 工作令号 = \'" & gzh & "\' and 打印否=1 ") 
Book.Build() 
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()
请老师帮忙看看问题出在哪里?谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:_生产工艺加工流程卡模板.xls


--  作者:有点蓝
--  发布时间:2024/10/24 8:41:00
--  
输出完整sql,到后台数据库查询看有几条数据

output.show("Select * fr om {生产计划明细表} w here 工作令号 = \'" & gzh & "\' and 打印否=1 ")

另外,把原始模板发上来看看

--  作者:朱女士
--  发布时间:2024/10/24 9:34:00
--  
老师:上午好!
      我手动选择了三条记录,上述代码执行后,三条记录三条工艺卡内容一次预览输出,这里只用了一个文件名(注:只用了第一条记录的清单条码作为文件名),我想一条记录一个卡并且用选中的三条清单条码作为三个文件名存储,并且一张纸只打印一张。这个怎么实现?请指教!我现在将源代码,生成的excel表和原模板发给您!
Dim Result As DialogResult
Dim b As WinForm.TextBox= e.Form.Controls("TextBox1")
\'b.BackColor = Color.Red
Dim gzh As String = b.Value
Dim Filter As String
Filter = "工作令号=\'" & gzh & "\'and 打印否=1"
Tables("生产计划明细表").Filter = Filter
Dim mr As DataRow
mr = DataTables("生产计划明细表").Find("工作令号 = \'" & gzh & "\'")

 Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产工艺加工流程卡模板.xls")
Dim fl As String = ProjectPath & "Reports\\" & mr("清单条码编码") & ".xls"
book.AddDataTable("生产计划明细表", "亚中系统数据", "S elect * f rom {生产计划明细表} w here 工作令号 = \'" & gzh & "\' and 打印否=1 ") 
Book.Build() 
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

只能发模板,其它的不让发了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:_生产工艺加工流程卡模板.xls



--  作者:有点蓝
--  发布时间:2024/10/24 9:56:00
--  
book.AddDataTable是从后台取数据的,不管手动选择了多少条记录,如果没有保存,都和后台没有任何关系

上面上传的不是模板,麻烦把原始模板发上来。

--  作者:朱女士
--  发布时间:2024/10/24 10:03:00
--  
好的,谢谢老师!我的模块要求就是手动选取要打印的内容。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产工艺加工流程卡模板.xls



--  作者:有点蓝
--  发布时间:2024/10/24 10:14:00
--  
手动选取那就不要使用book.AddDataTable,去掉这行代码。

把这行也去掉:Tables("生产计划明细表").Filter = Filter,因为做筛选会导致所有选取失效

另外手动选取是鼠标拖选,还是勾选的?
[此贴子已经被作者于2024/10/24 10:15:21编辑过]

--  作者:朱女士
--  发布时间:2024/10/24 10:27:00
--  
想勾选
--  作者:朱女士
--  发布时间:2024/10/24 10:30:00
--  
如果拖拽的话,用select 语句?但是如果要打印的记录顺序不连续的话,就不好实现了吧
--  作者:有点蓝
--  发布时间:2024/10/24 10:39:00
--  
勾选参考这种:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=179135&skin=0

另外需要使用all打印所有:http://www.foxtable.com/webhelp/topics/0201.htm

--  作者:朱女士
--  发布时间:2024/10/24 13:45:00
--  
老师:您好!
  我按照您的指导意见,写的代码出现了错误信息,烦请再帮助一下。
Dim Result As DialogResult
Dim b As WinForm.TextBox = e.Form.Controls("TextBox1")
\'b.BackColor = Color.Red
Dim gzh As String = b.Value
Dim Book As New XLS.Book(ProjectPath & "Attachments\\生产工艺加工流程卡模板.xls")
Dim fl As String = ProjectPath & "Reports\\打印工艺卡.xls"
Dim s As String = ""
Dim rs As list(Of Row) = Tables("生产计划明细表").GetCheckedRows
If rs.count = 0 Then
msgbox("没有勾选")
Return
End If
For Each r As Row In Tables("生产计划明细表").GetCheckedRows
    s = s & "," & r("_Identify")
Next
s = s.Trim(",")
Tables("生产计划明细表").Filter = "[_Identify] in (" & s & ")"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
\'Proc.Verb = "Print" \'指定动作
Proc.Start()
我 选中的记录和错误信息请看图片。

图片点击可在新窗口打开查看此主题相关图片如下:打印卡2.jpg
图片点击可在新窗口打开查看


  单帖管理 引用 | 回复 | 编辑 | 回到顶部