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

📄 frmac_detailmodeprint.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
            .MergeCells COL_BALANCE_MONEY, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
            .SetCellFont COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
            .SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 11
            .SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 0
            .SetCellAlign COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 34
        Else
            .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
            .MergeCells COL_START, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
        End If
        .SetCellFont COL_START, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_START, ROW_SUBJCODE, PageNo - 1, 12
        .SetCellFontStyle COL_START, ROW_SUBJCODE, PageNo - 1, 0
        .SetCellFont COL_START, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_START, ROW_SUBJNAME, PageNo - 1, 12
        .SetCellFontStyle COL_START, ROW_SUBJNAME, PageNo - 1, 0
        .SetCellAlign COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 34
        .SetCellFont COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
        .SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 12
        .SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 0
        .SetCellString COL_START, ROW_SUBJCODE, PageNo - 1, "          " & m_sPrintSubjectCode
        .SetCellString COL_START, ROW_SUBJNAME, PageNo - 1, "          " & m_sPrintSubjectName
        
        .SetCellFont COL_MONTH, ROW_HEAD1, PageNo - 1, .FindFontIndex("宋体", 1)
        .SetCellFontSize COL_MONTH, ROW_HEAD1, PageNo - 1, 11
        .SetCellFontStyle COL_MONTH, ROW_HEAD1, PageNo - 1, 0
        .SetCellAlign COL_MONTH, ROW_HEAD1, PageNo - 1, 33
        .SetCellString COL_MONTH, ROW_HEAD1, PageNo - 1, "" & glo.sOperateYear
        
        '为了左对齐, 在字符串尾部加空格;
        If m_bAmount Then
            iAmountLen = LenB("数量单位:" & m_sSldw)
            iForeignlen = LenB("外币币名:" & m_sWbdw)
            iPageNoLen = LenB("第" & "页") + Len(CStr(PageNo)) + 2
            If iAmountLen > iForeignlen Then
                maxLen = iAmountLen
            Else
                maxLen = iForeignlen
            End If
            If m_bForeign Then
                .SetCellString COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, "数量单位:" & m_sSldw & _
                                String(maxLen - iAmountLen, " ")
                .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
                                String(maxLen - iForeignlen, " ")
            Else
                .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "数量单位:" & m_sSldw & _
                                String(maxLen - iAmountLen, " ")
            End If
        ElseIf m_bForeign Then
            .SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
                                String(maxLen - iForeignlen, " ")
        End If
        .SetCellString COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, "  " & CStr(PageNo + iPageStart) & "" & _
                                String(maxLen - iPageNoLen, " ")
    'Head
        For i = ROW_HEAD1 To ROW_HEAD2
            For j = COL_START To COL_END
                .SetCellAlign j, i, PageNo - 1, 36
                .SetCellTextStyle j, i, PageNo - 1, 2
                .SetCellFont j, i, PageNo - 1, .FindFontIndex("仿宋_GB2312", 1)
                .SetCellFontSize j, i, PageNo - 1, 10
                .SetCellFontStyle j, i, PageNo - 1, 2
            Next j
        Next i
        
        '设置列宽
        For i = LBound(m_iColWidth) To UBound(m_iColWidth)
            .SetColWidth 1, m_iColWidth(i), i, PageNo - 1
        Next i
        .SetColWidth 1, 3, COL_END + 1, PageNo - 1
        
        '合并单元格
        .MergeCells COL_SERIAL, ROW_HEAD1, COL_SERIAL, ROW_HEAD2
        .MergeCells COL_MONTH, ROW_HEAD1, COL_DAY, ROW_HEAD1
        .MergeCells COL_TYPE, ROW_HEAD1, COL_BILL, ROW_HEAD1
        .MergeCells COL_SUMMARY, ROW_HEAD1, COL_SUMMARY, ROW_HEAD2
        .MergeCells COL_UNIT_PRICE, ROW_HEAD1, COL_UNIT_PRICE, ROW_HEAD2
        .MergeCells COL_EXCHANGE_RATE, ROW_HEAD1, COL_EXCHANGE_RATE, ROW_HEAD2
        .MergeCells COL_DEBIT_MONEY, ROW_HEAD1, COL_DEBIT_MONEY, ROW_HEAD2
        .MergeCells COL_CREDIT_MONEY, ROW_HEAD1, COL_CREDIT_MONEY, ROW_HEAD2
        .MergeCells COL_DIRECTION, ROW_HEAD1, COL_DIRECTION, ROW_HEAD2
        .MergeCells COL_BALANCE_MONEY, ROW_HEAD1, COL_BALANCE_MONEY, ROW_HEAD2
        .MergeCells COL_SEPARATE, ROW_HEAD1, COL_SEPARATE, ROW_HEAD2
        .MergeCells COL_MAN, ROW_HEAD1, COL_MAN, ROW_HEAD2
        .MergeCells COL_LOGOUT_YEAR, ROW_HEAD1, COL_LOGOUT_NUMBER, ROW_HEAD1
        
        '控制第二行的行高
        .SetRowHeight 1, 25.9, ROW_HEAD2, PageNo - 1
        '设置内容

    'Text
        For i = ROW_GRID_START To .GetRows(PageNo - 1) - 2
            For j = COL_START To COL_END
                .SetCellFont j, i, PageNo - 1, .FindFontIndex("宋体", 1)
                .SetCellFontSize j, i, PageNo - 1, 10
                .SetCellFontStyle j, i, PageNo - 1, 0
                
            Next j
            .SetRowHeight 0, 63.2, i, PageNo - 1
            
            .SetCellAlign COL_SERIAL, i, PageNo - 1, 36
            .SetCellAlign COL_MONTH, i, PageNo - 1, 36
            .SetCellAlign COL_DAY, i, PageNo - 1, 36
            .SetCellAlign COL_TYPE, i, PageNo - 1, 36
            .SetCellAlign COL_NUMBER, i, PageNo - 1, 36
            .SetCellAlign COL_BILL, i, PageNo - 1, 33
            .SetCellAlign COL_SUMMARY, i, PageNo - 1, 33
            
            Cllr.SetCellNumType COL_UNIT_PRICE, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_UNIT_PRICE, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_UNIT_PRICE, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_UNIT_PRICE, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_UNIT_PRICE, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_EXCHANGE_RATE, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_EXCHANGE_RATE, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_EXCHANGE_RATE, i, PageNo - 1, 3
            Cllr.SetCellAlign COL_EXCHANGE_RATE, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_EXCHANGE_RATE, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_DEBIT_AMOUNT, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_DEBIT_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_DEBIT_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_DEBIT_AMOUNT, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_DEBIT_AMOUNT, i, PageNo - 1, 1
                           
            Cllr.SetCellNumType COL_DEBIT_FOREIGN, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_DEBIT_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_DEBIT_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_DEBIT_FOREIGN, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_DEBIT_FOREIGN, i, PageNo - 1, 1
                            
            Cllr.SetCellNumType COL_DEBIT_MONEY, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_DEBIT_MONEY, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_DEBIT_MONEY, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_DEBIT_MONEY, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_CREDIT_AMOUNT, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_CREDIT_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_CREDIT_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_CREDIT_AMOUNT, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_CREDIT_AMOUNT, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_CREDIT_FOREIGN, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_CREDIT_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_CREDIT_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_CREDIT_FOREIGN, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_CREDIT_FOREIGN, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_CREDIT_MONEY, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_CREDIT_MONEY, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_CREDIT_MONEY, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_CREDIT_MONEY, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_CREDIT_MONEY, i, PageNo - 1, 1
            
            .SetCellAlign COL_DIRECTION, i, PageNo - 1, 36
            
            Cllr.SetCellNumType COL_BALANCE_AMOUNT, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_BALANCE_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_BALANCE_AMOUNT, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_BALANCE_AMOUNT, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_BALANCE_AMOUNT, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_BALANCE_FOREIGN, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_BALANCE_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_BALANCE_FOREIGN, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_BALANCE_FOREIGN, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_BALANCE_FOREIGN, i, PageNo - 1, 1
            
            Cllr.SetCellNumType COL_BALANCE_MONEY, i, PageNo - 1, 1
            Cllr.SetCellSeparator COL_BALANCE_MONEY, i, PageNo - 1, 2
            Cllr.SetCellDigital COL_BALANCE_MONEY, i, PageNo - 1, 2
            Cllr.SetCellAlign COL_BALANCE_MONEY, i, PageNo - 1, 32 + 2
            Cllr.SetCellHideZero COL_BALANCE_MONEY, i, PageNo - 1, 1
                
            .SetCellAlign COL_MAN, i, PageNo - 1, 36
        Next i
        .MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1

    'Print Corp & Date & Time
        Dim tmpSheet As Integer
        tmpSheet = Cllr.GetCurSheet
        Cllr.SetCurSheet PageNo - 1
        .MergeCells COL_SERIAL, .GetRows(PageNo - 1) - 1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
        Cllr.SetCurSheet tmpSheet
        .SetCellAlign COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, 35
        .SetCellString COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, "(打印日期:" + Format(Now, "yyyy-mm-dd") + "     打印时间:" + Format(Now, "hh:mm:ss") + ")"
       .SetRows .GetRows(PageNo - 1) + 1, PageNo - 1
       
        i = .GetRows(PageNo - 1) - 1
        .MergeCells COL_START, i, COL_DEBIT_FOREIGN, i
        .MergeCells COL_DEBIT_MONEY, i, COL_END, i
        .SetCellAlign COL_START, i, PageNo - 1, 33
        .SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 34
        .SetCellFont COL_START, i, PageNo - 1, .FindFontIndex("宋体", 1)
        .SetCellFontSize COL_START, i, PageNo - 1, 9
        .SetCellFontStyle COL_START, i, PageNo - 1, 0
        .SetCellFont COL_DEBIT_MONEY, i, PageNo - 1, .FindFontIndex("宋体", 1)
        .SetCellFontSize COL_DEBIT_MONEY, i, PageNo - 1, 9
        .SetCellFontStyle COL_DEBIT_MONEY, i, PageNo - 1, 0
        .ShowPageBreak False
    End With
  

