以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打印选中记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118436)

--  作者:nxqtxwz
--  发布时间:2018/5/2 20:48:00
--  打印选中记录
 老师您好,我想在窗口绑定的表中,先筛选出符合条件的记录,然后通过.Showcheckbox选中需要打印的记录,点击窗口上的打印按钮打印,请问这个代码怎么写呢。
--  作者:有点甜
--  发布时间:2018/5/2 21:32:00
--  

在哪里打印?打印什么报表?

 

如果是excel模板,合成条件,然后设置进去 http://www.foxtable.com/webhelp/scr/2626.htm

 


--  作者:nxqtxwz
--  发布时间:2018/5/2 22:25:00
--  

老师,我想在设计的窗口中打印,已经筛选出了想要某一类记录,想在这些筛选出的记录中,通过选择,选出要打印的记录,点打印按钮打印。是用excel 打印的。


--  作者:有点甜
--  发布时间:2018/5/2 22:36:00
--  
合成条件,设置进去 http://www.foxtable.com/webhelp/scr/2626.htm

 

Dim t As Table = Tables("表A")
Dim filter As String = "1=2"
For Each r As Row In t.GetCheckedRows
    filter &= " or [_Identify] = " & r("_Identify")
Next
msgbox(filter)


--  作者:nxqtxwz
--  发布时间:2018/5/2 23:06:00
--  
以下是引用有点甜在2018/5/2 22:36:00的发言:
合成条件,设置进去 http://www.foxtable.com/webhelp/scr/2626.htm

 

Dim t As Table = Tables("表A")
Dim filter As String = "1=2"
For Each r As Row In t.GetCheckedRows
    filter &= " or [_Identify] = " & r("_Identify")
Next
msgbox(filter)

老师好,请问和下面的代码合并应该如何写代码呢?

Dim txt As String = e.Form.Controls("ComboBox1").Text
Dim tbl As Table = Tables("打印审批表_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "采购方式 Like " & txt
End If
Tables("物品申报").ShowCheckBox=True


--  作者:有点甜
--  发布时间:2018/5/2 23:32:00
--  

打印代码

 

Dim t As Table = Tables("表A")
Dim filter As String = "1=2"
For Each r As Row In t.GetCheckedRows
    filter &= " or [_Identify] = " & r("_Identify")
Next
Dim Book As New XLS.Book(ProjectPath & "Attachments\\订单.xls") \'打开模板
Dim fl As String = ProjectPath & "Reports\\订单.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(3,9).Value = "<" & filter & ">"  \'写入打印条件
Book.Build() \'生成报表
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

[此贴子已经被作者于2018/5/2 23:32:01编辑过]

--  作者:nxqtxwz
--  发布时间:2018/5/3 11:53:00
--  

要想把下面的代码合并在一起怎么办呢?合并到打印代码中。

打印代码:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\采购审批表.xlsx")
Book.Build()
Book.Save(ProjectPath & "Reports\\采购审批表.xlsx")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xlsx"
Proc.Start()

筛选代码:

Dim txt As String = e.Form.Controls("ComboBox1").Text
Dim tbl As Table = Tables("打印审批表_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "采购方式 Like " & txt
End If


--  作者:有点甜
--  发布时间:2018/5/3 11:59:00
--  

直接写在一起就可以了,具体问题,请做一个实例发上来测试。

 

Dim txt As String = e.Form.Controls("ComboBox1").Text
Dim tbl As Table = Tables("打印审批表_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "采购方式 Like " & txt
End If


Dim Book As New XLS.Book(ProjectPath & "Attachments\\采购审批表.xlsx")
Book.Build()
Book.Save(ProjectPath & "Reports\\采购审批表.xlsx")
Dim Proc As New Process
Proc.File = "c:\\reports\\test.xlsx"
Proc.Start()


--  作者:nxqtxwz
--  发布时间:2018/5/3 14:44:00
--  

我设置把下面的代码放在打印按钮的事件中,但打印的记录还是要通过选择才行。能不有加个逻辑列,来控制要打印哪条记录呢。

 

Dim txt As String = e.Form.Controls("ComboBox1").Text
Dim tbl As Table = Tables("打印审批表_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "采购方式 Like " & txt
End If

Dim Book As New XLS.Book(ProjectPath & "Attachments\\采购审批表.xlsx")
Dim fl As String = ProjectPath & "Reports\\采购审批表.xlsx"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
\'Proc.Verb = "Print" \'指定动作
Proc.Start()


--  作者:有点甜
--  发布时间:2018/5/3 15:06:00
--  
具体问题,请做一个foxtable项目发上来测试。