📄 printreport.bas
字号:
Exit Sub
End If
End Sub
'实现收办件统计报表的打印和预览也即进行收办件统计时产生的报表
'此函数的功能是创建一个报表数据源并且显示出来
'此报表是收办件统计报表统计某个时间段的某个人员的收办件统计信息如:
'受理单位,申报项目,办件类型,收件数,办结数
'其中报表标题是动态变化的数据也是动态变化的只有报表尾是固定显示
'2003-07-18 dww pm15:51
Public Sub createReportShouBanJianInfoDataSourceAndShow(in_sReportData() As String, in_sReportCaption As String, in_sReportTotalSJ As String, in_sReportTotalBJ As String, in_sReportPerson As String, in_sReportToalDate As String)
Dim i As Integer
Dim reportFilePath As String
'===================================================================
'其中reportFileDirecrory为全局变量在Submain中定义
reportFilePath = reportFileDirectory + "\41010500004\TransactionTotalAndBJLReport.rpx"
'===================================================================
Set rptdata = CreateObject("ADODB.Recordset")
'报表标题
rptdata.Fields.Append "标题", adChar, 100
'报表中间部分
rptdata.Fields.Append "受理单位", adChar, 30
rptdata.Fields.Append "申报项目", adChar, 60
rptdata.Fields.Append "办件类型", adChar, 10
rptdata.Fields.Append "收件数", adChar, 10
rptdata.Fields.Append "办结数", adChar, 10
'在原来的基础上加上一个办结率字段特别提示:2003-07-22 dww pm18:55
'在这里统计办结率是不科学的意义不太大先这样处理吧
rptdata.Fields.Append "办结率", adChar, 10
rptdata.Fields.Append "合计收件", adChar, 10
rptdata.Fields.Append "合计办结", adChar, 10
'在原来的基础上加上一个合计办结率字段特别提示:2003-07-22 dww pm18:55
'在这里统计办结率是不科学的意义不太大先这样处理吧
rptdata.Fields.Append "合计率", adChar, 10
'报表表尾
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_sReportTotalSJ
rptdata.Fields("合计办结") = in_sReportTotalBJ
rptdata.Fields("合计率") = FormatPercent(Val(in_sReportTotalBJ) / Val(in_sReportTotalSJ))
'报表尾部数据
rptdata.Fields("统计员") = in_sReportPerson
rptdata.Fields("日期") = in_sReportToalDate
rptdata.Update
Next i
rptdata.MoveFirst
If Dir(reportFilePath) <> "" Then
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rptdata
ActiveReportDZ.LoadLayout (reportFilePath)
ActiveReportDZ.Show
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
End Sub
'实现退办件信息统计报表的打印和预览
'此函数的功能是创建一个报表数据源并且显示出来
'此报表是退办件报表统计办件表中所有的退办件
'其中报表标题是动态变化的数据也时动态变化的只有报表尾是固定显示
'2003-07-23 dww am10:13
Public Sub createReportTransactionTBJDataSourceAndShow(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
'===================================================================
'其中reportFileDirecrory为全局变量在Submain中定义
reportFilePath = reportFileDirectory + "\41010500004\TransactionTBJReport.rpx"
'===================================================================
Set rptdata = CreateObject("ADODB.Recordset")
'报表标题
rptdata.Fields.Append "标题", adChar, 100
'报表中间部分
rptdata.Fields.Append "受理号", adChar, 16
rptdata.Fields.Append "窗口编号", adChar, 10
rptdata.Fields.Append "退办单位", adChar, 50
rptdata.Fields.Append "工作人员", adChar, 10
rptdata.Fields.Append "是否办理", adChar, 8
rptdata.Fields.Append "退办理由", adChar, 40
rptdata.Fields.Append "退办时间", adChar, 10
'报表表尾
rptdata.Fields.Append "合计", adChar, 20
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_sReportTotal + " 件"
rptdata.Fields("统计员") = in_sReportTotalPerson
rptdata.Fields("日期") = in_sReportTotalDate
rptdata.Update
Next i
rptdata.MoveFirst
If Dir(reportFilePath) <> "" Then
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rptdata
ActiveReportDZ.LoadLayout (reportFilePath)
ActiveReportDZ.Show
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
End Sub
'实现每个单位(如财政局)的报表打印预览功能
'在实际情况中每个单位要根据的自己的实际情况从采集的申请表信息取得有用的数据
'也就是要从申请表找到所要的数据后出报表,报表的格式有报表的模版决定,为此写
'下面的过程就是实现报表的打印和预浏览。
'2004-03-07 dww am11:38
Public Sub PrintViewDepartmentReportFromAppTab(in_AppTabName As String, in_TransactionTabName, in_ReportFileName As String, in_SQL As String)
Dim cN As ADODB.Connection
Dim rs As ADODB.Recordset
Dim reportFilePath As String
Dim reportFileOfDepartmentCode As String
'证书模板文件路径初始化以及CN和RS的初始化
reportFileOfDepartmentCode = frmShouJian.inDepartmentCode
reportFilePath = reportFileDirectory & "\" + reportFileOfDepartmentCode & "\" & in_ReportFileName
Set cN = New ADODB.Connection
Set rs = New ADODB.Recordset
cN.ConnectionString = frmShouJian.DBConectString
'[特别提醒]在从申请表中取数据时候,需要考虑一种情况,就是作废件的情况
'如果直接从申请表中去数据,将不能判断作废件,为此需要将申请表和办件表
'建立连接,然后从申请表中取得数据[SQl = "select * from " & in_TabName & in_SQL]
SQL = "SELECT * FROM " & in_TransactionTabName & " LEFT OUTER JOIN " & in_AppTabName & " on " & in_TransactionTabName & ".TransactionCode=" & in_AppTabName & ".受理号" & in_SQL
cN.Open
rs.Open SQL, cN, adOpenStatic, adLockReadOnly
'先卸载ActiveReportDZ对象然后装入,否则将会产生错误
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rs
If Not rs.EOF Then
If Dir(reportFilePath) <> "" Then
ActiveReportDZ.LoadLayout (reportFilePath)
ActiveReportDZ.Show
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
Else
MsgBox "未能取得报表所要的数据,请确认!", 48, "系统提示"
End If
Set rs = Nothing
End Sub
'实现每个单位(如财政局)的报表直接打印功能
'2004-03-07 dww pm16:49
Public Sub PrintDirectDepartmentReportFromAppTab(in_AppTabName As String, in_TransactionTabName, in_ReportFileName As String, in_SQL As String)
Dim cN As ADODB.Connection
Dim rs As ADODB.Recordset
Dim reportFilePath As String
Dim reportFileOfDepartmentCode As String
'证书模板文件路径初始化以及CN和RS的初始化
reportFileOfDepartmentCode = frmShouJian.inDepartmentCode
reportFilePath = reportFileDirectory & "\" + reportFileOfDepartmentCode & "\" & in_ReportFileName
Set cN = New ADODB.Connection
Set rs = New ADODB.Recordset
cN.ConnectionString = frmShouJian.DBConectString
'[特别提醒]在从申请表中取数据时候,需要考虑一种情况,就是作废件的情况
'如果直接从申请表中去数据,将不能判断作废件,为此需要将申请表和办件表
'建立连接,然后从申请表中取得数据[SQl = "select * from " & in_TabName & in_SQL]
SQL = "SELECT * FROM " & in_TransactionTabName & " LEFT OUTER JOIN " & in_AppTabName & " on " & in_TransactionTabName & ".TransactionCode=" & in_AppTabName & ".受理号" & in_SQL
cN.Open
rs.Open SQL, cN, adOpenStatic, adLockReadOnly
'先卸载ActiveReportDZ对象然后装入,否则将会产生错误
Unload ActiveReportDZ
Load ActiveReportDZ
ActiveReportDZ.DataControl1.Recordset = rs
If Not rs.EOF Then
If Dir(reportFilePath) <> "" Then
ActiveReportDZ.LoadLayout (reportFilePath)
ActiveReportDZ.PrintReport False
Unload ActiveReportDZ
Else
MsgBox "证件模板:" + reportFilePath + "不存在", 48, "系统提示"
Exit Sub
End If
Else
MsgBox "未能取得报表所要的数据,请确认!", 48, "系统提示"
End If
Set rs = Nothing
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -