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

📄 -

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 4 页
字号:
        .ScrollTips = True
        .WordWrap = True
        
        For jsq = Qslz To .Cols - 1
            .ColHidden(jsq) = False
        Next jsq
        
        '填 充 网 格 标 题
        For Rowjsq = 0 To .FixedRows - 1
            .MergeRow(Rowjsq) = True
            .RowHeight(Rowjsq) = Sjhgd * 1.8
            .TextMatrix(Rowjsq, Qslz) = "物料编码"
            .TextMatrix(Rowjsq, Qslz + 1) = "物料名称"
            .TextMatrix(Rowjsq, Qslz + 2) = "规格型号"
            .TextMatrix(Rowjsq, Qslz + 3) = "计量单位"
            Coljsq = Qslz + 4
            If Not Rec_Class1.EOF Then
                Rec_Class1.MoveFirst
                For Coljsq = (Qslz + 4) To (.Cols - 5 - Rec_Class2.RecordCount)
                    .TextMatrix(Rowjsq, Coljsq) = Trim(Rec_Class1.Fields("inoutclassname")) & "数量"
                    .ColWidth(Coljsq) = Sjhgd * 6
                    Rec_Class1.MoveNext
                Next Coljsq
            End If
            .TextMatrix(Rowjsq, Coljsq) = "无入库类别数量"
            .TextMatrix(Rowjsq, Coljsq + 1) = "合计入库数量"
            If Not Rec_Class2.EOF Then
                Rec_Class2.MoveFirst
                For Coljsq = (Qslz + 6 + Rec_Class1.RecordCount) To (.Cols - 3)
                    .TextMatrix(Rowjsq, Coljsq) = Trim(Rec_Class2.Fields("inoutclassname")) & "数量"
                    .ColWidth(Coljsq) = Sjhgd * 6
                    Rec_Class2.MoveNext
                Next Coljsq
            End If
            .TextMatrix(Rowjsq, (.Cols - 2)) = "无出库类别数量"
            .TextMatrix(Rowjsq, (.Cols - 1)) = "合计出库数量"
        Next Rowjsq
        
        '数 据 网 格 高 度
        For Rowjsq = .FixedRows To .Rows - 1
            .RowHeight(Rowjsq) = Sjhgd
        Next Rowjsq
        
        '定 义 录 入 字 段 属 性
        For Coljsq = (Qslz + 3) To .Cols - 1
            .MergeCol(Coljsq) = True
            .ColAlignment(Coljsq) = flexAlignRightTop
            .FixedAlignment(Coljsq) = flexAlignGeneral
        Next Coljsq
        For Coljsq = 0 To .Cols - 1
            If .TextMatrix(0, Coljsq) = "合计入库数量" Or .TextMatrix(0, Coljsq) = "合计出库数量" Then
                .ColWidth(Coljsq) = Sjhgd * 6
            End If
        Next Coljsq
        .ColWidth(.Cols - 1) = Sjhgd * 6
        .ColWidth(.Cols - 2) = Sjhgd * 6
    End With
End Sub

