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

📄 i-

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
        If Lbl_TitleText(0).Tag = "计划价法" Then
            .Buttons("mx").Enabled = True
            .Buttons("hz").Enabled = True
            .Buttons("cy").Enabled = True
            .Buttons("zh").Enabled = True
        Else
            .Buttons("mx").Enabled = False
            .Buttons("hz").Enabled = False
            .Buttons("cy").Enabled = False
            .Buttons("zh").Enabled = False
        End If
    End With
    
    For Jsqte = Qslz To CxbbGrid.Cols - 1
        CxbbGrid.ColHidden(Jsqte) = GridColHide(Jsqte)
    Next Jsqte
    
    '加快显示速度
    CxbbGrid.Redraw = False

    '生成查询结果
    Call Sub_Query(0, "")
   
    CxbbGrid.Redraw = True
    
    Xt_Wait.Hide

End Sub

Private Sub Sub_Query(Int_QueryType As Integer, Mnumber As String)                              '生成查询结果(Define)
    
    '过程参数:Int_QueryType 0-"点确定按钮"查询  1-"刷新"查询

    Dim Rec_Query As Recordset                  '查询结果动态集
    Dim Rowjsq As Long                          '网格行计数器
    Dim Coljsq As Long                          '网格列计数器
    Dim Jsqte As Long                        '临时动态计数器
    Dim Str1 As String
    Dim NewCombox As ComboItem
    Dim FindRow As Long
    
    '以下为自定义部分[
 
    If Int_QueryType = 0 Then   '0-"点确定按钮"查询
        With Zbfx_ListCond
         
            '生成查询条件
            Str_QueryCondi = " where kjyear= " & Xtyear
            For Jsqte = 0 To 5
                Select Case Jsqte
                    Case 0  '月份(起始)
                        Str_QueryCondi = Str_QueryCondi & " And a.period>= '" & .Com_QsMon.ItemData(.Com_QsMon.ListIndex) & "'"
                        mMon = .Com_QsMon.ItemData(.Com_QsMon.ListIndex)
                    Case 1  '月份(终止)
                        Str_QueryCondi = Str_QueryCondi & " And a.period<= '" & .Com_JzMon.ItemData(.Com_JzMon.ListIndex) & "'"
                    Case 2  '仓库
                        Str_QueryCondi = Str_QueryCondi & " And a.whcode='" & Trim(.LrText(0).Tag) & "'"
                        mWhcode = Trim(.LrText(0).Tag)
                    Case 3  '存货分类(Like)
                        If Trim(.LrText(1).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And a.invsortcode like '" & Trim(.LrText(1).Tag) & "%'"
                        End If
                    Case 4  '查询存货范围(起始)
                        If Trim(.LrText(2).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And a.mnumber>='" & Trim(.LrText(2).Text) & "'"
                        End If
                    Case 5  '查询存货范围(终止)
                        If Trim(.LrText(3).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And a.mnumber<= '" & Trim(.LrText(3).Text) & "'"
                        End If
                End Select
            Next Jsqte
        End With
    
        '填充存货列表
        SqlStr = "SELECT Distinct Mnumber,Mname,Model FROM Chhs_V_List a " & Trim(Str_QueryCondi)
        Xtbmczdm = SqlStr
        Com_Mnumber.Enabled = True
        Call FillImageCombo(Com_Mnumber, "Chhs_List", 0)
        If Com_Mnumber.ComboItems.count > 0 And Xtcdcs = "Chhs_List" Then
            Xtcdcs = ""
            Mnumber = Mid(Com_Mnumber.ComboItems.Item(Val(Xtcdcsfz)).Key, 2, 20)
            Com_Mnumber.ComboItems.Item(Val(Xtcdcsfz)).Selected = True
            Lbl_TitleText(0) = Com_Mnumber.ComboItems.Item(Com_Mnumber.SelectedItem.Index).Tag
            Lbl_TitleText(1) = Zbfx_ListCond.LrText(0).Text
            mMnumber = Mnumber
        ElseIf Com_Mnumber.ComboItems.count > 0 Then
            Mnumber = Mid(Com_Mnumber.ComboItems.Item(1).Key, 2, 20)
            mMnumber = Mnumber
        Else
            Com_Mnumber.Text = ""
        End If
    Else
        If Str_QueryCondi = "" Then
            Str_QueryCondi = " where 1=2"
        End If
    End If
     
    CxbbGrid.Rows = CxbbGrid.FixedRows
     
     '填充期初数据
    SqlStr = "SELECT * FROM Chhs_Mate where kjyear=" & Xtyear & " and period=" & mMon & _
              " and whcode='" & mWhcode & "' and mnumber='" & Mnumber & "' "
    Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
    
    CxbbGrid.AddItem ""
    Jsqte = CxbbGrid.Rows - 1
    CxbbGrid.RowHeight(Jsqte) = Sjhgd
    CxbbGrid.TextMatrix(Jsqte, 0) = mMon + 1
    CxbbGrid.TextMatrix(Jsqte, 1) = mMon
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = " 期初结存"
    If Not Rec_Query.EOF Then
        CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Rec_Query.Fields("StartQuan") + 0
        If Rec_Query.Fields("StartPrice") <> 0 Then                                                                     '计划单价
            CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Rec_Query.Fields("StartPrice") + 0
        End If
        CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Rec_Query.Fields("StartMoney") + 0
        CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Rec_Query.Fields("StartDiff") + 0
    Else
        CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = "0"
        CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = "0"
    End If
    
    '日常单据
    SqlStr = "SELECT * FROM Chhs_V_List a " & Trim(Str_QueryCondi) & _
              " and a.mnumber='" & Mnumber & "'and a.startflag=0 Order By a.BillDate,a.InOutflag desc,a.ListId"
    Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(SqlStr)
    With Rec_Query
        
        Do While Not .EOF
    
            CxbbGrid.AddItem ""
            Jsqte = CxbbGrid.Rows - 1
            '[>>自定义填充内容
            CxbbGrid.TextMatrix(Jsqte, 0) = .Fields("period") + 1
            CxbbGrid.TextMatrix(Jsqte, 1) = .Fields("period")
            If .Fields("InoutMainId") <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, 2) = .Fields("InoutMainId")                                            'ID(主要用来查询定位用)
            Else
                CxbbGrid.TextMatrix(Jsqte, 2) = .Fields("InoutAdjustMainId")                                            'ID(主要用来查询定位用)
            End If
            CxbbGrid.TextMatrix(Jsqte, 3) = Trim(.Fields("BillCode"))                                                    '单据编码
            CxbbGrid.TextMatrix(Jsqte, 4) = Trim(.Fields("vouchid"))                                                    '单据编码
            If Trim(.Fields("billcode")) = "1307" Then
                CxbbGrid.RowHidden(Jsqte) = True
            End If
            CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("BillNum") & "")              '单据号
            CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Format(.Fields("ChalkDate"), "yyyy-mm-dd") '记帐日期
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Format(.Fields("BillDate"), "yyyy-mm-dd")  '入库日期
            CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("SupplierName") & "")         '供应商
            CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("cusname") & "")              '客户
            CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Trim(.Fields("Deptname") & "")             '部门
            CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Trim(.Fields("InoutClassName") & "")       '收发类别
            CxbbGrid.TextMatrix(Jsqte, Sydz("019", GridStr(), Szzls)) = Trim(.Fields("PersonName") & "")           '业务员
            CxbbGrid.TextMatrix(Jsqte, Sydz("020", GridStr(), Szzls)) = Trim(.Fields("Maker") & "")                '制单人
            CxbbGrid.TextMatrix(Jsqte, Sydz("021", GridStr(), Szzls)) = Trim(.Fields("Checker") & "")              '审核人
            CxbbGrid.TextMatrix(Jsqte, Sydz("022", GridStr(), Szzls)) = Trim(.Fields("ChalkitupMan") & "")         '记帐人
            CxbbGrid.TextMatrix(Jsqte, Sydz("023", GridStr(), Szzls)) = Trim(.Fields("billname") & "")               '备注
            CxbbGrid.TextMatrix(Jsqte, Sydz("024", GridStr(), Szzls)) = Trim(.Fields("remark") & "")               '备注
            
            If .Fields("inoutFlag") Then        '入库
                If .Fields("InQuan") <> 0 Then                                                                           '数量
                    CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = .Fields("InQuan") + 0
                End If
                If .Fields("InPrice") <> 0 Then                                                                      '计划单价
                    CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("InPrice") + 0
                End If
                If .Fields("InMoney") <> 0 Then                                                                      '计划金额
                    CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = .Fields("InMoney") + 0
                End If
            Else                                '出库
                If Trim(.Fields("billcode")) = "1303" Then
                    If .Fields("OutQuan") <> 0 Then                                                                           '数量
                        CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = 0 - .Fields("OutQuan")
                    End If
                    If .Fields("OutPrice") <> 0 Then                                                                          '实际单价
                        CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = .Fields("OutPrice")
                    End If
                    If .Fields("OutMoney") <> 0 Then                                                                         '实际金额
                        CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = 0 - .Fields("OutMoney")
                    End If
                Else
                    If .Fields("OutQuan") <> 0 Then                                                                           '数量
                        CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = .Fields("OutQuan") + 0
                    End If
                    If .Fields("OutPrice") <> 0 Then                                                                          '实际单价
                        CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = .Fields("OutPrice") + 0
                    End If
                    If .Fields("OutMoney") <> 0 Then                                                                         '实际金额
                        CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = .Fields("OutMoney") + 0
                    End If
                End If
            End If
            
            '差异
            If .Fields("JfDiff") <> 0 Then                                                                               '借方差异
                CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = .Fields("JfDiff") + 0
            End If
            If .Fields("DfDiff") <> 0 Then                                                                               '贷方差异
                CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = .Fields("DfDiff") + 0
            End If
            CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("015", GridStr(), Szzls))) + Val(.Fields("jfdiff")) - Val(.Fields("dfdiff"))
            If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls))) = 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = ""
            End If
            
            '结存
            CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("010", GridStr(), Szzls))) + Val(.Fields("inquan")) - Val(.Fields("outquan"))
            CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte - 1, Sydz("012", GridStr(), Szzls))) + Val(.Fields("inmoney")) - Val(.Fields("outmoney"))
            If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls))) <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Val(CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls))) / Val(CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)))
            End If
            If Val(CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls))) = 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = ""
            End If
            
            '<<]
            '设置数据行高度(Fixed)
            CxbbGrid.RowHeight(Jsqte) = Sjhgd
     
            '动态集指针加1,同时将计数器加1(Fixed)
            .MoveNext
            Jsqte = Jsqte + 1
        Loop
    End With
    
    
    '输入合计
    With CxbbGrid
        
        If .Rows = .FixedRows + 1 Then Exit Sub
        
        If .TextMatrix(.FixedRows, 1) <> .TextMatrix(.FixedRows + 1, 1) Then
            .TextMatrix(.FixedRows, 0) = .TextMatrix(.FixedRows + 1, 0)
            .TextMatrix(.FixedRows, 1) = .TextMatrix(.FixedRows + 1, 1)
        End If
        
        If Zbfx_ListCond.Che_Sum.Value <> 0 Then
           .SubtotalPosition = flexSTBelow
           For Jsqte = Qslz To .Cols - 1
                If GridBoolean(Jsqte, 4) Then
                     .Subtotal flexSTSum, 0, Jsqte, , &HF7F3EC, , , , , True
                     .Subtotal flexSTSum, 1, Jsqte, , &HF7F3EC, , , , , True
                End If
           Next

           For Jsqte = .FixedRows To .Rows - 1
                If .IsSubtotal(Jsqte) Then
                    .TextMatrix(Jsqte, 0) = .TextMatrix(Jsqte - 1, 0)
                    .TextMatrix(Jsqte, 1) = .TextMatrix(Jsqte - 1, 1)
                    If .IsSubtotal(Jsqte - 1) Then
                        .TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本年累计"
                        For Rowjsq = .FixedRows To Jsqte - 1
                            If .IsSubtotal(Rowjsq) And .TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "本年累计" Then
                                For Coljsq = Qslz To .Cols - 1
                                    If GridBoolean(Coljsq, 4) Then
                                        If .TextMatrix(.FixedRows - 1, Coljsq) = "数量" Then
                                            .TextMatrix(Jsqte, Coljsq) = Val(Format(.TextMatrix(Jsqte, Coljsq), "#####." + String(Xtslxsws, "#"))) + Val(Format(.TextMatrix(Rowjsq - 1, Coljsq), "####." + String(Xtslxsws, "#")))
                                        Else
                                            .TextMatrix(Jsqte, Coljsq) = Val(Format(.TextMatrix(Jsqte, Coljsq), "#####." + String(Xtjexsws, "#"))) + Val(Format(.TextMatrix(Rowjsq - 1, Coljsq), "####." + String(Xtjexsws, "#")))
                                        End If
                                    End If
                                Next Coljsq
                            End If
                        Next Rowjsq
                    Else
                        .TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = .TextMatrix(Jsqte, 1) + "月合计"
                    End If
                    For Coljsq = Qslz To .Cols - 1
                        If Val(.TextMatrix(Jsqte, Coljsq)) = 0 And GridBoolean(Coljsq, 4) Then
                            .TextMatrix(Jsqte, Coljsq) = ""
                        End If
                    Next
                    .RowHeight(Jsqte) = Sjhgd
                    
                End If
           Next
        End If
    End With
    
    ']以上为用户自

⌨️ 快捷键说明

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