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

📄 ˪

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
                Exit Sub
            End If
            Call Sub_AddBill
        Case "sc"                                            '删 除
            '判断用户是否有此功能执行权限,如有则写上机日志(进入)
            If Not Security_Log("Ap_Note_Edit", Xtczybm, 1, True) Then
                Exit Sub
            End If
            Call Sub_DeleteBill
        Case "bz"                                            '帮 助
            Call F1bz
        Case "fh"                                            '退 出
            Unload Me
        Case "shsh"                                          '审 核
            '判断用户是否有此功能执行权限,如有则写上机日志(进入)
            If Not Security_Log("Ap_Note_Check", Xtczybm, 1, True) Then
                Exit Sub
            End If
            Call Sub_CheckBill
        Case "Encash"                                        '付款
            Call Sub_NoteEncash
    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 Integer                        '临时动态计数器
    Dim State As String                         '票据状态
    
    '重新设置合计金额及币别
    Str_Foreign = ""
    YbSsTotal = 0
    YbInterest = 0
    BbSsTotal = 0
    
    '以下为自定义部分[
 
    If Int_QueryType = 0 Then   '0-"点确定按钮"查询
        With FK_FrmNoteQuery
            
            '设置币别编码
            Str_Foreign = Trim(.LrText(3).Tag & "")
            
            '生成查询条件
            Str_QueryCondi = " where 1=1 and RPFlag='Ap' "
         
            For Jsqte = 1 To 12
                Select Case Jsqte
                    Case 1  '单据日期(起,止)
                        If Trim(.LrText(0).Text) <> "" And Trim(.LrText(1).Text) <> "" Then
                            If Trim(.LrText(0).Text) = Trim(.LrText(1)) Then
                                Str_QueryCondi = Str_QueryCondi & " and BillDate = '" & CDate(.LrText(0).Text) & "'"
                            Else
                                Str_QueryCondi = Str_QueryCondi & " and BillDate >= '" & CDate(.LrText(0).Text) & "'"
                                Str_QueryCondi = Str_QueryCondi & " and BillDate <= '" & CDate(.LrText(1).Text) & "'"
                            End If
                        End If
                        If Trim(.LrText(0).Text) <> "" And Trim(.LrText(1).Text) = "" Then
                            Str_QueryCondi = Str_QueryCondi & " and BillDate >= '" & CDate(.LrText(0).Text) & "'"
                        End If
                        If Trim(.LrText(0).Text) = "" And Trim(.LrText(1).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and BillDate <= '" & CDate(.LrText(1).Text) & "'"
                        End If
                        
                    Case 2  '签发日期(起,止)
                        If Trim(.LrText(8).Text) <> "" And Trim(.LrText(9).Text) <> "" Then
                            If Trim(.LrText(8).Text) = Trim(.LrText(9)) Then
                                Str_QueryCondi = Str_QueryCondi & " and SignDate = '" & CDate(.LrText(8).Text) & "'"
                            Else
                                Str_QueryCondi = Str_QueryCondi & " and SignDate >= '" & CDate(.LrText(8).Text) & "'"
                                Str_QueryCondi = Str_QueryCondi & " and SignDate <= '" & CDate(.LrText(9).Text) & "'"
                            End If
                        End If
                        If Trim(.LrText(8).Text) <> "" And Trim(.LrText(9).Text) = "" Then
                            Str_QueryCondi = Str_QueryCondi & " and SignDate >= '" & CDate(.LrText(8).Text) & "'"
                        End If
                        If Trim(.LrText(8).Text) = "" And Trim(.LrText(9).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and SignDate <= '" & CDate(.LrText(9).Text) & "'"
                        End If
                        
                    Case 3 '到期日期(起,止)
                        If Trim(.LrText(10).Text) <> "" And Trim(.LrText(11).Text) <> "" Then
                            If Trim(.LrText(10).Text) = Trim(.LrText(11)) Then
                                Str_QueryCondi = Str_QueryCondi & " and ExpireDate = '" & CDate(.LrText(10).Text) & "'"
                            Else
                                Str_QueryCondi = Str_QueryCondi & " and ExpireDate >= '" & CDate(.LrText(10).Text) & "'"
                                Str_QueryCondi = Str_QueryCondi & " and ExpireDate <= '" & CDate(.LrText(11).Text) & "'"
                            End If
                        End If
                        If Trim(.LrText(10).Text) <> "" And Trim(.LrText(11).Text) = "" Then
                            Str_QueryCondi = Str_QueryCondi & " and ExpireDate >= '" & CDate(.LrText(10).Text) & "'"
                        End If
                        If Trim(.LrText(10).Text) = "" And Trim(.LrText(11).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and ExpireDate <= '" & CDate(.LrText(11).Text) & "'"
                        End If
                        
                    Case 4  '供应商
                        If Trim(.LrText(2).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and PsCode = '" & Trim(.LrText(2).Tag) & "'"
                        End If
                    Case 5  '币别
                        If Trim(.LrText(3).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And ForeignCurrCode='" & Trim(.LrText(3).Tag) & "'"
                        End If
                    
                    Case 6 '审核状态
                        If .Opt_Check0(1).Value = True Then '已审核
                            Str_QueryCondi = Str_QueryCondi & " And Checker<>'' "
                        End If
                        
                        If .Opt_Check0(2).Value = True Then  '未审核
                            Str_QueryCondi = Str_QueryCondi & " And Checker='' "
                        End If
                    Case 7 '票据状态
                        If .Opt_Check1(1).Value = True Then '已变动
                            Str_QueryCondi = Str_QueryCondi & " And Fstatus<>'9' "
                        End If
                        
                        If .Opt_Check1(2).Value = True Then  '未变动
                            Str_QueryCondi = Str_QueryCondi & " And Fstatus='9' "
                        End If
                    
                    Case 8  '票面金额
                        If Val(.LrText(6).Text) <> 0 And Val(.LrText(7).Text) <> 0 Then
                            If Val(.LrText(6).Text) = Val(.LrText(7).Text) Then
                                Str_QueryCondi = Str_QueryCondi & " and (YbSsJe=" & Val(.LrText(6).Text) & ")"
                            Else
                                Str_QueryCondi = Str_QueryCondi & " and (YbSsJe>=" & Val(.LrText(6).Text) & ")"
                                Str_QueryCondi = Str_QueryCondi & " and (YbSsJe<=" & Val(.LrText(7).Text) & ")"
                            End If
                        End If
                        If Trim(.LrText(6).Text) <> "" And Trim(.LrText(7).Text) = "" Then
                            Str_QueryCondi = Str_QueryCondi & " and YbSsJe >=" & Val(.LrText(6).Text)
                        End If
                        If Trim(.LrText(6).Text) = "" And Trim(.LrText(7).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " and YbSsJe <=" & Val(.LrText(7).Text)
                        End If
                    Case 9  '部门
                        If Trim(.LrText(4).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And DeptCode= '" & Trim(.LrText(4).Tag) & "'"
                        End If
                    Case 10  '经办人
                        If Trim(.LrText(5).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And Personcode= '" & Trim(.LrText(5).Tag) & "'"
                        End If
                    Case 11  '付款单位
                        If Trim(.LrText(12).Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And Payer= '" & Trim(.LrText(12).Text) & "'"
                        End If
                    Case 12  '制单人
                        If Trim(.Imgcbo_Rygl.Text) <> "" Then
                            Str_QueryCondi = Str_QueryCondi & " And Maker= '" & Trim(.Imgcbo_Rygl.Text) & "'"
                        End If
                End Select
            Next Jsqte
        End With
    Else
        '1-"刷新"查询
        If Str_QueryCondi = "" Then
            Str_QueryCondi = " where 1=2 "
        End If
    End If
    
    Sqlstr = "SELECT * FROM Ap_v_Note " & Str_QueryCondi & " Order By NoteID"

    Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    With Rec_Query
        CxbbGrid.Rows = CxbbGrid.FixedRows
        Jsqte = CxbbGrid.FixedRows
        Do While Not .EOF
            CxbbGrid.AddItem ""
            
            '[>>自定义填充内容
            CxbbGrid.TextMatrix(Jsqte, 0) = .Fields("NoteID")                                                      '应付票据ID(主要用来查询定位用)
            CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Format(.Fields("BillDate"), "yyyy-mm-dd")  '单据日期
            CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("NoteCode") & "")             '单据编号
            Select Case Trim(.Fields("Fstatus"))
                Case 9
                    If Trim(.Fields("StartFlag") & "") = True Then
                        State = "期初"
                    Else
                        State = ""
                    End If
                Case 4
                    State = "付款"
            End Select
            CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = State                                         '票据状态
            CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("BillItemName") & "")                 '票据类型
            CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Trim(.Fields("SupplierName") & "")            '客户名称
            CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Format(.Fields("SignDate"), "yyyy-mm-dd")     '签发日期
            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Format(.Fields("ExpireDate"), "yyyy-mm-dd")   '到期日期
            CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = Trim(.Fields("Digest") & "")                  '摘要
            CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = Trim(.Fields("ForeignCurrName") & "")         '币别
            CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Trim(.Fields("YbSsJe") & "")                  '原币应付金额
            CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = IIf(Val(Trim(.Fields("YbInterest") & "")) = 0, "", Trim(.Fields("YbInterest") & "")) '票面利息
            CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Trim(.Fields("AccRate") & "")                 '记帐汇率
            CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = Trim(.Fields("BbSsJe") & "")                  '本币应付金额
            CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = Trim(.Fields("Payer") & "")                   '付款单位
            CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Trim(.Fields("DeptName") & "")                '部门名称
            CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Trim(.Fields("PersonName") & "")              '经办人
            CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Trim(.Fields("Maker") & "")                   '制单人
            CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Trim(.Fields("Checker") & "")                 '审核
            '<<]
            
            '设置数据行高度(Fixed)
            CxbbGrid.RowHeight(Jsqte) = Sjhgd
            
            '汇总应付票据金额
            YbSsTotal = YbSsTotal + .Fields("YbSsJe")
            YbInterest = YbInterest + .Fields("YbInterest")
            BbSsTotal = BbSsTotal + .Fields("BbSsJe")
            
            
            If Trim(.Fields("Checker")) <> "" Then                                                                    '审核单据(红色显示)
                CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(1).BackColor
            End If
            '动态集指针加1,同时将计数器加1(Fixed)
            .MoveNext
            Jsqte = Jsqte + 1
        Loop
        
        '添加合计行
        If YbSsTotal <> 0 Or BbSsTotal <> 0 Then
           CxbbGrid.AddItem ""
           CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("005", GridStr(), Szzls)) = "  合  计"
           If Str_Foreign <> "" Then
                CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("010", GridStr(), Szzls)) = YbSsTotal
                CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("011", GridStr(), Szzls)) = YbInterest
           End If
           CxbbGrid.TextMatrix(CxbbGrid.Rows - 1, Sydz("013", GridStr(), Szzls)) = BbSsTotal
           CxbbGrid.Cell(flexcpBackColor, CxbbGrid.Rows - 1, 0, CxbbGrid.Rows - 1, CxbbGrid.Cols - 1) = "&H00F7F3EC"
        End If

    End With

    ']以上为用户自定义部分

End Sub

Private Sub CxbbGrid_DblClick()                                              '用户双击网格调入相应单据
    Dim RecTemp As New ADODB.Recordset               '临时使用动态集
    
    '记录行总数与固定行数相等则退出
    If CxbbGrid.Rows = CxbbGrid.FixedRows Then Exit Sub
    
    '非数据行退出
    If CxbbGrid.Row < CxbbGrid.FixedRows Or Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0)) = 0 Then
        Exit Sub
    End If

    Sqlstr = "SELECT NoteId From RP_Note Where NoteId=" & Val(CxbbGrid.TextMatrix(CxbbGrid.Row, 0))
    Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    With RecTemp
        If .EOF Then
            Tsxx = "此应付票据已被其他用户删除!"

⌨️ 快捷键说明

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