📄 frmac_randommulticolresult.frm
字号:
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 + -