📄 +
字号:
Dbl_Now(4) = Val(.TextMatrix(Yxxpdh, Sydz("009", GridStr(), Szzls))) '期末余额
Dbl_Now(5) = Val(.TextMatrix(Yxxpdh, Sydz("010", GridStr(), Szzls))) '年初数量
Dbl_Now(6) = Val(.TextMatrix(Yxxpdh, Sydz("011", GridStr(), Szzls))) '本年借方累计数量
Dbl_Now(7) = Val(.TextMatrix(Yxxpdh, Sydz("012", GridStr(), Szzls))) '本年贷方累计金额
Dbl_Now(8) = Val(.TextMatrix(Yxxpdh, Sydz("013", GridStr(), Szzls))) '期末数量
Dbl_Now(9) = Val(.TextMatrix(Yxxpdh, Sydz("014", GridStr(), Szzls))) '年初外币
Dbl_Now(10) = Val(.TextMatrix(Yxxpdh, Sydz("015", GridStr(), Szzls))) '本年借方累计外币
Dbl_Now(11) = Val(.TextMatrix(Yxxpdh, Sydz("016", GridStr(), Szzls))) '本年贷方累计外币
Dbl_Now(12) = Val(.TextMatrix(Yxxpdh, Sydz("017", GridStr(), Szzls))) '期末余额
Else
Dbl_Now(1) = -Val(.TextMatrix(Yxxpdh, Sydz("006", GridStr(), Szzls))) '年初余额
Dbl_Now(2) = Val(.TextMatrix(Yxxpdh, Sydz("007", GridStr(), Szzls))) '本年借方累计金额
Dbl_Now(3) = Val(.TextMatrix(Yxxpdh, Sydz("008", GridStr(), Szzls))) '本年贷方累计金额
Dbl_Now(4) = -Val(.TextMatrix(Yxxpdh, Sydz("009", GridStr(), Szzls))) '期末余额
Dbl_Now(5) = -Val(.TextMatrix(Yxxpdh, Sydz("010", GridStr(), Szzls))) '年初数量
Dbl_Now(6) = Val(.TextMatrix(Yxxpdh, Sydz("011", GridStr(), Szzls))) '本年借方累计数量
Dbl_Now(7) = Val(.TextMatrix(Yxxpdh, Sydz("012", GridStr(), Szzls))) '本年贷方累计金额
Dbl_Now(8) = -Val(.TextMatrix(Yxxpdh, Sydz("013", GridStr(), Szzls))) '期末数量
Dbl_Now(9) = -Val(.TextMatrix(Yxxpdh, Sydz("014", GridStr(), Szzls))) '年初外币
Dbl_Now(10) = Val(.TextMatrix(Yxxpdh, Sydz("015", GridStr(), Szzls))) '本年借方累计外币
Dbl_Now(11) = Val(.TextMatrix(Yxxpdh, Sydz("016", GridStr(), Szzls))) '本年贷方累计外币
Dbl_Now(12) = -Val(.TextMatrix(Yxxpdh, Sydz("017", GridStr(), Szzls))) '期末余额
End If
End With
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
'1.登记总帐(注意需要对其上级科目记帐)
Int_LevTe = 1
Do While True
Str_Parent = Trim(Mid(Str_Ccode, 1, Int_CodeScheme(Int_LevTe)))
With Rec_AccSum
If .State = 1 Then .Close
.Open "SELECT Cwzz_AccSum.* From Cwzz_AccSum WHERE Ccode='" & Str_Parent & "' And Year =" & Int_OriYear & " AND Period = 1", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
'判断记帐科目是否存在,如存在则替换原有数据,否则插入新记录
If Not Rec_AccSum.EOF Then
'判断是否为末级科目,如是则替换原有数据,否则先减去原有数据再增加现录数据
If Str_Parent = Str_Ccode Then
.Fields("Ycye") = Dbl_Now(1) '年初余额
.Fields("Qcye") = Dbl_Now(1) '期初余额
.Fields("Mjje") = Dbl_Now(2) '本月借方金额合计
.Fields("Mdje") = Dbl_Now(3) '本月贷方金额合计
.Fields("Byjfljje") = Dbl_Now(2) '本月借方金额合计
.Fields("Bydfljje") = Dbl_Now(3) '本月贷方金额合计
.Fields("Qmye") = Dbl_Now(4) '期末余额
.Fields("Ycsl") = Dbl_Now(5) '年初数量
.Fields("Qcsl") = Dbl_Now(5) '期初数量
.Fields("Mjsl") = Dbl_Now(6) '本月借方数量合计
.Fields("Mdsl") = Dbl_Now(7) '本月贷方数量合计
.Fields("Byjfljsl") = Dbl_Now(6) '本月借方数量合计
.Fields("Bydfljsl") = Dbl_Now(7) '本月贷方数量合计
.Fields("Qmsl") = Dbl_Now(8) '期末数量
'如为外币核算则用外币录入金额替换,否则填入本位币金额
If Bln_Foreign Then
.Fields("Ycwb") = Dbl_Now(9) '年初原币
.Fields("Qcwb") = Dbl_Now(9) '期初原币
.Fields("Mjwb") = Dbl_Now(10) '本月借方原币合计
.Fields("Mdwb") = Dbl_Now(11) '本月贷方原币合计
.Fields("Byjfljwb") = Dbl_Now(10) '本月借方原币合计
.Fields("Bydfljwb") = Dbl_Now(11) '本月贷方原币合计
.Fields("Qmwb") = Dbl_Now(12) '期末原币
Else
.Fields("Ycwb") = Dbl_Now(1) '年初原币
.Fields("Qcwb") = Dbl_Now(1) '期初原币
.Fields("Mjwb") = Dbl_Now(2) '本月借方原币合计
.Fields("Mdwb") = Dbl_Now(3) '本月贷方原币合计
.Fields("Byjfljwb") = Dbl_Now(2) '本月借方原币合计
.Fields("Bydfljwb") = Dbl_Now(3) '本月贷方原币合计
.Fields("Qmwb") = Dbl_Now(4) '期末原币
End If
Else
.Fields("Ycye") = .Fields("Ycye") + Dbl_Now(1) - Dbl_Ori(1) '年初余额
.Fields("Qcye") = .Fields("Ycye") '期初余额
.Fields("Byjfljje") = .Fields("Byjfljje") + Dbl_Now(2) - Dbl_Ori(2) '本年借方金额累计
.Fields("Bydfljje") = .Fields("Bydfljje") + Dbl_Now(3) - Dbl_Ori(3) '本年贷方金额累计
.Fields("Mjje") = .Fields("Byjfljje") '本月借方金额合计
.Fields("Mdje") = .Fields("Bydfljje") '本月贷方金额合计
.Fields("Qmye") = .Fields("Qmye") + Dbl_Now(4) - Dbl_Ori(4) '期末余额
End If
.Update
'更新其他各会计期间数据
Sqlstr = "Update Cwzz_AccSum Set Ycye=" & .Fields("Ycye") & ",Qcye=" & .Fields("Qmye") & ",Byjfljje=" & .Fields("Byjfljje") & ",Bydfljje=" & .Fields("Bydfljje") & ",Qmye=" & .Fields("Qmye") & _
",Ycsl=" & .Fields("Ycsl") & ",Qcsl=" & .Fields("Qmsl") + 0 & ",Byjfljsl=" & .Fields("Byjfljsl") + 0 & ",Bydfljsl=" & .Fields("Bydfljsl") + 0 & ",Qmsl=" & .Fields("Qmsl") + 0 & _
",Ycwb=" & .Fields("Ycwb") & ",Qcwb=" & .Fields("Qmwb") + 0 & ",Byjfljwb=" & .Fields("Byjfljwb") + 0 & ",Bydfljwb=" & .Fields("Bydfljwb") + 0 & ",Qmwb=" & .Fields("Qmwb") + 0 & _
" Where Ccode='" & Str_Parent & "' And Year=" & Int_OriYear & " And Period >1"
Cw_DataEnvi.DataConnect.Execute (Sqlstr)
Else
.AddNew
.Fields("Ccode") = Str_Parent '科目编码
.Fields("Year") = Int_OriYear '会计年度
.Fields("Period") = 1 '会计期间
.Fields("Ycye") = Dbl_Now(1) '年初余额
.Fields("Qcye") = Dbl_Now(1) '期初余额
.Fields("Mjje") = Dbl_Now(2) '本月借方金额合计
.Fields("Mdje") = Dbl_Now(3) '本月贷方金额合计
.Fields("Byjfljje") = Dbl_Now(2) '本月借方金额合计
.Fields("Bydfljje") = Dbl_Now(3) '本月贷方金额合计
.Fields("Qmye") = Dbl_Now(4) '期末余额
If Str_Parent = Str_Ccode Then
.Fields("Ycsl") = Dbl_Now(5) '年初数量
.Fields("Qcsl") = Dbl_Now(5) '期初数量
.Fields("Mjsl") = Dbl_Now(6) '本月借方数量合计
.Fields("Mdsl") = Dbl_Now(7) '本月贷方数量合计
.Fields("Byjfljsl") = Dbl_Now(6) '本月借方数量合计
.Fields("Bydfljsl") = Dbl_Now(7) '本月贷方数量合计
.Fields("Qmsl") = Dbl_Now(8) '期末数量
If Bln_Foreign Then
.Fields("Ycwb") = Dbl_Now(9) '年初原币
.Fields("Qcwb") = Dbl_Now(9) '期初原币
.Fields("Mjwb") = Dbl_Now(10) '本月借方原币合计
.Fields("Mdwb") = Dbl_Now(11) '本月贷方原币合计
.Fields("Byjfljwb") = Dbl_Now(10) '本月借方原币合计
.Fields("Bydfljwb") = Dbl_Now(11) '本月贷方原币合计
.Fields("Qmwb") = Dbl_Now(12) '期末原币
Else
.Fields("Ycwb") = Dbl_Now(1) '年初原币
.Fields("Qcwb") = Dbl_Now(1) '期初原币
.Fields("Mjwb") = Dbl_Now(2) '本月借方原币合计
.Fields("Mdwb") = Dbl_Now(3) '本月贷方原币合计
.Fields("Byjfljwb") = Dbl_Now(2) '本月借方原币合计
.Fields("Bydfljwb") = Dbl_Now(3) '本月贷方原币合计
.Fields("Qmwb") = Dbl_Now(4) '期末原币
End If
End If
.Update
'添加并更新其他会计期间数据(按12个会计期间)
For Int_PeriodTe = 1 To 12
If Int_PeriodTe <> 1 Then
Sqlstr = "Insert Into Cwzz_AccSum (Ccode,Year,Period) values ('" & Str_Parent & "'," & Int_OriYear & "," & Int_PeriodTe & ")"
Cw_DataEnvi.DataConnect.Execute (Sqlstr)
End If
Next Int_PeriodTe
Sqlstr = "Update Cwzz_AccSum Set Ycye=" & .Fields("Ycye") & ",Qcye=" & .Fields("Qmye") & ",Byjfljje=" & .Fields("Byjfljje") & ",Bydfljje=" & .Fields("Bydfljje") & ",Qmye=" & .Fields("Qmye") & _
",Ycsl=" & .Fields("Ycsl") & ",Qcsl=" & .Fields("Qmsl") + 0 & ",Byjfljsl=" & .Fields("Byjfljsl") + 0 & ",Bydfljsl=" & .Fields("Bydfljsl") + 0 & ",Qmsl=" & .Fields("Qmsl") + 0 & _
",Ycwb=" & .Fields("Ycwb") & ",Qcwb=" & .Fields("Qmwb") + 0 & ",Byjfljwb=" & .Fields("Byjfljwb") + 0 & ",Bydfljwb=" & .Fields("Bydfljwb") + 0 & ",Qmwb=" & .Fields("Qmwb") + 0 & _
" Where Ccode='" & Str_Parent & "' And Year=" & Int_OriYear & " And Period >1"
Cw_DataEnvi.DataConnect.Execute (Sqlstr)
End If
End With
If Str_Parent = Str_Ccode Then
Exit Do
End If
Int_LevTe = Int_LevTe + 1
Loop
Cw_DataEnvi.DataConnect.CommitTrans
'刷新相应网格数据
Int_LevTe = 1
Do While True
Str_Parent = Trim(Mid(Str_Ccode, 1, Int_CodeScheme(Int_LevTe)))
If Str_Parent = Str_Ccode Then
Exit Do
End If
With RecTemp
Sqlstr = "SELECT Cwzz_AccSum.* From Cwzz_AccSum WHERE Ccode='" & Str_Parent & "' And Year =" & Int_OriYear & " AND Period = 1"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not RecTemp.EOF Then
Lng_GridRow = WglrGrid.FindRow(Str_Parent, , Sydz("001", GridStr(), Szzls))
If Lng_GridRow <> -1 Then
If RecTemp.Fields("Ycye") <> 0 Then '年初余额
If WglrGrid.TextMatrix(Lng_GridRow, Sydz("005", GridStr(), Szzls)) = "借" Then
WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = RecTemp.Fields("Ycye")
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = -RecTemp.Fields("Ycye")
End If
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("006", GridStr(), Szzls)) = ""
End If
If RecTemp.Fields("Byjfljje") <> 0 Then
WglrGrid.TextMatrix(Lng_GridRow, Sydz("007", GridStr(), Szzls)) = RecTemp.Fields("Byjfljje") '本年借方累计本币金额
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("007", GridStr(), Szzls)) = ""
End If
If RecTemp.Fields("Bydfljje") <> 0 Then
WglrGrid.TextMatrix(Lng_GridRow, Sydz("008", GridStr(), Szzls)) = RecTemp.Fields("Bydfljje") '本年贷方累计本币金额
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("008", GridStr(), Szzls)) = ""
End If
If RecTemp.Fields("Qmye") <> 0 Then
If WglrGrid.TextMatrix(Lng_GridRow, Sydz("005", GridStr(), Szzls)) = "借" Then
WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = RecTemp.Fields("Qmye")
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = -RecTemp.Fields("Qmye")
End If
Else
WglrGrid.TextMatrix(Lng_GridRow, Sydz("009", GridStr(), Szzls)) = ""
End If
End If
End If
End With
Int_LevTe = Int_LevTe + 1
Loop
'<<]
'以上为自定义部分]
Sjhzyxxpd = True
Hyxxpdlock = True
Exit Function
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "存盘过程中出现未知错误,程序自动恢复保存前状态!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
Lrcwcl: '录入错误处理
With WglrGrid
Call Xtxxts(Tsxx, 0, 1)
changelock = True
.Select Yxxpdh, Lrywlz
changelock = False
Call xswbk
Sjhzyxxpd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -