📄 printreport.bas
字号:
Attribute VB_Name = "PrintReport"
'***************************说明***************************************************************
'*此处是报表打印的所有内容 *
'*实现打印办件通知单,收费通知单,办件查询报表等等打印功能的实现 *
'*现在所有的报表和证书都作成模版的形式这样便于修改 *
'*模版是以文件的形式存在扩展名是.rpx *
'*2003-07-16 dww am9:19 *
'*2003-08-04 dww am10:34进行了修改将所有的报表路径修改,报表文件存 *
'*放的目录在启动对象时已定义了,存放在reportFileDirectory的全局变量 *
'*中,这样做便于将来的更新操作, 将来更新时只需将在启动对象中路径修 *
'*改就可以了。 *
'**********************************************************************************************
Dim rptdata As ADODB.Recordset
'实现收费通知单,办件通知单的打印和预览
Public Sub createReportDataSourceAndShow(in_sReportData() As String, in_sReportType As String, in_TransactionTZDSpecialNeed As String, in_ChargTZDSpecialNeed As String)
Dim reportFilePath As String
Select Case in_sReportType
Case "收费通知单"
'在处理卫生局时收费通知单有特殊需要主要是健康证
'==================================================================
'其中reportFileDirecrory为全局变量在Submain中定义
'reportFilePath = reportFileDirectory + "\TransactionChargeTongZhiD.rpx"
'===================================================================
Select Case in_ChargTZDSpecialNeed
Case "0"
reportFilePath = reportFileDirectory + "\41010500004\TransactionChargeTongZhiD.rpx"
Case "1"
reportFilePath = reportFileDirectory + "\41010500004\TransactionChargeTongZhiDKindofOne.rpx"
End Select
Set rptdata = CreateObject("ADODB.Recordset")
rptdata.Fields.Append "受理号", adChar, 16
rptdata.Fields.Append "申办单位", adChar, 50
rptdata.Fields.Append "申办项目", adChar, 70
rptdata.Fields.Append "应缴纳费用", adChar, 20
rptdata.Fields.Append "受理单位", adChar, 20
rptdata.Fields.Append "受理人", adChar, 10
rptdata.Fields.Append "日期", adChar, 10
rptdata.Fields.Append "收费单标题", adChar, 50
rptdata.Open
rptdata.AddNew
rptdata.Fields("受理号") = in_sReportData(0, 0)
rptdata.Fields("申办单位") = in_sReportData(0, 1)
rptdata.Fields("申办项目") = in_sReportData(0, 2)
rptdata.Fields("应缴纳费用") = in_sReportData(0, 3)
rptdata.Fields("受理单位") = in_sReportData(0, 4)
rptdata.Fields("受理人") = in_sReportData(0, 5)
rptdata.Fields("日期") = in_sReportData(0, 6)
rptdata.Fields("收费单标题") = in_sReportData(0, 7)
rptdata.Update
If Dir(reportFilePath) <> "" Then
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rptdata
ActiveReportDZ.LoadLayout (reportFilePath)
'---------------------------------------------------------------
ActiveReportDZ.PrintReport False
'---------------------------------------------------------------
Unload ActiveReportDZ
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
Set rptdata = Nothing
Case "办件通知单"
If in_TransactionTZDSpecialNeed = "1" Then
'-----------------------------------------------------------------
'处理文化新闻出版管理局个别项目的的办件通知单的显示问题2004-1-29 dww pm16:10
Set rptdata = CreateObject("ADODB.Recordset")
rptdata.Fields.Append "标题", adChar, 100
rptdata.Fields.Append "申报单位", adChar, 50
rptdata.Fields.Append "受理号", adChar, 16
rptdata.Fields.Append "申报项目", adChar, 70
rptdata.Fields.Append "收件时间", adChar, 20
rptdata.Fields.Append "推迟时间", adChar, 20
rptdata.Fields.Append "承诺时间", adChar, 20
rptdata.Fields.Append "负责人", adChar, 20
rptdata.Fields.Append "经办人", adChar, 20
rptdata.Fields.Append "日期", adChar, 20
rptdata.Fields.Append "窗口电话", adChar, 20
rptdata.Open
rptdata.AddNew
'-----------------------------------------------------------------
'此处进行修改,暂时这样处理。为了程序具有灵活性需要完善2003-10-15 dww pm17:40
rptdata.Fields("标题") = in_sReportData(0, 0)
rptdata.Fields("申报单位") = in_sReportData(0, 1)
rptdata.Fields("受理号") = in_sReportData(0, 2)
rptdata.Fields("申报项目") = in_sReportData(0, 3)
rptdata.Fields("收件时间") = in_sReportData(0, 4)
rptdata.Fields("推迟时间") = ""
rptdata.Fields("承诺时间") = "3"
rptdata.Fields("负责人") = in_sReportData(0, 9)
rptdata.Fields("经办人") = in_sReportData(0, 10)
rptdata.Fields("日期") = in_sReportData(0, 11)
rptdata.Fields("窗口电话") = in_sReportData(0, 12)
'-------------------------------------------------------------------
rptdata.Update
'===================================================================
reportFilePath = reportFileDirectory + "\41010500004\TransactionTongZhiDTwoKindofWHCBGLJ.rpx"
'===================================================================
If Dir(reportFilePath) <> "" Then
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rptdata
ActiveReportDZ.LoadLayout (reportFilePath)
'---------------------------------------------------------------
'在打印办件通知单和收费通知单时,单击按钮后直接打印。实现较简单就是将要调用
'活动报表的2003-12-31 dww pm18:28
'---------------------------------------------------------------
ActiveReportDZ.PrintReport False
Unload ActiveReportDZ
'----------------------------------------------------------------
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
Set rptdata = Nothing
Else
Set rptdata = CreateObject("ADODB.Recordset")
rptdata.Fields.Append "标题", adChar, 100
rptdata.Fields.Append "申报单位", adChar, 50
rptdata.Fields.Append "受理号", adChar, 16
rptdata.Fields.Append "申报项目", adChar, 70
rptdata.Fields.Append "收件时间", adChar, 20
rptdata.Fields.Append "开始时间", adChar, 20
rptdata.Fields.Append "结束时间", adChar, 20
rptdata.Fields.Append "承诺时间", adChar, 20
rptdata.Fields.Append "领件时间", adChar, 20
rptdata.Fields.Append "负责人", adChar, 20
rptdata.Fields.Append "经办人", adChar, 20
rptdata.Fields.Append "日期", adChar, 20
rptdata.Fields.Append "窗口电话", adChar, 20
rptdata.Open
rptdata.AddNew
rptdata.Fields("标题") = Trim(in_sReportData(0, 0))
rptdata.Fields("申报单位") = Trim(in_sReportData(0, 1))
rptdata.Fields("受理号") = Trim(in_sReportData(0, 2))
rptdata.Fields("申报项目") = Trim(in_sReportData(0, 3))
rptdata.Fields("收件时间") = Trim(in_sReportData(0, 4))
rptdata.Fields("开始时间") = Trim(in_sReportData(0, 5))
rptdata.Fields("结束时间") = Trim(in_sReportData(0, 6))
rptdata.Fields("承诺时间") = Trim(in_sReportData(0, 7))
rptdata.Fields("领件时间") = Trim(in_sReportData(0, 8))
rptdata.Fields("负责人") = Trim(in_sReportData(0, 9))
rptdata.Fields("经办人") = Trim(in_sReportData(0, 10))
rptdata.Fields("日期") = Trim(in_sReportData(0, 11))
rptdata.Fields("窗口电话") = Trim(in_sReportData(0, 12))
rptdata.Update
'===================================================================
reportFilePath = reportFileDirectory + "\41010500004\TransactionTongZhiD.rpx"
'===================================================================
If Dir(reportFilePath) <> "" Then
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rptdata
ActiveReportDZ.LoadLayout (reportFilePath)
'---------------------------------------------------------------
'在打印办件通知单和收费通知单时,单击按钮后直接打印。实现较简单就是要调用
'活动报表的PrintReport方法2003-12-31 dww pm18:28
'---------------------------------------------------------------
ActiveReportDZ.PrintReport False
Unload ActiveReportDZ
'----------------------------------------------------------------
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
End If
Set rptdata = Nothing
End If
End Select
End Sub
'实现办件查询报表的打印和预览
'此函数的功能是创建一个报表数据源并且显示出来
'此报表是办件查询报表统计某个时间段某个人员某个项目的基本情况
'其中报表标题是动态变化的数据也时动态变化的只有报表尾是固定显示
'2003-07-14 dww am10:13
Public Sub createReportTransactionQueryDataSourceAndShow(in_sReportData() As String, in_sReportCaption As String, in_sReportTotal As String, in_sReportTotalPerson As String, in_sReportTotalDate As String)
Dim i As Integer
Dim reportFilePath As String
'===================================================================
reportFilePath = reportFileDirectory + "\41010500004\TransactionQueryReport.rpx"
'===================================================================
Set rptdata = CreateObject("ADODB.Recordset")
'报表标题
rptdata.Fields.Append "标题", adChar, 100
'报表中间部分
rptdata.Fields.Append "受理号", adChar, 16
rptdata.Fields.Append "项目名称", adChar, 60
rptdata.Fields.Append "申报单位", adChar, 50
rptdata.Fields.Append "办件类型", adChar, 6
rptdata.Fields.Append "承诺时限", adChar, 16
rptdata.Fields.Append "申报日期", adChar, 10
rptdata.Fields.Append "结束日期", adChar, 10
rptdata.Fields.Append "已办理", adChar, 2
'报表表尾
rptdata.Fields.Append "合计", adChar, 4
rptdata.Fields.Append "统计员", adChar, 10
rptdata.Fields.Append "日期", adChar, 10
'添加报表数据
rptdata.Open
For i = 0 To UBound(in_sReportData, 1) - 1
rptdata.AddNew
'报表标题数据
rptdata.Fields("标题") = in_sReportCaption
'报表中间部分数据
rptdata.Fields("受理号") = in_sReportData(i, 0)
rptdata.Fields("项目名称") = in_sReportData(i, 1)
rptdata.Fields("申报单位") = in_sReportData(i, 2)
rptdata.Fields("办件类型") = in_sReportData(i, 3)
rptdata.Fields("承诺时限") = in_sReportData(i, 4)
rptdata.Fields("申报日期") = in_sReportData(i, 5)
rptdata.Fields("结束日期") = in_sReportData(i, 6)
rptdata.Fields("已办理") = in_sReportData(i, 7)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -