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

📄 包装物管理系统_帐簿统计_包装物总帐查询结果.frm

📁 新世纪ERP包装物管理源代码
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    
    Select Case Button.Key
        Case "ymsz"                                          '页面设置
            Dyymctbl.Show 1
        Case "yl"                                            '预 览
            Call bbyl(True)
        Case "dy"                                            '打 印
            Call bbyl(False)
        Case "cx"                                            '查 询
            Cask_LedgerQuery.Show 1
        Case "first"                                         '首 张
            Call Sub_First
        Case "prev"                                          '上 张
            Call Sub_Prev
        Case "next"                                          '下 张
            Call Sub_Next
        Case "last"                                          '末 张
            Call Sub_Last
        Case "bz"                                            '帮 助
            Call F1bz
        Case "fh"                                            '退 出
           Unload Me
    End Select

End Sub

Private Sub Timer1_Timer()                                 '在窗体激活后调入查询程序
    
    Timer1.Enabled = False
    Xt_Wait.Show
    Xt_Wait.Refresh
   
    '加快显示速度
    CxbbGrid.Redraw = False
 
    '生成查询结果
    Call Sub_Query(0)

    CxbbGrid.Redraw = True
    
    Xt_Wait.Hide

End Sub

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

    Dim Rec_Query As New ADODB.Recordset        '查询结果动态集
    Dim Coljsq As Long                          '网格列计数器
    Dim Jsqte As Long                         '临时动态计数器

    '以下为自定义部分[

    If Int_QueryType = 0 Then   '0-"点确定按钮"查询
        With Cask_LedgerQuery
         
            '生成查询条件
            Str_QueryCondi = " 1=1  "
            For Jsqte = 0 To 7
                Select Case Jsqte
                    Case 1  '包装物
                        If Trim(.LrText(0).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and WrappageCode = '" & Trim(.LrText(0).Tag) & "'"
                        End If
                     Case 2  '仓库
                        If Trim(.LrText(1).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And WhCode='" & Trim(.LrText(1).Tag) & "'"
                        End If
                    Case 6  '状态
                        If Trim(.LrText(2).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and StatusName= '" & Trim(.LrText(2).Text) & "'"
                        End If
                End Select
            Next Jsqte
        End With
    Else
        '1-"刷新"查询
        If Str_QueryCondi = "" Then
            Str_QueryCondi = " where 1=2 "
        End If
    End If
    
    Label8.Caption = Trim(Cask_LedgerQuery.KjyearCombo.Text)      '会计期间
    
    Sqlstr = "SELECT DISTINCT WrappageCode,WrappageName,UnitName From Cask_V_Ledger where " & Str_QueryCondi & " Order By WrappageCode"
    Set RecStr_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    
    If RecStr_Query.EOF Then
        If Trim(Cask_LedgerQuery.LrText(0).Text) <> "" Then
            Sqlstr = "SELECT Cask_Wrappage.*,Cask_Sort.SortName,Gy_UnitSet.UnitName  " & _
                    "FROM Cask_Wrappage LEFT OUTER JOIN Cask_Sort ON Cask_Wrappage.SortCode =" & _
                    "Cask_Sort.SortCode LEFT OUTER JOIN Gy_UnitSet ON Cask_Wrappage.UnitCode =" & _
                    "Gy_UnitSet.UnitCode where WrappageCode = '" & Trim(Cask_LedgerQuery.LrText(0).Tag) & "'"
            Set RecStr_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
            Label2.Caption = Trim(RecStr_Query!WrappageCode & "")      '包装物编码
            Label4.Caption = Trim(RecStr_Query!WrappageName & "")      '包装物名称
            Label6.Caption = Trim(RecStr_Query!UnitName & "")          '计量单位
        Else
            Label2.Caption = ""      '包装物编码
            Label4.Caption = ""      '包装物名称
            Label6.Caption = ""      '计量单位
        End If
        CxbbGrid.Rows = CxbbGrid.FixedRows
        Exit Sub
    End If
    Call ShowValue
End Sub
Private Sub ShowValue()
    Dim SqlStrTemp1 As String
    Dim SqlStrTemp2 As String
    Dim TempS As String
    Dim TempRecordset As ADODB.Recordset
    Dim SumQuan(5) As Double
    Dim GridID(3) As Long

    
    SqlStrTemp1 = """'" + Trim(RecStr_Query!WrappageCode) + "' and " + Str_QueryCondi + " and KJYear= " + Trim(Str((Trim(Cask_LedgerQuery.KjyearCombo.Text)))) + """"
    SqlStrTemp2 = "'" + Trim(Str(Val(Cask_LedgerQuery.KjyearCombo.Text) - 1)) + "-12-01'"
    Sqlstr = "Cask_SP_Ledger " & SqlStrTemp1 & "," & SqlStrTemp2 & ","" '" + Trim(RecStr_Query!WrappageCode) + "' and " + Str_QueryCondi + """"
    Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    
    Label2.Caption = Trim(RecStr_Query!WrappageCode & "")      '包装物编码
    Label4.Caption = Trim(RecStr_Query!WrappageName & "")      '包装物名称
    Label6.Caption = Trim(RecStr_Query!UnitName & "")          '计量单位
    
    With Rec_Query
        CxbbGrid.Rows = CxbbGrid.FixedRows
        Jsqte = CxbbGrid.FixedRows
        Do While Not .EOF
            CxbbGrid.AddItem ""
            '[>>自定义填充内容
            If !Period = 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "期初"                 '会计期间
            Else
                CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(!Period) & ""     '会计期间
            End If
            CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(!WhName & "")         '仓库
            
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = IIf(Val(!StartQuan & "") = 0, "", !StartQuan)        '入库数量
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = IIf(Val(!AmountIn & "") = 0, "", !AmountIn)        '出库数量
            CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = IIf(Val(!AmountOut & "") = 0, "", !AmountOut)         '期初数量
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = IIf(Val(!StartQuan + !AmountIn - !AmountOut & "") = 0, "", !StartQuan + !AmountIn - !AmountOut)

            '<<]
            '设置数据行高度(Fixed)
            CxbbGrid.RowHeight(Jsqte) = Sjhgd
     
            '动态集指针加1,同时将计数器加1(Fixed)
            .MoveNext
            Jsqte = Jsqte + 1
        Loop
    End With
        CxbbGrid.Subtotal flexSTSum, -1, Sydz("003", GridStr(), Szzls), , , , , " "
        CxbbGrid.Subtotal flexSTSum, -1, Sydz("004", GridStr(), Szzls), , , , , " "
        CxbbGrid.Subtotal flexSTSum, -1, Sydz("005", GridStr(), Szzls), , , , , " "
        CxbbGrid.Subtotal flexSTSum, -1, Sydz("006", GridStr(), Szzls), , , , , " "
        CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = "合计"
        CxbbGrid.RowHeight(Jsqte) = Sjhgd
        CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("003", GridStr(), Szzls)))
        CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("004", GridStr(), Szzls)))
        CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls)))
        CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls)) = IIf(Val(CxbbGrid.ValueMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls))) = 0, "", CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("006", GridStr(), Szzls)))
    ']以上为用户自定义部分

End Sub
'选择首张,上张,下张,末张(此4个过程只需用您的单据ID字段名替换"BillNum"即可)
Private Sub Sub_First()             '首 张
    
    With RecStr_Query
        If .RecordCount = 0 Then
            Exit Sub
        End If
        .MoveFirst
        Call ShowValue
    End With

End Sub

Private Sub Sub_Prev()             '上 张
    
    With RecStr_Query
        If .RecordCount = 0 Then
            Exit Sub
        End If
        .MovePrevious
        If Not .BOF Then
        Else
            .MoveNext
        End If
        Call ShowValue
    End With

End Sub

Private Sub Sub_Next()             '下 张
    With RecStr_Query
        If .RecordCount = 0 Then
            Exit Sub
        End If
        .MoveNext
        If Not .EOF Then
        Else
            .MovePrevious
        End If
        Call ShowValue
    End With

End Sub

Private Sub Sub_Last()              '末 张
    
    With RecStr_Query
        If .RecordCount = 0 Then
            Exit Sub
        End If
        .MoveLast
        Call ShowValue
    End With

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 = 2                                          '报 表 小 标 题 行 数
    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(2) = Space(5) + Trim(Label1.Caption) + Fun_FormatOutPut(Trim(Label2), 20)
    Bbxbt(2) = Bbxbt(2) + Trim(Label3.Caption) + Fun_FormatOutPut(Trim(Label4), 30)
    Bbxbt(2) = Bbxbt(2) + Trim(Label5.Caption) + Fun_FormatOutPut(Trim(Label6), 20)
    Bbxbt(2) = Bbxbt(2) + Trim(Label7.Caption) + Fun_FormatOutPut(Trim(Label8), 10)
    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 + -