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

📄 frmytjb.frm

📁 通用书店管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
            sqlstring = sqlstring & "group by t3.Datdate,t1.chrproduceType,t2.chrbooktype order by sum(t1.DecSum) desc"
        End If
        
        Set rstmp = New ADODB.Recordset
        rstmp.Open sqlstring, cN, adOpenKeyset, adLockReadOnly
        sqlstring = "select sum(t1.IntAmount) as IntAmount,sum(t1.DecSum) as DecSum from (SellTable_List t1 left join bookdata t2 ON " & _
                    "t1.chrbookno=t2.chrbookno and t1.chrbookname=t2.chrbookname) left join selltable t3 ON t1.chrsellno=t3.chrsellno " & _
                    "" & strQuery(0) & " "
                 Set rsNewTmp = New ADODB.Recordset
                 rsNewTmp.Open sqlstring, cN, adOpenKeyset, adLockReadOnly
                 
         
                 If Not rsNewTmp.EOF Then
                     Tdbtongji.Columns(3).FooterText = IIf(IsNull(rsNewTmp.Fields("IntAmount")), "", rsNewTmp.Fields("IntAmount"))
                     Tdbtongji.Columns(4).FooterText = IIf(IsNull(rsNewTmp.Fields("DecSum")), "", rsNewTmp.Fields("DecSum"))
                   
                 End If
                              
                    If rstmp.Recordcount = 0 Then
                       MsgBox "没有满足该查询条件的图书记录!", vbInformation
                       Call clearAll
                    Else
                    
                          Call ShowExpRecord(rstmp, 1)
                     
                    End If
      End If
End Select
End Sub
Public Sub cmdPrint_Click()
    Dim frm As New frmModCommonPrint
    Dim rstmp As New ADODB.Recordset
    Dim sqlstring As String
    Dim p As New ClsPrintInfo
    Dim arr, r&, c&
    Dim strAboveTable$, strBelowTable$, strSign$
    On Error GoTo err

'  If Not checkpermission("书店管理系统", strUserName, , "统计分析.统计表.打印") Then
'       Exit Sub
'  End If

     With p
        
        '标题
        .cqFirstTitle.Content = "销售统计表"
        .cqFirstTitle.FontSize = 18
        .cqFirstTitle.FontBold = True
        
        '表前叙述
                   
        .cqSayingAboveTable.Content = "打印于:|" & Format(Date, "yyyy-MM-dd")
        .cqSayingAboveTable.LayOut = "Body align=left cols=3 interwidth=50 |label align=left width=16|text align=left width=20"
                

        '明细
      If Trim(strQuery(0)) <> "" Then
        sqlstring = "select t3.Datdate,t1.chrproduceType,t2.chrbooktype,sum(t1.IntAmount) as IntAmount," & _
                    "sum(t1.DecSum) as DecSum from (SellTable_List t1 left join bookdata t2 ON " & _
                    "t1.chrbookno=t2.chrbookno and t1.chrbookname=t2.chrbookname) left join selltable " & _
                    "t3 ON t1.chrsellno=t3.chrsellno " & strQuery(0) & ""
      
        If chkFields(4).Value = 1 Then
            If Trim(cmbFields(3).Text) = "以销售数量排" Then
                 sqlstring = sqlstring & "group by t3.Datdate,t1.chrproduceType,t2.chrbooktype order by sum(t1.IntAmount) desc"
            Else
                 sqlstring = sqlstring & "group by t3.Datdate,t1.chrproduceType,t2.chrbooktype order by sum(t1.DecSum) desc"
            End If
        Else
            sqlstring = sqlstring & "group by t3.Datdate,t1.chrproduceType,t2.chrbooktype order by sum(t1.DecSum) desc"
        End If
      Else
         
        sqlstring = "select t3.Datdate,t1.chrproduceType,t2.chrbooktype,sum(t1.IntAmount) as IntAmount," & _
                      "sum(t1.DecSum) as DecSum from (SellTable_List t1 left join bookdata t2 ON " & _
                      "t1.chrbookno=t2.chrbookno and t1.chrbookname=t2.chrbookname) left join selltable " & _
                      "t3 ON t1.chrsellno=t3.chrsellno " & _
                      "group by t3.Datdate,t1.chrproduceType,t2.chrbooktype order by sum(t1.DecSum) desc"
              
      End If
       Set rstmp = New ADODB.Recordset
       rstmp.Open sqlstring, cN, adOpenKeyset, adLockReadOnly
       If rstmp.Recordcount > 0 Then
            arr = rstmp.GetRows
       End If
       
       .cqTable.Content = arr
        .cqTable.LayOut = " Format=^100|100|100|100;#,##0.00|100;#,##0.00" & _
                          " Header=时间|制品类型|图书类型|数量|金额" & _
                          " Subtotal=2\页总计\1\4\4\1\#,##0\1-0\1;1\总计\1\4\4\1\#,##0\1-0\2;" & _
                                   "2\页总计\1\5\5\1\#,##0.00\1-0\1;1\总计\1\5\5\1\#,##0.00\1-0\2"
                                   
        
        '采用传句柄方式
        '.cqTable.Hwnd = Me.grdDetail.Hwnd
    End With
        
    With frm
        Set .PrintInfo = p
        '设置重复打印部分
        Call .setRepeat(cp_RepeatView_All)
        '设置表格填充空行
        '.blnEmptyRow = True
        '设置表格最后行拉伸到满页
        '.blnExtenLastCol = True
        '设置表格自动调整列宽到满页
        .blnColumnForPage = True
        '设置汇总高度,视汇总行数而定
        .SubTotal_Height = 600
        '设置页高、页宽、行高及最大页数
        '.MaxRowsPerPage = 10
        '.Row_Height = 300
        .TopHeader_Height = 1
        .SubTotal_Height = 600
        .ParagraphInterRate = 0.4
        .PrintPaperSize = pprEnv9
        '设置打印信息保存位置
        .strPrintInfoName = "销售统计表|" & Me.Caption
        
        .FormStart
        .Show vbModal
    End With
    Exit Sub
 