Private Sub Show_Tab(Rec_Temp As Recordset)
    Dim Str_QC As String
    Dim rec_start As New Recordset
    Dim In_Count As Double
    Dim Out_Count As Double
    Dim Str_Bill As String
    Dim Rec_Mate As Recordset
    Dim str_temp As String
    Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
    
    Call FillGrid(Str_Class1, Str_Class2)
    Label3 = "仓库编码: " & Trim(Rec_Temp.Fields("whcode"))
    Label1 = "仓库名称: " & Trim(Rec_Temp.Fields("whname"))
    Label2 = "日期范围: " & Trim(KF_FrmInoutSumQuery.Combo_Kjqj1.Text) & "----" & Trim(KF_FrmInoutSumQuery.Combo_Kjqj2.Text)
    
    CxbbGrid.Redraw = False
    CxbbGrid.Rows = CxbbGrid.FixedRows
        jsqte = CxbbGrid.Rows
            Str_Bill = "select a.* " & _
                        "from (SELECT SUM(factreceiptquan)AS In_count,SUM(factissuequan)AS Out_count,mnumber,inoutclasscode, " & _
                        "(select inoutclassname from gy_inoutclass where inoutclasscode=KF_V_InOutClass.inoutclasscode)as inoutclassname , " & _
                        "(select mname from gy_material where mnumber=KF_V_InOutClass.mnumber)as mname,(select model from gy_material where KF_V_InOutClass.mnumber=gy_material.mnumber) as model, " & _
                        "(select primaryunitname from gy_material where KF_V_InOutClass.mnumber=gy_material.mnumber) as primaryunitname From KF_V_InOutClass " & _
                        "where whcode='" & Trim(Rec_Temp.Fields("whcode")) & "'  and kjyear=" & Xtyear & " and period between " & Val(Mid(Trim(KF_FrmInoutSumQuery.Combo_Kjqj1.Text), 6)) & " and " & Val(Mid(Trim(KF_FrmInoutSumQuery.Combo_Kjqj2.Text), 6)) & Str_Mate & "  GROUP BY mnumber, inoutclasscode)a order by mnumber"

            
            Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Str_Bill)
            Dim Sum_In As Double, Sum_Out As Double
            Sum_In = 0
            Sum_Out = 0

            If Not Rec_Query.EOF Then
                Rec_Query.MoveFirst
                CxbbGrid.AddItem ""
                CxbbGrid.TextMatrix(jsqte, Qslz) = Trim(Rec_Query.Fields("mnumber"))                    '物料编码
                CxbbGrid.TextMatrix(jsqte, Qslz + 1) = Trim(Rec_Query.Fields("mname"))                  '物料名称
                CxbbGrid.TextMatrix(jsqte, Qslz + 2) = Trim(Rec_Query.Fields("model"))                  '规格型号
                CxbbGrid.TextMatrix(jsqte, Qslz + 3) = Trim(Rec_Query.Fields("primaryunitname"))        '计量单位
                CxbbGrid.RowHeight(jsqte) = Sjhgd
                Do While Not Rec_Query.EOF
                    If Trim(Rec_Query.Fields("mnumber")) = Trim(CxbbGrid.TextMatrix(jsqte, Qslz)) Then  '将行转换成列
                        If IsNull(Rec_Query.Fields("inoutclassname")) Then
                            If Val(Rec_Query.Fields("In_count") & "") <> 0 Then
                                CxbbGrid.ColHidden(CxbbGrid.Cols - fixOut - 4) = False
                                CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - fixOut - 4)) = Val(Rec_Query.Fields("In_count") & "")        '入库数量
                                Sum_In = Sum_In + Val(Rec_Query.Fields("In_count") & "")
                            End If
                            
                            If Val(Rec_Query.Fields("out_count") & "") <> 0 Then
                                CxbbGrid.ColHidden(CxbbGrid.Cols - 2) = False
                                CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - 2)) = Val(Rec_Query.Fields("Out_count") & "")                '出库数量
                                Sum_Out = Sum_Out + Val(Rec_Query.Fields("Out_count") & "")
                            End If
                        End If
                            For Coljsq = (Qslz + 4) To CxbbGrid.Cols - 2
                                If Trim(Rec_Query.Fields("inoutclassname")) & "数量" = Trim(CxbbGrid.TextMatrix(0, Coljsq)) Then
                                    If Val(Rec_Query.Fields("In_count") & "") <> 0 Then
                                        CxbbGrid.TextMatrix(jsqte, Coljsq) = Val(Rec_Query.Fields("In_count") & "")                       '入库数量
                                        Sum_In = Sum_In + Val(Rec_Query.Fields("In_count"))
                                    Else
                                        CxbbGrid.TextMatrix(jsqte, Coljsq) = Val(Rec_Query.Fields("Out_count") & "")                     '出库数量
                                        Sum_Out = Sum_Out + Val(Rec_Query.Fields("Out_count") & "")
                                    End If
                                End If
                            Next
                            CxbbGrid.TextMatrix(jsqte, CxbbGrid.Cols - 1) = Sum_Out
                            CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - fixOut - 3)) = Sum_In
                            Rec_Query.MoveNext
                    Else
                        Sum_In = 0
                        Sum_Out = 0
                        jsqte = jsqte + 1
                        CxbbGrid.AddItem ""
                        CxbbGrid.TextMatrix(jsqte, Qslz) = Trim(Rec_Query.Fields("mnumber"))                    '物料编码
                        CxbbGrid.TextMatrix(jsqte, Qslz + 1) = Trim(Rec_Query.Fields("mname"))                  '物料名称
                        CxbbGrid.TextMatrix(jsqte, Qslz + 2) = Trim(Rec_Query.Fields("model"))                  '规格型号
                        CxbbGrid.TextMatrix(jsqte, Qslz + 3) = Trim(Rec_Query.Fields("primaryunitname"))        '计量单位
                        CxbbGrid.RowHeight(jsqte) = Sjhgd
                        If IsNull(Rec_Query.Fields("inoutclassname")) Then
                            If Val(Rec_Query.Fields("In_count") & "") <> 0 Then
                                CxbbGrid.ColHidden(CxbbGrid.Cols - fixOut - 4) = False
                                CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - fixOut - 4)) = Val(Rec_Query.Fields("In_count") & "")            '入库数量
                                Sum_In = Sum_In + Val(Rec_Query.Fields("In_count"))
                            End If
                            
                            If Val(Rec_Query.Fields("out_count")) <> 0 Then
                                CxbbGrid.ColHidden(CxbbGrid.Cols - 2) = False
                                CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - 2)) = Val(Rec_Query.Fields("Out_count") & "")                     '出库数量
                                Sum_Out = Sum_Out + Val(Rec_Query.Fields("Out_count"))
                            End If
                        End If
                            For Coljsq = (Qslz + 4) To CxbbGrid.Cols - 2
                                If Trim(Rec_Query.Fields("inoutclassname")) & "数量" = Trim(CxbbGrid.TextMatrix(0, Coljsq)) Then
                                    If Val(Rec_Query.Fields("In_count") & "") <> 0 Then
                                        CxbbGrid.TextMatrix(jsqte, Coljsq) = Val(Rec_Query.Fields("In_count") & "")                          '入库数量
                                        Sum_In = Sum_In + Val(Rec_Query.Fields("In_count") & "")
                                    Else
                                        CxbbGrid.TextMatrix(jsqte, Coljsq) = Val(Rec_Query.Fields("Out_count") & "")                         '出库数量
                                        Sum_Out = Sum_Out + Val(Rec_Query.Fields("Out_count") & "")
                                    End If
                                End If
                            Next
                            CxbbGrid.TextMatrix(jsqte, CxbbGrid.Cols - 1) = Sum_Out
                            CxbbGrid.TextMatrix(jsqte, (CxbbGrid.Cols - fixOut - 3)) = Sum_In
                            Rec_Query.MoveNext
                    End If
                Loop
            End If
            
    Call SLGSH
    CxbbGrid.Redraw = True
    If Not SzToolbar.Buttons("Sum").Enabled Then
        Call HuiZong
    End If
    
