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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
    
    With WglrGrid
        '非数据行退出
        If .Row < .FixedRows Then
            Exit Sub
        End If
        
        For I = 3 To 25 Step 2                 '如果是追加列则取月份
            If .Col = Sydz(IIf(I > 9, "0", "00") + Trim(Str(I)), GridStr(), Szzls) Then
                Bln_Add = True
                Int_Month = Int(I / 2)
                Exit For
            End If
        Next
        
        On Error GoTo Swcwcl1
        
        If Bln_Add Then                       '是追加列调用追加金额form
            Str_Show = "部门:" + Trim(Str_DeptName) + "  预算科目:" & Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls))) & "  会计年度:" & Trim(Str(Int_OriYear)) & "  月份:" & Trim(Str(Int_Month))
            Str_TableAdd = "cwfx_DeptBudgetSlaver"
            Int_I_Id = .TextMatrix(.Row, 1)
            Str_Title = "部门预算追加金额表"
            Str_ReportSubTitle = Space(2) + Trim(Str_DeptName) + Space(2) + Fun_FormatOutPut("会计年度:" + Str(Int_OriYear), 30)
            CurrentRow = .Row
            CurrentCol = .Col
            
            YS_FrmBudgetAdd.HelpContextID = "0411004001"
            YS_FrmBudgetAdd.Show 1
            .Row = CurrentRow
            .Col = CurrentCol
            
            .TextMatrix(.Row, .Col) = IIf(Cur_TableAdd = 0, "", Cur_TableAdd)   '金额回写单位格
            Cur_SumBudget = 0
            For I = 2 To 25
                Cur_SumBudget = Cur_SumBudget + Val(.TextMatrix(.Row, Sydz(IIf(I > 9, "0", "00") + Trim(Str(I)), GridStr(), Szzls)))
            Next
            .TextMatrix(.Row, Sydz("026", GridStr(), Szzls)) = IIf(Cur_SumBudget = 0, "", Cur_SumBudget)
            
            Hyxxpdlock = False
            
        Else
            Call xswbk
        End If
        
    End With
    Exit Sub
    
Swcwcl1:
    Tsxx = "先确认本次预算金额的录入才能录入追加金额!"
    Call Xtxxts(Tsxx, 0, 1)
End Sub

Private Sub Ycwbk()                      '隐藏文本框,帮助按钮,列表组合框
    Valilock = True
    Ydtext.Visible = False
    YdCombo.Visible = False
    YdCommand.Visible = False
End Sub

Private Sub YdCombo_KeyDown(KeyCode As Integer, Shift As Integer)        '列表框移动
    With WglrGrid
        Select Case KeyCode
        Case vbKeyEscape                'ESC 键放弃录入
            Valilock = True
            .SetFocus
            Call Ycwbk
            Valilock = False
        Case vbKeyReturn                '回 车 键 =13
            KeyCode = 0
            .SetFocus
            Call Lrsjhx
            Rowjsq = .Row
            Coljsq = .Col + 1
            If Coljsq > .Cols - 1 Then
                If Rowjsq < .Rows - 1 Then
                    Rowjsq = Rowjsq + 1
                End If
                Coljsq = Qslz
            End If
            Do While Rowjsq <= .Rows - 1
                If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                    Coljsq = Coljsq + 1
                    If Coljsq > .Cols - 1 Then
                        Rowjsq = Rowjsq + 1
                        Coljsq = Qslz
                    End If
                Else
                    Exit Do
                End If
            Loop
            .Select Rowjsq, Coljsq
        Case vbKeyLeft                  '左 箭 头 =37
            If .Col - 1 = Qslz Then
                If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
                    GoTo jzzx
                End If
            End If
            If .Col > Qslz Then
                KeyCode = 0
                .SetFocus
                Call Lrsjhx
                Coljsq = .Col - 1
                Do While Coljsq > Qslz
                    If Coljsq - 1 = Qslz Then
                        If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
                            GoTo jzzx
                        End If
                    End If
                    If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                        Coljsq = Coljsq - 1
                    Else
                        Exit Do
                    End If
                Loop
                .Select .Row, Coljsq
            End If
            
        Case vbKeyRight                 '右 箭 头 =39
            KeyCode = 0
            .SetFocus
            Call Lrsjhx
            Rowjsq = .Row
            Coljsq = .Col + 1
            If Coljsq > .Cols - 1 Then
                If Rowjsq < .Rows - 1 Then
                    Rowjsq = Rowjsq + 1
                End If
                Coljsq = Qslz
            End If
            Do While Rowjsq <= .Rows - 1
                If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                    Coljsq = Coljsq + 1
                    If Coljsq > .Cols - 1 Then
                        Rowjsq = Rowjsq + 1
                        Coljsq = Qslz
                    End If
                Else
                    Exit Do
                End If
            Loop
            .Select Rowjsq, Coljsq
        Case Else
        End Select
        
jzzx:
        
    End With
End Sub

Private Sub YdCombo_LostFocus()
    With WglrGrid                                    '因为选中网格会先发生Rowcolchange事件置Valiock
        If Not Valilock Then                           '为TRUE
            Call Lrsjhx
            If Not Sjhzyxxpd(Dqlrwgh) Then
                Exit Sub
            End If
        End If
    End With
End Sub

Private Sub Ydcommand_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
    Call Lrzdbz
End Sub

Private Sub ydtext_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim Rowjsq As Long, Coljsq As Long
    With WglrGrid
        Select Case KeyCode
        Case vbKeyF2
            Call Lrzdbz
        Case vbKeyEscape                'ESC 键放弃录入
            Valilock = True
            Call Ycwbk
            .SetFocus
        Case vbKeyReturn                '回 车 键 =13
            KeyCode = 0
            .SetFocus
            Call Lrsjhx
            Rowjsq = .Row
            Coljsq = .Col + 1
            If Coljsq > .Cols - 1 Then
                If Rowjsq < .Rows - 1 Then
                    Rowjsq = Rowjsq + 1
                End If
                Coljsq = Qslz
            End If
            Do While Rowjsq <= .Rows - 1
                If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                    Coljsq = Coljsq + 1
                    If Coljsq > .Cols - 1 Then
                        Rowjsq = Rowjsq + 1
                        Coljsq = Qslz
                    End If
                Else
                    Exit Do
                End If
            Loop
            If Rowjsq <= .Rows - 1 Then
                .Select Rowjsq, Coljsq
            End If
        Case vbKeyUp                    '上 箭 头 =38
            KeyCode = 0
            .SetFocus
            Call Lrsjhx
            If .Row > .FixedRows Then
                .Row = .Row - 1
            End If
        Case vbKeyDown                  '下 箭 头 =40
            KeyCode = 0
            .SetFocus
            Call Lrsjhx
            If .Row < .Rows - 1 Then
                .Row = .Row + 1
            End If
        Case vbKeyLeft                  '左 箭 头 =37
            If .Col - 1 = Qslz Then
                If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
                    GoTo jzzx
                End If
            End If
            If Ydtext.SelStart = 0 And .Col > Qslz Then
                KeyCode = 0
                .SetFocus
                Call Lrsjhx
                Coljsq = .Col - 1
                Do While Coljsq > Qslz
                    If Coljsq - 1 = Qslz Then
                        If .ColHidden(Qslz) Or (Not GridBoolean(Qslz, 1)) Then
                            GoTo jzzx
                        End If
                    End If
                    If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                        Coljsq = Coljsq - 1
                    Else
                        Exit Do
                    End If
                Loop
                .Select .Row, Coljsq
            End If
jzzx:
            
            
        Case vbKeyRight                 '右 箭 头 =39
            wblong = Len(Ydtext.Text)
            If (Ydtext.SelStart = wblong Or Ydtext.SelLength = wblong) Then
                KeyCode = 0
                .SetFocus
                Call Lrsjhx
                Rowjsq = .Row
                Coljsq = .Col + 1
                If Coljsq > .Cols - 1 Then
                    If Rowjsq < .Rows - 1 Then
                        Rowjsq = Rowjsq + 1
                    End If
                    Coljsq = Qslz
                End If
                Do While Rowjsq <= .Rows - 1
                    If .ColHidden(Coljsq) Or (Not GridBoolean(Coljsq, 1)) Then
                        Coljsq = Coljsq + 1
                        If Coljsq > .Cols - 1 Then
                            Rowjsq = Rowjsq + 1
                            Coljsq = Qslz
                        End If
                    Else
                        Exit Do
                    End If
                Loop
                .Select Rowjsq, Coljsq
            End If
        Case Else
        End Select
    End With
End Sub

Private Sub ydtext_KeyPress(KeyAscii As Integer)         '录入字符事中控制
    Call InputFieldLimit(Ydtext, GridInt(WglrGrid.Col, 1), KeyAscii)
    If KeyAscii <> 0 Then
        Call Xyxhbz(Dqlrwgh)
    End If
End Sub

Private Sub ydtext_Change()                              '录入事中变化处理
    
    '防止程序改变但不进行处理
    
    If Wbkbhlock Then
        Exit Sub
    End If
    
    With WglrGrid
        
        '限制字段录入长度
        Wbkbhlock = True
        Select Case GridInt(.Col, 1)
        Case 8
            Call Sjgskz(Ydtext, Xtjezws - Xtjexsws - 1, Xtjexsws)
        Case 9
            Call Sjgskz(Ydtext, Xtslzws - Xtslxsws - 1, Xtslxsws)
        Case 10
            Call Sjgskz(Ydtext, Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
        Case Else
            If GridInt(.Col, 3) <> 0 Or GridInt(.Col, 4) <> 0 Then
                Call Sjgskz(Ydtext, GridInt(.Col, 3), GridInt(.Col, 4))
            End If
        End Select
        Wbkbhlock = False
    End With
End Sub

Private Sub ydtext_LostFocus()            '如果由于选中网格之外的控件而发生有效性判断(选中网格会先发生Rowcolchange事件置Valiock为TRUE)
    With WglrGrid
        If Not Valilock Then
            Call Lrsjhx
            If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
                Exit Sub
            End If
  

⌨️ 快捷键说明

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