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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 4 页
字号:
    
    '调整标题位置
    SetTitlePos tsLabel(4)
    
End Sub

Private Sub Form_Unload(Cancel As Integer)                                  '窗体卸载
    Set clsAccAss = Nothing  '请除变量
    '卸载条件窗体
    ZF_Bm_FrmBmyebtj.UnloadCheck.Value = 1
    Unload ZF_Bm_FrmBmyebtj
    '卸载打印页面设置窗体
    Unload Dyymctbl
    Set clsAccAss = Nothing
End Sub

Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)       '网格格式调整
    Select Case Button.Key
    Case "bcgs"                                          '保存表格格式
        Call Bcwggs(CxbbGrid, GridCode, GridStr)
    Case "hfmrgs"                                        '恢复默认格式
        Call Hfmrgs(CxbbGrid, GridCode, GridStr)
    Case "szxsxm"                                        '设置显示项目
        Call Szxsxm(CxbbGrid, GridCode)
    End Select
End Sub

Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
    Case "ymsz"                                          '页面设置
        Dyymctbl.Show 1
    Case "yl"                                            '预 览
        Call bbyl(True)
    Case "dy"                                            '打 印
        Call bbyl(False)
    Case "cx"                                            '查 询
        ZF_Bm_FrmBmyebtj.Show 1
    Case "lj"                                            '累 计
        Call Combo_AccFormat_Click
    Case "bz"                                            '帮 助
        Call F1bz
    Case "fh"                                            '退 出
        Unload Me
    End Select
End Sub

Private Sub Timer1_Timer()                                 '在窗体激活后调入查询程序
    Dim RecTemp As New ADODB.Recordset          '临时使用动态集
    Timer1.Enabled = False
    
    '加快显示速度
    CxbbGrid.Redraw = False
    
    Xt_Wait.Show
    Xt_Wait.Refresh
    
    '生成查询结果
    Call Sub_Query
    
    Call Combo_AccFormat_Click
    
    CxbbGrid.SetFocus
    
    CxbbGrid.Redraw = True
    
    Xt_Wait.Hide
    
End Sub

Private Sub Sub_Query()                                    '生成查询结果
    Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
    Dim RecTemp As New ADODB.Recordset          '临时使用动态集
    Dim Rec_AccSum As New ADODB.Recordset       '科目总帐动态集
    Dim Str_QueryCondi As String                '用户录入查询条件
    Dim Sqlstr As String                        '查询字符串
    Dim Coljsq As Long                          '网格列计数器
    Dim Jsqte As Long                           '临时动态计数器
    Dim Bln_IncluNotBook As Boolean             '是否包含未记帐凭证
    Dim Bln_EndFlag As Boolean                  '判断当前科目是否为末级科目
    Dim Bln_ForeignFlag As Boolean              '判断此科目是否外币核算
    Dim Int_Tjfx As Integer                     '余额统计方向
    Dim Dbl_BeginYe As Double                   '查询起始余额
    Dim Dbl_EndYe As Double                     '查询终止余额
    Dim Bln_Fhxstj As Boolean                   '记录是否符合显示条件
    Dim Int_BPeriod As Integer                  '查询起始会计期间
    Dim Int_EPeriod As Integer                  '查询终止会计期间
    Dim Int_Year As Integer                     '查询会计年度
    Dim Str_Ccode As String                     '查询会计科目
    Dim Str_FzCode As String                    '查询辅助编码
    Dim Dbl_Qcyete#, Dbl_Qcslte#, Dbl_Qcwbte#   '期初金额,数量,外币
    Dim Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_Sljfhj#, Dbl_Sldfhj#, Dbl_Wbjfhj#, Dbl_Wbdfhj# '本期合计(金额,数量,外币)
    Dim Dbl_Jejflj#, Dbl_Jedflj#, Dbl_Sljflj#, Dbl_Sldflj#, Dbl_Wbjflj#, Dbl_Wbdflj# '截止累计(金额,数量,外币)
    Dim Dbl_Qmyete#, Dbl_Qmslte#, Dbl_Qmwbte#   '期末金额,数量,外币
    Dim Dbl_Sjzj(1 To 18) As Double             '数据总计
    Dim Bln_NotShowEmpty As Boolean             '数据全部为零不显示
    
    '以下为用户自定义部分[
    
    With ZF_Bm_FrmBmyebtj
        
        '查询部门编码
        Str_FzCode = Trim(.LrText(0).Tag)
        Lab_FzName.Caption = Trim(.LrText(0).Text)
        
        '显示查询会计期间
        Lab_TitleText(0).Caption = .Combo_Kjqj(0).Text & "-" & .Combo_Kjqj(1)
        Int_Year = Int(Mid(.Combo_Kjqj(0).Text, 1, 4))
        Int_BPeriod = Int(Mid(.Combo_Kjqj(0).Text, 6, 2))
        Int_EPeriod = Int(Mid(.Combo_Kjqj(1).Text, 6, 2))
        
        '是否包含未记帐凭证
        If .Chk_NotBook.Value = 1 Then
            Bln_IncluNotBook = True
        Else
            Bln_IncluNotBook = False
        End If
        
        '数据为零不显示
        Bln_NotShowEmpty = True
        
    End With
    
    '计算所有用户选中(部门)的科目发生额及余额
    Dim clsAccAss As New AccAssi
    With clsAccAss
        .iPeriod_Begin = Int_BPeriod  '查询会计期开始
        .iPeriod_End = Int_EPeriod    '查询会计期结束
        .iPeriod_Year = Int_Year      '查询会计年
        .b_Keep_Business_Records = Bln_IncluNotBook  '是否包含记帐凭证
        .PayTypes = Dep   '常量,Dep:部门,Per个人,Cur:客户,Ven:供应商
        .sPayCode = Str_FzCode  '部门、个人、客户或供应商代码
    End With
    Set Rec_Query = clsAccAss.GetNewRs()
    '在Form_UnLoad()销毁对象
    '===============================================
    With Rec_Query
        
        CxbbGrid.Rows = CxbbGrid.FixedRows
        Jsqte = CxbbGrid.FixedRows - 1
        
        Do While Not .EOF
            
            Dbl_Qcyete = IIf(IsNull(Rec_Query.Fields("QcyeHj")), 0, Rec_Query.Fields("QcyeHj"))
            Dbl_Qcslte = IIf(IsNull(Rec_Query.Fields("QcslHj")), 0, Rec_Query.Fields("QcslHj"))
            Dbl_Qcwbte = IIf(IsNull(Rec_Query.Fields("QcwbHj")), 0, Rec_Query.Fields("QcwbHj"))
            Dbl_Jejfhj = IIf(IsNull(Rec_Query.Fields("Mjjehj")), 0, Rec_Query.Fields("Mjjehj"))
            Dbl_Jedfhj = IIf(IsNull(Rec_Query.Fields("Mdjehj")), 0, Rec_Query.Fields("Mdjehj"))
            Dbl_Sljfhj = IIf(IsNull(Rec_Query.Fields("Mjslhj")), 0, Rec_Query.Fields("Mjslhj"))
            Dbl_Sldfhj = IIf(IsNull(Rec_Query.Fields("Mdslhj")), 0, Rec_Query.Fields("Mdslhj"))
            Dbl_Wbjfhj = IIf(IsNull(Rec_Query.Fields("Mjwbhj")), 0, Rec_Query.Fields("Mjwbhj"))
            Dbl_Wbdfhj = IIf(IsNull(Rec_Query.Fields("Mdwbhj")), 0, Rec_Query.Fields("Mdwbhj"))
            Dbl_Jejflj = IIf(IsNull(Rec_Query.Fields("Byjfljjehj")), 0, Rec_Query.Fields("Byjfljjehj"))
            Dbl_Jedflj = IIf(IsNull(Rec_Query.Fields("Bydfljjehj")), 0, Rec_Query.Fields("Bydfljjehj"))
            Dbl_Sljflj = IIf(IsNull(Rec_Query.Fields("Byjfljslhj")), 0, Rec_Query.Fields("Byjfljslhj"))
            Dbl_Sldflj = IIf(IsNull(Rec_Query.Fields("Bydfljslhj")), 0, Rec_Query.Fields("Bydfljslhj"))
            Dbl_Wbjflj = IIf(IsNull(Rec_Query.Fields("Byjfljwbhj")), 0, Rec_Query.Fields("Byjfljwbhj"))
            Dbl_Wbdflj = IIf(IsNull(Rec_Query.Fields("Bydfljwbhj")), 0, Rec_Query.Fields("Bydfljwbhj"))
            Dbl_Qmyete = Dbl_Qcyete + Dbl_Jejfhj - Dbl_Jedfhj
            Dbl_Qmslte = Dbl_Qcslte + Dbl_Sljfhj - Dbl_Sldfhj
            Dbl_Qmwbte = Dbl_Qcwbte + Dbl_Wbjfhj - Dbl_Wbdfhj
            
            '判断是否输出数据
            
            Bln_Fhxstj = False
            
            If Bln_NotShowEmpty Then
                If Dbl_Qcyete <> 0 Or Dbl_Qcslte <> 0 Or Dbl_Qcwbte <> 0 Then
                    Bln_Fhxstj = True
                End If
                If Dbl_Jejfhj <> 0 Or Dbl_Jedfhj <> 0 Or Dbl_Sljfhj <> 0 Or Dbl_Sldfhj <> 0 Or Dbl_Wbjfhj <> 0 Or Dbl_Wbdfhj <> 0 Then
                    Bln_Fhxstj = True
                End If
                If Dbl_Jejflj <> 0 Or Dbl_Jedflj <> 0 Or Dbl_Sljflj <> 0 Or Dbl_Sldflj <> 0 Or Dbl_Wbjflj <> 0 Or Dbl_Wbdflj <> 0 Then
                    Bln_Fhxstj = True
                End If
            Else
                Bln_Fhxstj = True
            End If
            
            
            '数据输出
            If Bln_Fhxstj Then
                CxbbGrid.AddItem ""
                Jsqte = Jsqte + 1
                
                '数据总计
                If .Fields("EndFlag") Then
                    Dbl_Sjzj(1) = Dbl_Sjzj(1) + Dbl_Qcyete
                    Dbl_Sjzj(2) = Dbl_Sjzj(2) + Dbl_Qcslte
                    Dbl_Sjzj(3) = Dbl_Sjzj(3) + Dbl_Qcwbte
                    Dbl_Sjzj(4) = Dbl_Sjzj(4) + Dbl_Jejfhj
                    Dbl_Sjzj(5) = Dbl_Sjzj(5) + Dbl_Jedfhj
                    Dbl_Sjzj(6) = Dbl_Sjzj(6) + Dbl_Sljfhj
                    Dbl_Sjzj(7) = Dbl_Sjzj(7) + Dbl_Sldfhj
                    Dbl_Sjzj(8) = Dbl_Sjzj(8) + Dbl_Wbjfhj
                    Dbl_Sjzj(9) = Dbl_Sjzj(9) + Dbl_Wbdfhj
                    Dbl_Sjzj(10) = Dbl_Sjzj(10) + Dbl_Jejflj
                    Dbl_Sjzj(11) = Dbl_Sjzj(11) + Dbl_Jedflj
                    Dbl_Sjzj(12) = Dbl_Sjzj(12) + Dbl_Sljflj
                    Dbl_Sjzj(13) = Dbl_Sjzj(13) + Dbl_Sldflj
                    Dbl_Sjzj(14) = Dbl_Sjzj(14) + Dbl_Wbjflj
                    Dbl_Sjzj(15) = Dbl_Sjzj(15) + Dbl_Wbdflj
                    Dbl_Sjzj(16) = Dbl_Sjzj(16) + Dbl_Qmyete
                    Dbl_Sjzj(17) = Dbl_Sjzj(17) + Dbl_Qmslte
                    Dbl_Sjzj(18) = Dbl_Sjzj(18) + Dbl_Qmwbte
                End If
                
                CxbbGrid.RowHeight(Jsqte) = Sjhgd
                
                CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("CCode"))            '科目编码
                CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("CName") & "")       '科目名称
                
                
                '将期初数据写入网格
                If Dbl_Qcyete = 0 Then
                    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "平"     '期初方向
                    If Bln_EndFlag And Dbl_Qcslte <> 0 Then
                        CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_Qcslte
                    End If
                    If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
                        CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcwbte
                    End If
                Else
                    
                    If Dbl_Qcyete > 0 Then
                        CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "借"
                        CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Dbl_Qcyete
                        CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = Dbl_Qcyete
                        If Bln_EndFlag And Dbl_Qcslte <> 0 Then
                            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_Qcslte
                        End If
                        If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
                            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_Qcwbte
                        End If
                    Else
                        CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "贷"
                        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = -Dbl_Qcyete
                        CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = -Dbl_Qcyete
                        If Bln_EndFlag And Dbl_Qcslte <> 0 Then
                            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = -Dbl_Qcslte
                        End If
                        If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
                            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = -Dbl_Qcwbte
                        End If
                    End If
                End If
                
                '将期间合计数据写入网格
                If Dbl_Jejfhj <> 0 Then
                    CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = Dbl_Jejfhj       '本期发生.借方
                    CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = Dbl_Jejfhj       '本期借方发生.金额
                End If
                If Dbl_Jedfhj <> 0 Then
                    CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Dbl_Jedfhj       '本期发生.贷方
                    CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Dbl_Jedfhj       '本期贷方发生.金额
                End If
                
                '仅有末级科目才显示数量,外币
                
                If Bln_EndFlag Then
                    If Dbl_Sljfhj <> 0 Then
                        CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Dbl_Sljfhj   '本期借方发生.数量
                    End If
                    If Dbl_Sldfhj <> 0 Then
                        CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = Dbl_Sldfhj   '本期贷方发生.数量

⌨️ 快捷键说明

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