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

📄 frmac_generalmodeprint.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 3 页
字号:
        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, 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.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, 2
                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 CopyKmArray(ByRef kmdm() As String, ByRef Kmmc() As String)
Dim k As Integer
ReDim arySubDetail(UBound(kmdm) + 1)
For k = LBound(kmdm) To UBound(kmdm)
    arySubDetail(k).sSubjectCode = kmdm(k)
    arySubDetail(k).sSubjectName = Kmmc(k)
Next
End Sub

Public Sub uModePrint(Optional ByVal iPageStart As Integer = 0)
Dim i As Integer
For i = LBound(arySubDetail) To UBound(arySubDetail)
    If Trim(arySubDetail(i).sSubjectCode) <> "" Then
        m_sSubjCode = arySubDetail(i).sSubjectCode
        m_sSubjName = arySubDetail(i).sSubjectName
        iPageStart = ShowResult(iPageStart)
        If ubIncludeNoHappen = True Or ubHappen = True Then
            uPrint
        End If
    End If
Next i
End Sub

Public Sub uModePreview(Optional ByVal iPageStart As Integer = 0)
Dim i As Integer
For i = LBound(arySubDetail) To UBound(arySubDetail)
    If Trim(arySubDetail(i).sSubjectCode) <> "" Then
        m_sSubjCode = arySubDetail(1).sSubjectCode
        m_sSubjName = arySubDetail(1).sSubjectName
        iPageStart = ShowResult(iPageStart)
        If ubIncludeNoHappen = True Or ubHappen = True Then
            uPreview
        End If
        Exit For
    End If
Next i
End Sub


'显示查总账结果
Public Function ShowResult(Optional ByVal iPageStart As Integer = 0) As Integer
    Dim rstTemp As ADODB.Recordset
    Dim maxKjqj As Integer                      '当前已记账凭证的最大会计期间
    Dim StartDate As Date                       '查询开始日期
    Dim sSQL As String
    Dim dDebit_Amount As Double, dDebit_Foreign As Double, dDebit_Money As Double
    Dim dCredit_Amount As Double, dCredit_Foreign As Double, dCredit_Money As Double
    Dim sDireciton As String
    Dim sHappenDirection As String
    Dim dBalance_Amount As Double, dBalance_Foreign As Double, dBalance_Money As Double
    Dim i As Long, j As Long, k As Long
    Dim m_iFromMonth As Integer
    Dim m_iToMonth As Integer
    '假设没有发生
    ubHappen = False
    fMainForm.MousePointer = vbHourglass
      
   '得到打印时显示的科目代码和名称以及总账科目
    m_sPrintSubjectCode = m_sSubjCode
    
    m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sSubjCode)
    If InStr(1, m_sPrintSubjectName, "\") > 0 Then
        m_sGenSubjectName = Mid(m_sPrintSubjectName, InStr(1, m_sPrintSubjectName, "\") + 1)
    Else
        m_sGenSubjectName = m_sPrintSubjectName
    End If
    
    '得到当前账套的单位名称
    m_sEnterName = GetDWMC
    If m_sEnterName = "" Then
        ShowResult = iPageStart
        Exit Function
    End If
    
    '得到一个科目数量单位和外币单位
    Call GetSldwAndWbdw(m_sSubjCode, 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
        
    '将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
    Cllr.Visible = False

    Cllr.ResetContent
    Set rstTemp = New ADODB.Recordset
    rstTemp.CursorLocation = adUseClient
'    m_iYear = glo.sOperateYear
    sSQL = "SELECT * FROM tSYS_SubSysUsed WHERE AccountID = '" & glo.sAccountID & _
            "' AND SubSysID = '" & gloSys.sSubSysId & "'"
    With rstTemp
        .Open sSQL, gloSys.cnnSYS, adOpenStatic, adLockReadOnly
        If .RecordCount > 0 Then
            '如果注册年份大于账务子系统启用年份, 查询开始月份等于1;
            '否则如果注册年份等于账务子系统启用年份, 查询开始月份等于账务子系统启用月份;
            '否则报错;
            If glo.sOperateYear > .Fields("BeginYear").value Then
                m_iFromMonth = 1
            ElseIf glo.sOperateYear = .Fields("BeginYear").value Then
                m_iFromMonth = .Fields("BeginMonth").value
            Else
                MsgBox "注册年份不能小于账务子系统启用年份", vbCritical
                Unload Me
                Exit Function
            End If
            '如果注册年份大于账务子系统结账年份, 则求查询截止月份(0);
            '否则如果注册年份等于账务子系统结账年份, 则求查询截止月份(结账月份);
            '否则查询截止月份等于12月份;
            If glo.sOperateYear > .Fields("ModiYear").value Then
                m_iToMonth = GetToMonth(0)
            ElseIf glo.sOperateYear = .Fields("ModiYear").value Then
                m_iToMonth = GetToMonth(.Fields("ModiMonth").value)
            Else
                m_iToMonth = 12
            End If
        End If
        .Close
    End With
    
    '从科目表中取出科目名称、年(期)初累计数、年(期)初月到十二月的累计数
    sSQL = "SELECT ljjsl00,ljjwb00,ljj00,ljdsl00,ljdwb00,ljd00"
    If m_iFromMonth = 0 Then
        m_iFromMonth = 1
    End If
    For i = m_iFromMonth - 1 To 12
        sSQL = sSQL & ",ljjsl" & Format(i, "00") & ",ljjwb" & Format(i, "00") & ",ljj" & Format(i, "00") & _
                      ",ljdsl" & Format(i, "00") & ",ljdwb" & Format(i, "00") & ",ljd" & Format(i, "00")
    Next i
    sSQL = sSQL & " FROM tZW_balance" & glo.sOperateYear & " WHERE kmdm = '" & m_sSubjCode & "'"
    With rstTemp
        .Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
        If .RecordCount > 0 Then

⌨️ 快捷键说明

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