End Sub

Public Sub ShowResultbak(Optional ByVal iPageStart As Integer = 0)
    Dim sSQL As String
    Dim rstTemp As ADODB.Recordset
    
    Dim sTemp As String                 '临时存放科目代码
    Dim PreStartOfMonth As String       '查询起始月份的上一个月
    Dim PreKjqj As Integer              '当前凭证的上一张凭证的会计期间
    Dim CurKjqj As Integer              '当前凭证会计期间
    Dim bNotRecord As Boolean
    Dim n As Integer
    Dim m As Integer
    Dim i As Integer

   
    '得到当前账套的单位名称
    m_sEnterName = GetDWMC
    If m_sEnterName = "" Then
        Exit Sub
    End If
    
    '初始化变量
    gcJ = 0
    gcD = 0
    gcJSL = 0
    gcDSL = 0
    gcJWB = 0
    gcDWB = 0
    
    byhjJ = 0
    byhjJSL = 0
    byhjJWB = 0
    byhjD = 0
    byhjDSL = 0
    byhjDWB = 0
    
    bnljJ = 0
    bnljJSL = 0
    bnljJWB = 0
    bnljD = 0
    bnljDSL = 0
    bnljDWB = 0
    
    fMainForm.MousePointer = vbHourglass
    
    '将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
    Cllr.Visible = False
