⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crystalform.frm

📁 即时通讯
💻 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 + -