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

📄 frmac_randommulticolresult.frm

📁 一个用VB写的财务软件源码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
                            dDebit_SlSubTotal = 0: dDebit_WbSubTotal = 0: dDebit_SubTotal = 0
                            dCredit_SlSubTotal = 0: dCredit_WbSubTotal = 0: dCredit_SubTotal = 0
                            dBalance_SlSubTotal = 0: dBalance_WbSubTotal = 0: dBalance_SubTotal = 0
                            For i = LBound(dBalance_SubTotal_Child) To UBound(dBalance_SubTotal_Child)
                                dBalance_SlSubTotal_Child(i) = 0: dBalance_WbSubTotal_Child(i) = 0: dBalance_SubTotal_Child(i) = 0
                            Next i
                            CurRow = CurRow + 1
                            lCount = lCount + 1
                            '如果当前记录数等于每页行数,则换页
                            If (lCount Mod ROWS_PAGE) = 0 Then
                                Call SetNewPage(lPage, lCount, _
                                        dDebit_SlSubTotal, dDebit_WbSubTotal, dDebit_SubTotal, _
                                        dCredit_SlSubTotal, dCredit_WbSubTotal, dCredit_SubTotal, _
                                        sCurrent_Balance_Direction, _
                                        dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                                        dBalance_SlSubTotal_Child, dBalance_WbSubTotal_Child, dBalance_SubTotal_Child)
                            End If
                            '--------------End----------------
                            '追加本年累计
                            '--------------Begin------------
                            '根据累计余额的值决定累计余额的方向
                            If dBalance_Total > 0 Then
                                sBalance_Direction_Total = "借"
                            ElseIf dBalance_Total < 0 Then
                                sBalance_Direction_Total = "贷"
                                dBalance_SlTotal = Abs(dBalance_SlTotal): dBalance_WbTotal = Abs(dBalance_WbTotal): dBalance_Total = Abs(dBalance_Total)
                            Else
                                sBalance_Direction_Total = "平"
                            End If
                            '追加累计余额行
                            Call AppendTotalRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, PreKjqj, 0, _
                                    "", "", "[  本  年  累  计  ]", _
                                     dDebit_SlTotal, dDebit_WbTotal, dDebit_Total, _
                                     dCredit_SlTotal, dCredit_WbTotal, dCredit_Total, _
                                     sBalance_Direction_Total, _
                                     dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                                     dBalance_SlTotal_Child, dBalance_WbTotal_Child, dBalance_Total_Child)
                            CurRow = CurRow + 1
                            lCount = lCount + 1
                            '如果当前记录数等于每页行数,则换页
                            If (lCount Mod ROWS_PAGE) = 0 Then
                                Call SetNewPage(lPage, lCount, _
                                               dDebit_SlSubTotal, dDebit_WbSubTotal, dDebit_SubTotal, _
                                               dCredit_SlSubTotal, dCredit_WbSubTotal, dCredit_SubTotal, _
                                               sCurrent_Balance_Direction, _
                                               dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                                               dBalance_SlSubTotal_Child, dBalance_WbSubTotal_Child, dBalance_SubTotal_Child)
                            End If
                            '累计余额的方向是贷方,则以(借方)表示累计余额
                             If sBalance_Direction_Total = "贷" Then
                                dBalance_Total = -dBalance_Total
                             End If
                            PreKjqj = CurKjqj
                            '--------------End----------------
                        End If
                        '-------------求方向符号-------------
                        Dim iDirectionValue1 As Integer
                        Dim iDirectionValue2 As Integer
                        iDirectionValue1 = IIf(Trim(.Fields("fx")) = "借", 1, -1)
                        iDirectionValue2 = IIf(Trim(.Fields("fx")) & "方" = m_arrColInformation(iLocate).sColDirect, 1, -1)
                        '-------------计算本月合计 BEGIN-------------
                        If iDirectionValue1 = 1 Then
                            dDebit_SlSubTotal = dDebit_SlSubTotal + .Fields("sl").value
                            dDebit_WbSubTotal = dDebit_WbSubTotal + .Fields("wb").value
                            dDebit_SubTotal = dDebit_SubTotal + .Fields("je").value
                        End If
                        If iDirectionValue1 = -1 Then
                            dCredit_SlSubTotal = dCredit_SlSubTotal + .Fields("sl").value
                            dCredit_WbSubTotal = dCredit_WbSubTotal + .Fields("wb").value
                            dCredit_SubTotal = dCredit_SubTotal + .Fields("je").value
                        End If
                        dBalance_SlSubTotal = dBalance_SlSubTotal + .Fields("sl").value * iDirectionValue1
                        dBalance_WbSubTotal = dBalance_WbSubTotal + .Fields("wb").value * iDirectionValue1
                        dBalance_SubTotal = dBalance_SubTotal + .Fields("je").value * iDirectionValue1
                        dBalance_SlSubTotal_Child(iLocate * 3) = dBalance_SlSubTotal_Child(iLocate * 3) + .Fields("sl") * iDirectionValue2
                        dBalance_WbSubTotal_Child(iLocate * 3 + 1) = dBalance_WbSubTotal_Child(iLocate * 3 + 1) + .Fields("wb") * iDirectionValue2
                        dBalance_SubTotal_Child(iLocate * 3 + 2) = dBalance_SubTotal_Child(iLocate * 3 + 2) + .Fields("je") * iDirectionValue2
                        '--------------END--------------
                        '-------------计算本年累计 BEGIN-------------
                        If iDirectionValue1 = 1 Then
                            dDebit_SlTotal = dDebit_SlTotal + .Fields("sl").value
                            dDebit_WbTotal = dDebit_WbTotal + .Fields("wb").value
                            dDebit_Total = dDebit_Total + .Fields("je").value
                        End If
                        If iDirectionValue1 = -1 Then
                            dCredit_SlTotal = dCredit_SlTotal + .Fields("sl").value
                            dCredit_WbTotal = dCredit_WbTotal + .Fields("wb").value
                            dCredit_Total = dCredit_Total + .Fields("je").value
                        End If
                        dBalance_SlTotal = dBalance_SlTotal + .Fields("sl").value * iDirectionValue1
                        dBalance_WbTotal = dBalance_WbTotal + .Fields("wb").value * iDirectionValue1
                        dBalance_Total = dBalance_Total + .Fields("je").value * iDirectionValue1
                        dBalance_SlTotal_Child(iLocate * 3) = dBalance_SlTotal_Child(iLocate * 3) + .Fields("sl") * iDirectionValue2
                        dBalance_WbTotal_Child(iLocate * 3 + 1) = dBalance_WbTotal_Child(iLocate * 3 + 1) + .Fields("wb") * iDirectionValue2
                        dBalance_Total_Child(iLocate * 3 + 2) = dBalance_Total_Child(iLocate * 3 + 2) + .Fields("je") * iDirectionValue2
                        '--------------END--------------
                        
                        '追加当前记录到CELL表格
                        '---------------Begin---------------
                        '根据本年累计决定当前记录行余额的方向,数量、外币、金额余额
                        If dBalance_Total > 0 Then
                            sCurrent_Balance_Direction = "借"
                            dCurrent_SlBalance = dBalance_SlTotal: dCurrent_WbBalance = dBalance_WbTotal: dCurrent_Balance = dBalance_Total
                        ElseIf dBalance_Total < 0 Then
                            sCurrent_Balance_Direction = "贷"
                            dCurrent_SlBalance = Abs(dBalance_SlTotal): dCurrent_WbBalance = Abs(dBalance_WbTotal): dCurrent_Balance = Abs(dBalance_Total)
                        Else
                            sCurrent_Balance_Direction = "平"
                            dCurrent_SlBalance = dBalance_SlTotal: dCurrent_WbBalance = dBalance_WbTotal: dCurrent_Balance = dBalance_Total
                        End If
                        '确定当前记录金额的方向和金额值
                        dChild_SlData = .Fields("sl").value * iDirectionValue2
                        dChild_WbData = .Fields("wb").value * iDirectionValue2
                        dChild_Data = .Fields("je").value * iDirectionValue2
                        '根据当前记录的方向,添加记录行
                        If .Fields("fx").value = "借" Then
                            Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, _
                                    Month(.Fields("pzrq").value), Day(.Fields("pzrq").value), _
                                    Trim$("" & .Fields("pzzl").value), _
                                    Trim$("" & .Fields("pzbh").value), _
                                    Trim$("" & .Fields("pzzy").value), _
                                    .Fields("sl").value, .Fields("wb").value, .Fields("je").value _
                                    , 0, 0, 0, _
                                    sCurrent_Balance_Direction, _
                                    dCurrent_SlBalance, dCurrent_WbBalance, dCurrent_Balance, _
                                    iLocate, _
                                    dChild_SlData, dChild_WbData, dChild_Data)
                        Else
                            Call AppendOneRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, _
                                    Month(.Fields("pzrq").value), Day(.Fields("pzrq").value), _
                                    Trim$("" & .Fields("pzzl").value), _
                                    Trim$("" & .Fields("pzbh").value), _
                                    Trim$("" & .Fields("pzzy").value), _
                                    0, 0, 0, _
                                    .Fields("sl").value, .Fields("wb").value, .Fields("je").value, _
                                    sCurrent_Balance_Direction, _
                                    dCurrent_SlBalance, dCurrent_WbBalance, dCurrent_Balance, _
                                    iLocate, _
                                    dChild_SlData, dChild_WbData, dChild_Data)
                        End If
                        '--------------End-----------------
                 End If
                .MoveNext
            Loop
            CurRow = CurRow + 1
            lCount = lCount + 1
            '如果当前最后一条记录数等于每页可显示的行数,则换页;
            If (lCount Mod ROWS_PAGE) = 0 Then
                Call SetNewPage(lPage, lCount, _
                                dDebit_SlSubTotal, dDebit_WbSubTotal, dDebit_SubTotal, _
                                dCredit_SlSubTotal, dCredit_WbSubTotal, dCredit_SubTotal, _
                                sCurrent_Balance_Direction, _
                                dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                                dBalance_SlSubTotal_Child, dBalance_WbSubTotal_Child, dBalance_SubTotal_Child)
            End If
            
            '追加本月合计
            '--------------Begin------------
            '根据本月合计决定本月合计的方向
            If dBalance_SubTotal > 0 Then
                sBalance_Direction_SubTotal = "借"
            ElseIf dBalance_SubTotal < 0 Then
                sBalance_Direction_SubTotal = "贷"
                dBalance_SubTotal = Abs(dBalance_SubTotal)
            Else
                sBalance_Direction_SubTotal = "平"
            End If
            '追加本月合计
            Call AppendTotalRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, PreKjqj, 0, _
                    "", "", "[  本  月  合  计  ]", _
                    dDebit_SlSubTotal, dDebit_WbSubTotal, dDebit_SubTotal, _
                    dCredit_SlSubTotal, dCredit_WbSubTotal, dCredit_SubTotal, _
                    sBalance_Direction_SubTotal, _
                    dBalance_SlSubTotal, dBalance_WbSubTotal, dBalance_SubTotal, _
                    dBalance_SlSubTotal_Child, dBalance_WbSubTotal_Child, dBalance_SubTotal_Child)
            CurRow = CurRow + 1
            lCount = lCount + 1
            '如果当前记录数等于每页行数,则换页
            If (lCount Mod ROWS_PAGE) = 0 Then
                Call SetNewPage(lPage, lCount, _
                                dDebit_SlSubTotal, dDebit_WbSubTotal, dDebit_SubTotal, _
                                dCredit_SlSubTotal, dCredit_WbSubTotal, dCredit_SubTotal, _
                                sCurrent_Balance_Direction, _
                                dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                                dBalance_SlSubTotal_Child, dBalance_WbSubTotal_Child, dBalance_SubTotal_Child)
            End If
            '--------------End----------------
            
            '追加本年累计
            '--------------Begin------------
            '根据本年累计的值决定本年累计的方向
            If dBalance_Total > 0 Then
                sBalance_Direction_Total = "借"
            ElseIf dBalance_Total < 0 Then
                sBalance_Direction_Total = "贷"
                dBalance_Total = -dBalance_Total
            Else
                sBalance_Direction_Total = "平"
            End If
            '追加本年累计
            Call AppendTotalRow(ROW_GRID_START + lCount - 1, CurRow - ROW_GRID_START + 1, PreKjqj, 0, "", "", _
                    "[  本  年  累  计  ]", _
                    dDebit_SlTotal + dBegin_SlLjJf, dDebit_WbTotal + dBegin_WbLjJf, dDebit_Total + dBegin_LjJf, _
                    dCredit_SlTotal + dBegin_SlLjDf, dCredit_WbTotal + dBegin_WbLjDf, dCredit_Total + dBegin_LjDf, _
                    sBalance_Direction_Total, _
                    dBalance_SlTotal, dBalance_WbTotal, dBalance_Total, _
                    dBalance_SlTotal_Child, dBalance_WbTotal_Child, dBalance_Total_Child)
            '--------------End----------------
        End If
        .Close
    End With
    Set rstTemp = Nothing
    
'-----------------------------------------------
    Call SetGrid(lPage + 1, ROW_GRID_START + lCount)
    For i = 1 To Cllr.GetTotalSheets
       Cllr.SetSheetLabel i - 1, "第" & i & "页"
       Cllr.SetCellString iCol_End, ROW_PAGEHEAD5, i - 1, "总 " & CStr(Cllr.GetTotalSheets) & " 页 " & " 第 " & CStr(i) & " 页"
       Cllr.ShowSideLabel 0, i - 1                   '行标不可见
       Cllr.ShowTopLabel 0, i - 1                   '列标不可见
    Next i
'    With cboAccountbook
'         .Left = CllR.Left + CllR.GetColWidth(1, COL_MONTH, 0) + CllR.Left + CllR.GetColWidth(1, COL_DAY, 0)
'         .Top = CllR.Top + CllR.GetRowHeight(1, ROW_TITLE, 0)
'         .Width = 3000
'    End With
    
    Cllr.SetCurSheet 0
    Cllr.Visible = True
    
    fMainForm.MousePointer = vbDefault
    Unload frm
    Me.Visible = True
End Sub

'在转页时加入一个过次行和一个承前行
Private Sub SetNewPage(ByRef lPage As Long, ByRef lCount As Long, _
            ByVal dDebit_SlSubTotal As Double, ByVal dDebit_WbSubTotal As Double, ByVal dDebit_SubTotal As Double, _
            ByVal dCredit_SlSubTotal, ByVal dCredit_WbSubTotal, ByVal dCredit_SubTotal, _
            ByVal sCurrent_Balance_Direction As String, _
            ByVal dBalance_SlTotal As Double, ByVal dBalance_WbTotal As Double, ByVal dBalance_Total 

⌨️ 快捷键说明

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