''    CllR.DoSetTotalPages 1
    Cllr.SetCols 2, 0
    Cllr.SetRows 2, 0
    '清除CELL控件内容后,必须重新设置CELL的行数和列数;
    Cllr.SetCols COL_END + 2, 0
    Cllr.SetRows ROW_GRID_START + ROWS_PAGE, 0
    
    '设置当前科目名称和代码
    m_sCurSubjectCode = arySubDetail(cboSubject.ListIndex + 1).sSubjectCode
    m_sCurSubjectName = arySubDetail(cboSubject.ListIndex + 1).sSubjectName
    
    '得到打印时显示的科目代码和名称以及明细账科目
    If glo.sSeparateSubject = "0" Then
        If glo.bSeparateSubject Then
            m_sPrintSubjectCode = SeparateSubject(glo.sAccountID, m_sCurSubjectCode)
        Else
            m_sPrintSubjectCode = m_sCurSubjectCode
        End If
        m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sCurSubjectCode)
    Else
         m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sCurSubjectCode)
         m_sPrintSubjectCode = m_sCurSubjectCode
    End If
    If InStr(1, m_sPrintSubjectName, "\") > 0 Then
         m_sGeneralSubjectName = Mid(m_sPrintSubjectName, 1, InStr(1, m_sPrintSubjectName, "\") - 1)
    Else
         m_sGeneralSubjectName = m_sPrintSubjectName
    End If
    '得到一个科目数量单位和外币单位
    Call GetSldwAndWbdw(m_sCurSubjectCode, m_sSldw, m_sWbdw)
    If m_sSldw <> "" Then
        m_bAmount = True
    Else
        m_bAmount = False
    End If
    If m_sWbdw <> "" Then
        m_bForeign = True
    Else
        m_bForeign = False
    End If
    
    CurRow = ROW_GRID_START - 1
    lCount = 0
    lPage = 0
    
    Set rstTemp = New ADODB.Recordset
    rstTemp.CursorLocation = adUseClient
    
    
'如果查询开始月份为一月份, 则计算上年结转余额;
'否则计算上月余额;
    If Val(m_sFromMonth) > 0 Then
        PreStartOfMonth = Format(Val(m_sFromMonth) - 1, "00")
    Else
        PreStartOfMonth = "01"

⌨️ 快捷键说明

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