err:
    MsgBox "打印出错!"
End Sub
Private Sub Form_Load()
 Dim sqlstring As String
 Dim rstmp As New ADODB.Recordset
  
  On Error Resume Next
  
  dtpDate(0).Value = Format(Date, "yyyy-mm-dd")
  dtpDate(1).Value = Format(Date, "yyyy-mm-dd")
  dtpDate(2).Value = Format(Date, "yyyy-mm")
  
    '制品类型
   sqlstring = "select * from ProduceType order by ChrProduceNo"
   Set rstmp = New ADODB.Recordset
   rstmp.Open sqlstring, cN, adOpenKeyset, adLockReadOnly
   cmbFields(1).Text = "图书"
   Do While Not rstmp.EOF
      cmbFields(1).AddItem rstmp.Fields("ChrProduceType")
      rstmp.MoveNext
   Loop

    '图书类型
   sqlstring = "select * from BookType order by ChrBookTypeNo"
   Set rstmp = New ADODB.Recordset
   rstmp.Open sqlstring, cN, adOpenKeyset, adLockReadOnly
   cmbFields(2).Text = "保险"
   Do While Not rstmp.EOF
      cmbFields(2).AddItem rstmp.Fields("ChrBookType")
      rstmp.MoveNext
   Loop

  cmbFields(0).Text = "年份"
  cmbFields(0).AddItem "年份", 0
  cmbFields(0).AddItem "月份", 1
'  cmbFields(0).AddItem "周", 2
  
  cmbFields(3).Text = "以销售数量排"
  cmbFields(3).AddItem "以销售数量排", 0
  cmbFields(3).AddItem "以销售金额排", 1
  
    X.ReDim 0, -1, 0, 4
    Set Tdbtongji.Array = X
End Sub
Private Sub Form_Activate()
  SetToolBar ("0000X00X011X111X1")
End Sub
'显示指定的制品记录
Private Function ShowExpRecord(ByVal rstmp As ADODB.Recordset, intFlag As Integer) As Boolean    'True for success
    On Error Resume Next
    Dim i As Integer
    Dim strSQL As String
    Dim intRow, intCol As Integer
    
    ShowExpRecord = False
    

    If rstmp.EOF Then
        Select Case intFlag
          Case 0
    '         MsgBox "没有该制品类型的记录", vbOKOnly, "警告"
             X.ReDim 0, rstmp.Recordcount - 1, 0, 4
             Tdbtongji.ReBind
          Case 1
    '         MsgBox "没有该图书、文具类型的记录", vbOKOnly, "警告"
             X.ReDim 0, rstmp.Recordcount - 1, 0, 4
             Tdbtongji.ReBind
        End Select
        
        Exit Function
    End If
    
   
    X.ReDim 0, rstmp.Recordcount - 1, 0, 4
    
    rstmp.MoveFirst
    intRow = 0
    Do While Not rstmp.EOF
        For intCol = 0 To 4

             X(intRow, intCol) = IIf(IsNull(rstmp.Fields(intCol).Value), "", rstmp.Fields(intCol).Value)
             
        Next intCol
        rstmp.MoveNext
        intRow = intRow + 1
    Loop
    
    Tdbtongji.ReBind
    
    gUpperBound = X.UpperBound(1)
    
    DoEvents
    ShowExpRecord = True
End Function
Private Sub clearAll()          '清除所有可填数据的位置

    X.ReDim 0, -1, 0, 4
    Tdbtongji.ReBind
    
    Tdbtongji.Columns(3).FooterText = ""
    Tdbtongji.Columns(4).FooterText = ""
    
    
    dtpDate(0).Value = Format(Date, "yyyy-mm-dd")
    dtpDate(1).Value = Format(Date, "yyyy-mm-dd")
    dtpDate(2).Value = Format(Date, "yyyy-mm-dd")
End Sub
Private Sub Tdbtongji_HeadClick(ByVal ColIndex As Integer)
    Select Case ColIndex
     Case 0
        If blnOrder(ColIndex) Then
           X.QuickSort 0, X.UpperBound(1), ColIndex, XORDER_ASCEND, XTYPE_DATE
           blnOrder(ColIndex) = Not blnOrder(ColIndex)
        Else
           X.QuickSort 0, X.UpperBound(1), ColIndex, XORDER_DESCEND, XTYPE_DATE
           blnOrder(ColIndex) = Not blnOrder(ColIndex)
        End If
     Case Else
        If blnOrder(ColIndex) Then
           X.QuickSort 0, X.UpperBound(1), ColIndex, XORDER_ASCEND, XTYPE_STRING
           blnOrder(ColIndex) = Not blnOrder(ColIndex)
        Else
           X.QuickSort 0, X.UpperBound(1), ColIndex, XORDER_DESCEND, XTYPE_STRING
           blnOrder(ColIndex) = Not blnOrder(ColIndex)
        End If
   End Select
   
   Tdbtongji.ReBind
End Sub
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -