Dim Arys As List(Of String)
Arys = DataTables("退休慰问费").GetUniqueValues("", "慰问单位")
For Each Ary As String In Arys
With Tables("退休慰问费")
.Filter = "[是否停发] = False"
If .Rows.Count = 0 then
Continue for
End If
.Select(0,0,.Rows.Count -1,.Cols.Count -1)
Dim Book As New XLS.Book(ProjectPath & "Attachments\慰问费.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build()
Book.Save(ProjectPath & "Reports\慰问费.xls")
Dim Proc As New Process
Proc.File = ProjectPath & "Reports\慰问费.xls"
proc.Verb = "Print"
Proc.Start()
End With
Next
Tables("退休慰问费").Filter = ""
求教以上代码为何不能按各单位+各单位人员打印报表?而是所有报表各单位+全体人员打印出来?
另求更完美的代码
[此贴子已经被作者于2010-1-20 23:49:32编辑过]
以下是引用mr725在2010-1-20 23:45:00的发言:
Tables("退休慰问费").Filter = "[是否停发] = False and [单位] = '" & Ary & "'"
谢谢,说明里没有实例,所以没法真正理解For Each ……Next
看EXCEL的分组报表
[此贴子已经被作者于2010-1-21 0:48:04编辑过]
以下是引用yangming在2010-1-21 0:30:00的发言:看EXCEL的分组报表
[此贴子已经被作者于2010-1-21 0:48:04编辑过]
杨版,分组报表简单实用,按钮代码也简单,但在有多地方却不适合
比如我们慰问费里的部门多,人数更多(少的几十、多的上百), 在分组报表里<index> 是整体序号,而非分组序号,这时就不能用<index>(虽然这样的报表本无人数上的错误,可做为财务人员,他们一定会要的,其实对于我们在以后查询也不方便)
[此贴子已经被作者于2010-1-21 9:30:54编辑过]