📄 crystalform.frm
字号:
VERSION 5.00
Object = "{8767A745-088E-4CA6-8594-073D6D2DE57A}#9.2#0"; "crviewer9.dll"
Begin VB.Form CrystalForm
Caption = "打印"
ClientHeight = 4140
ClientLeft = 60
ClientTop = 345
ClientWidth = 5205
LinkTopic = "Form1"
ScaleHeight = 4140
ScaleWidth = 5205
StartUpPosition = 3 '窗口缺省
WindowState = 2 'Maximized
Begin CRVIEWER9LibCtl.CRViewer9 CRViewer91
Height = 7000
Left = 0
TabIndex = 0
Top = 0
Width = 5800
lastProp = 500
_cx = 10231
_cy = 12347
DisplayGroupTree= 0 'False
DisplayToolbar = -1 'True
EnableGroupTree = -1 'True
EnableNavigationControls= -1 'True
EnableStopButton= -1 'True
EnablePrintButton= -1 'True
EnableZoomControl= -1 'True
EnableCloseButton= -1 'True
EnableProgressControl= -1 'True
EnableSearchControl= -1 'True
EnableRefreshButton= 0 'False
EnableDrillDown = -1 'True
EnableAnimationControl= 0 'False
EnableSelectExpertButton= 0 'False
EnableToolbar = -1 'True
DisplayBorder = 0 'False
DisplayTabs = -1 'True
DisplayBackgroundEdge= -1 'True
SelectionFormula= ""
EnablePopupMenu = -1 'True
EnableExportButton= 0 'False
EnableSearchExpertButton= 0 'False
EnableHelpButton= 0 'False
LaunchHTTPHyperlinksInNewBrowser= -1 'True
End
End
Attribute VB_Name = "CrystalForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'Dim Report As New CrystalReport1
Option Explicit
Private m_oApp As CRAXDRT.Application ' crystal reports 应用程序
Private m_oRpt As CRAXDRT.Report ' 打印报表对象
Private m_reportName As String ' 找印报表的名称
Private m_queryDAO As QueryDAO
Private m_recSet As ADODB.Recordset ' 数据集
Private Sub Form_Initialize()
Set m_oApp = New CRAXDRT.Application
Set m_recSet = New ADODB.Recordset
Set m_queryDAO = New QueryDAO
End Sub
Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set m_oApp = Nothing
Set m_recSet = Nothing
Set m_queryDAO = Nothing
End Sub
'**************************************
'* 功 能 描 述 :打印一个报表
'* 输 入 参 数 :reportName - 报表的名称
'* recordId - 打印的报表的记录的ID或记录ID列表
'* 输 出 能 数 :
'**************************************
Public Function PrintReport(reportName As String, _
recordId As String)
Screen.MousePointer = vbHourglass ' 沙漏
m_reportName = App.Path & "\resource\reports\" + reportName + ".rpt" ' 定义要引用的rpt文件
Set m_oRpt = m_oApp.OpenReport(m_reportName, 1)
' 根据报表的名称选择相应的处理函数
SelectPrintReport reportName, recordId
' 显示报表的预览功能
CRViewer91.ReportSource = m_oRpt ' 启用水晶报表的预览功能
CRViewer91.ViewReport
Screen.MousePointer = vbDefault ' 正常状态
End Function
' ===============================以下为做报表时要修改的地方==================================
'
'**************************************
'* 功 能 描 述 :修改这里的报表选择列表,并新增读取数据的函数
'* 输 入 参 数 :
'* 输 出 能 数 :
'**************************************
Private Function SelectPrintReport(reportName As String, _
recordId As String)
Select Case reportName
Case "EMPLOYEECARD" ' 打印员工证
PrintEmployeeCard recordId
Case "外协生产单" ' 打印外协生产单
PrintCooperate recordId
Case "采购退货" ' 打印采购退货
PrintBackGoods recordId
Case "采购订单" ' 打印采购订单
PrintStockOrder recordId
Case "采购入库订单" ' 打印采购入库订单
PrintStockStore recordId
Case "外协索赔单" ' 打印外协索赔单
PrintCooperateCounterclaim recordId
Case "外协发料单" ' 打印外协发料单
Printcooperatedrowmater recordId
Case "外协完工单" ' 打印外协完工单
PrintcooperateFinish recordId
Case "外协报损单" ' 打印外协报损单
PrintcooperateLoss recordId
Case "外协返工单" ' 打印外协返工单
PrintcooperateRedo recordId
Case "质量检验" ' 打印质量检验
PrintCheckRecord recordId
Case "生产完工单" ' 打印生产完工单
PrintProduceFinish recordId
Case "生产领料" ' 打印生产领料
PrintProduceDrawMaterial recordId
Case "生产计划单" ' 打印生产计划单
PrintProduce recordId
Case Else ' 报表不存在
MainForm.g_msgText = "打印的报表不存在,请确认后重试!"
HMsgBox MainForm.g_msgText, 0, 1
End Select
End Function
Private Function PrintEmployeeCard(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_Employee " + _
"WHERE EmployeeID IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintCooperate(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_Cooperate " + _
"WHERE cooperateId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintBackGoods(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_BACKGOODS " + _
"WHERE backgoodsid IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintStockOrder(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_StockOrder " + _
"WHERE stockorderid IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintStockStore(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_STOCKSTORE " + _
"WHERE stockstoreid IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintCooperateCounterclaim(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CooperateCounterclaim " + _
"WHERE cooperateCounterclaimId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function Printcooperatedrowmater(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CooperateDrawMaterial " + _
"WHERE cdmId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintcooperateFinish(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CooperateFinish " + _
"WHERE finishId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintcooperateLoss(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CooperateLoss " + _
"WHERE lossId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintcooperateRedo(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CooperateRedo " + _
"WHERE cooperateRedoId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintCheckRecord(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_CheckRecord " + _
"WHERE checkRecordId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintProduceFinish(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_ProduceFinish " + _
"WHERE finishId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintProduceDrawMaterial(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_ProduceDrawMaterial " + _
"WHERE produceDrawID IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
m_recSet.Close
End Function
Private Function PrintProduce(recordId As String)
Dim sql As String ' 查询语句
Dim ret As Boolean
' 构造查询语句
sql = "SELECT * FROM VIEW_RPT_Produce " + _
"WHERE produceId IN (" + recordId + ")"
' 执行查询操作
ret = m_queryDAO.ExecuteQuery(m_recSet, sql)
m_oRpt.Database.SetDataSource m_recSet '连接水晶报表和数据源
m_oRpt.ReadRecords
' m_recSet.Close
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -