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

📄 frmac_detailselectprint.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
        End If
        
    'Title
        .SetCellAlign COL_START, ROW_TITLE, PageNo - 1, 36
        .SetCellFont COL_START, ROW_TITLE, PageNo - 1, .FindFontIndex("黑体", 1)
         .SetCellFontSize COL_START, ROW_TITLE, PageNo - 1, 19
         .SetCellFontStyle COL_START, ROW_TITLE, PageNo - 1, 10
        .MergeCells COL_START, ROW_TITLE, COL_END, ROW_TITLE
        .SetCellString COL_START, ROW_TITLE, PageNo - 1, m_sGeneralSubjectName & "明细账"
        
        .SetRowHeight 1, 26, ROW_TITLE, PageNo - 1

    'Comment
        .SetRowHeight 1, 23, ROW_SUBJCODE, PageNo - 1
        .SetRowHeight 1, 23, ROW_SUBJNAME, PageNo - 1
        
'        .SetRowHeight 1, 40, ROW_TITLE, PageNo - 1
'    'Comment
'        .SetRowHeight 1, 19, ROW_ACCOUNTFORMAT, PageNo - 1
'        .SetRowHeight 1, 19, ROW_SUBJCODE, PageNo - 1
'        .SetRowHeight 1, 19, ROW_SUBJNAME, PageNo - 1
        .MergeCells COL_START, ROW_SUBJNAME, COL_BALANCE_FOREIGN, ROW_SUBJNAME
        .MergeCells COL_BALANCE_MONEY, ROW_SUBJNAME, COL_END, ROW_SUBJNAME
        '如果是数量账或者外币账, 则设置数量单位和外币单位格
        If m_bAmount Or m_bForeign Then
            If m_bAmount And m_bForeign Then
                .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_BALANCE_FOREIGN, ROW_ACCOUNTFORMAT
                .MergeCells COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
                .SetCellFont COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
                .SetCellFontSize COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 10
                .SetCellFontStyle COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 0
                .SetCellAlign COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 34
            Else
                .MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
            End If
            .MergeCells COL_START, ROW_SUBJCODE, COL_BALANCE_FOREIGN, ROW_SUBJCODE
            .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, 10
            .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, 10
        .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, 10
        .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, 10
        .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
        
        '为了左对齐, 在字符串尾部加空格;
        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, 11
            .SetCellFontStyle j, i, PageNo - 1, 2
            Next j
            .SetRowHeight 1, 25.9, i, PageNo - 1
        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
        
        If chkModePrint.value = 0 Then
            '设置内容
            .SetCellString COL_SERIAL, ROW_HEAD1, PageNo - 1, "序号"
            .SetCellString COL_MONTH, ROW_HEAD1, PageNo - 1, m_sYear & "年"
            .SetCellString COL_MONTH, ROW_HEAD2, PageNo - 1, "月"
            .SetCellString COL_DAY, ROW_HEAD2, PageNo - 1, "日"
            .SetCellString COL_TYPE, ROW_HEAD1, PageNo - 1, "记账凭证"
            .SetCellString COL_TYPE, ROW_HEAD2, PageNo - 1, "种类"
            .SetCellString COL_NUMBER, ROW_HEAD2, PageNo - 1, "号数"
            .SetCellString COL_BILL, ROW_HEAD2, PageNo - 1, "单据号"
            .SetCellString COL_SUMMARY, ROW_HEAD1, PageNo - 1, "摘要"
            .SetCellString COL_UNIT_PRICE, ROW_HEAD1, PageNo - 1, "单价"
            .SetCellString COL_EXCHANGE_RATE, ROW_HEAD1, PageNo - 1, "汇率"
            .SetCellString COL_DEBIT_MONEY, ROW_HEAD1, PageNo - 1, "借方"
            .SetCellString COL_DEBIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
            .SetCellString COL_DEBIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
            .SetCellString COL_DEBIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
            .SetCellString COL_CREDIT_MONEY, ROW_HEAD1, PageNo - 1, "贷方"
            .SetCellString COL_CREDIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
            .SetCellString COL_CREDIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
            .SetCellString COL_CREDIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
            .SetCellString COL_DIRECTION, ROW_HEAD1, PageNo - 1, "方向"
            .SetCellString COL_BALANCE_MONEY, ROW_HEAD1, PageNo - 1, "余额"
            .SetCellString COL_BALANCE_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
            .SetCellString COL_BALANCE_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
            .SetCellString COL_BALANCE_MONEY, ROW_HEAD2, PageNo - 1, "金额"
            .SetCellString COL_MAN, ROW_HEAD1, PageNo - 1, "会计事项原处理人"
            .SetCellString COL_LOGOUT_YEAR, ROW_HEAD1, PageNo - 1, "注销的对方"
            .SetCellString COL_LOGOUT_YEAR, ROW_HEAD2, PageNo - 1, "年"
            .SetCellString COL_LOGOUT_MONTH, ROW_HEAD2, PageNo - 1, "月"
            .SetCellString COL_LOGOUT_DAY, ROW_HEAD2, PageNo - 1, "日"
            .SetCellString COL_LOGOUT_TYPE, ROW_HEAD2, PageNo - 1, "字"
            .SetCellString COL_LOGOUT_NUMBER, ROW_HEAD2, PageNo - 1, "号"
        End If
    'Text
        For i = ROW_GRID_START To .GetRows(PageNo - 1) - 1
            For j = COL_START To COL_END
                .SetCellFont j, i, PageNo - 1, .FindFontIndex("宋体", 1)
                .SetCellFontSize j, i, PageNo - 1, 11
                .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_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.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, 2
                Cllr.SetCellAlign COL_EXCHANGE_RATE, i, PageNo - 1, 32 + 2
                
                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.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.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.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.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.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
                
                .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.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.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

            .SetCellAlign COL_MAN, i, PageNo - 1, 36
        Next i
        .MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
    If chkModePrint.value = 0 Then
        'Draw Line
        .DrawGridLine COL_START, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 1, 3, .FindColorIndex(RGB(0, 0, 0), 1)
        .DrawGridLine COL_SERIAL, ROW_HEAD1, COL_DAY, ROW_HEAD1, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
        .DrawGridLine COL_SERIAL, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 2, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
        .DrawGridLine COL_MONTH, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 2, 2, .FindColorIndex(RGB(0, 0, 0), 1)
    End If
    'Print Corp & Date & Time
        .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
        .SetCellString COL_START, i, PageNo - 1, "核算单位:" & m_sEnterName
        .SetCellString COL_DEBIT_MONEY, i, PageNo - 1, "( 打印日期:" & Format(Date, "yyyy-mm-dd") & _
                    "    时间:" & Format(Time, "hh:MM:ss") & " )"
        .ShowPageBreak False
    End With

End Sub
'在转页时加入一个过次行和一个承前行
Private Sub AppendChangePageRow(ByVal iOption As Integer, Optional ByRef iPageStart As Integer = 0)
    If iOption <> 0 Then
    Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, 0, 0, "", "", "", _
                        "[  过    次    页  ]", 0, 0, sFX, IIf(sFX = "借", dbnYESL, -dbnYESL), _
                        IIf(sFX = "借", dbnYEWB, -dbnYEWB), IIf(sFX = "借", dbnYE, -dbnYE), "", _
                         bnljJSL, bnljJWB, bnljJ, bnljDSL, bnljDWB, bnljD)
    End If
    lPage = lPage + 1
    Cllr.InsertSheet Cllr.GetTotalSheets, 1
    Call SetGrid(lPage, ROW_GRID_START + lCount, iPageStart)
    Cllr.SetCurSheet lPage
    Cllr.SetRows ROW_GRID_START + ROWS_PAGE, lPage
    Cllr.SetCols COL_END + 2, lPage

    CurRow = CurRow + 1
    lCount = 1

    Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, 0, 0, "", "", "", _
               "[  承    前    页  ]", 0, 0, sFX, IIf(sFX = "借", dbnYESL, -dbnYESL), _
               IIf(sFX = "借", dbnYEWB, -dbnYEWB), IIf(sFX = "借", dbnYE, -dbnYE), "", _
               bnljJSL, bnljJWB, bnljJ, bnljDSL, bnljDWB, bnljD)

    CurRow = CurRow + 1
    lCount = lCount + 1
End Sub

Public Function ShowResult(Optional ByVal iPageStart As Integer = 0) As Integer
     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 i As Integer
    Dim tmpVal As Double
    
    Dim iMonth As Integer
    Dim iDay As Integer
    
    ShowResult = iPageStart
    '得到当前账套的单位名称
    m_sEnterName = GetDWMC
    If m_sEnterName = "" Then
        
        Exit Function
    End If
    
    '初始化变量
    bnljJ = 0
    bnljJSL = 0
    bnljJWB = 0
    bnljD = 0
    bnljDSL = 0
    bnljDWB = 0
    
    fMainForm.MousePointer = vbHourglass
  '设置当前科目名称和代码
'    m_sCurSubjectCode = arySubDetail(cboSubject.ListIndex + 1).sSubjectCode
'    m_sCurSubjectName = arySubDetail(cboSubject.ListIndex + 1).sSubjectName
    If m_sCurSubjectCode = "" Then
       fMainForm.MousePointer = vbDefault
       MsgBox m_sCurSubjectCode & "科目不存在,不能联查明细账!", vbInformation
       Exit Function
    End If
    
    '将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
    Cllr.Visible = False

    Cllr.ResetContent
    '清除CELL控件内容后,必须重新设置CELL的行数和列数;
    Cllr.SetCols COL_END + 2, 0
    Cllr.SetRows ROW_GRID_START + ROWS_PAGE, 0

    '得到打印时显示的科目代码和名称以及明细账科目
    m_sPrintSubjectCode = m_sCurSubjectCode
    m_sPrintSubjectNa

⌨️ 快捷键说明

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