End Sub
Private Sub SLGSH()             '数据格式化
    With CxbbGrid
        For hjsq = .FixedRows To .Rows - 1
            For ljsq = Qslz + 4 To .Cols - 1
                .TextMatrix(hjsq, ljsq) = Format(Trim(.TextMatrix(hjsq, ljsq)), "#,##0." + String(Xtslxsws, "0"))
                
                If Val(.TextMatrix(hjsq, ljsq)) = 0 Then
                    .TextMatrix(hjsq, ljsq) = ""
                End If
            Next ljsq
        Next hjsq
    End With
End Sub

Private Sub HuiZong()           '汇总数据
    With CxbbGrid
        If fixIn > 0 Then
            For jsq = (Qslz + 4) To (Qslz + 4 + fixIn)
                .ColHidden(jsq) = True
            Next
        End If
        If fixOut > 0 Then
            For jsq = (Qslz + 6 + fixIn) To (.Cols - 2)
                .ColHidden(jsq) = True
            Next
        End If
    
    End With
End Sub


Private Sub First()
    If Rec_WH.State = 1 Then
        If Rec_WH.RecordCount > 0 Then
            Rec_WH.MoveFirst
            Call Show_Tab(Rec_WH)
        End If
    End If
End Sub
Private Sub Last()
    If Rec_WH.State = 1 Then
        If Rec_WH.RecordCount > 0 Then
            Rec_WH.MoveLast
            Call Show_Tab(Rec_WH)
        End If
    End If
End Sub
Private Sub Prev()
    If Rec_WH.State = 1 Then
        If Rec_WH.RecordCount > 0 Then
            If Rec_WH.EOF Then
                Rec_WH.MovePrevious
            End If
            If Not Rec_WH.BOF Then
                Rec_WH.MovePrevious
                If Not Rec_WH.BOF Then
                    Call Show_Tab(Rec_WH)
                End If
            End If
        End If
    End If
End Sub
Private Sub Sub_next()
    If Rec_WH.State = 1 Then
        If Rec_WH.RecordCount > 0 Then
            If Rec_WH.BOF Then
                Rec_WH.MoveNext
            End If
            If Not Rec_WH.EOF Then
                Rec_WH.MoveNext
                If Not Rec_WH.EOF Then
                    Call Show_Tab(Rec_WH)
                End If
            End If
        End If
    End If
End Sub

Private Sub bbyl(bbylte As Boolean)                    '报表打印预览
    
    Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
    Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
    Bbxbtgs = 1                                          '报 表 小 标 题 行 数
    Bbbwhgs = 0                                          '报 表 表 尾 行 数
    ReDim Bbxbt(1 To Bbxbtgs)
    ReDim bbxbtzzxs(1 To Bbxbtgs)
    If Bbbwhgs <> 0 Then
        ReDim Bbbwh(1 To Bbbwhgs)
        ReDim Bbbwhzzxs(1 To Bbbwhgs)
    End If
    Bbzbt = ReportTitle
    Bbxbt(1) = ""
    bbxbtzzxs(1) = 0                                     '报表行组织形式(0-居左 1-居中 2-居右)
    Call Scyxsjb(CxbbGrid)                               '生成报表数据
    Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
    If Not bbylte Then
        Unload DY_Tybbyldy
    End If

End Sub

⌨️ 快捷键说明

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