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

📄 +

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
            If .ItemType = 0 Then
                Cbo_DataType = "字符型"
            ElseIf .ItemType = 5 Then
                Cbo_DataType = "数值型"
            End If
        Else
            Singl = False
            Cbo_DataType.Enabled = True
        End If
        
    End With
End Sub

Private Sub Cmd_Save_Click()
    '判断用户是否有此功能执行权限,如有则写上机日志(进入)
    If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
        Exit Sub
    End If
    
    Sql = ""
    
    With CzxsGrid
        If .Rows > .FixedRows Then
            For i = .FixedRows To .Rows - 1
                Sql = Sql & " update PM_BankItem set OrderNO=" & _
                      i & _
                      " where sortid='" & SortId & _
                      "' and BankCode='" & BankCode & "'" & _
                      " and Id=" & _
                      .TextMatrix(i, 0)
            Next
        Else
           Call Xtxxts("没有栏目,无需保存!", 0, 1)
           Exit Sub
        End If
    End With
    On Error GoTo Err1
    Cw_DataEnvi.DataConnect.BeginTrans
    Cw_DataEnvi.DataConnect.Execute Sql
    Cw_DataEnvi.DataConnect.CommitTrans
    Call Xtxxts("顺序保存成功!", 0, 4)
    Call Cxnrtcwg
    Exit Sub
Err1:
    Cw_DataEnvi.DataConnect.RollbackTrans
    Call Xtxxts("顺序保存不成功!", 0, 1)
End Sub

Private Sub Cmd_Up_Click()
    With CzxsGrid
        If .Row <= .FixedRows Then
           Exit Sub
        End If
    End With
    Call CmdUP(CzxsGrid)
End Sub

Private Sub Cmd_Down_Click()
    With CzxsGrid
        If .Row = .Rows - 1 Then
            Exit Sub
        End If
    End With
    Call CmdDown(CzxsGrid)
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移

    jdzygs = 10
    
    Select Case KeyAscii
        Case vbKeyReturn
            If Kjjdzy(jdzygs) Then
                KeyAscii = 0
            End If
        Case 39           '屏蔽"'"
            KeyAscii = 0
   End Select
   
End Sub

Private Sub Form_Load()
  
    '打印报表标题信息
    ReportTitle = "银行代发栏目"
     
    '调入打印页面设置窗体
    XtReportCode = "PM_BankItem"
    Load Dyymctbl
    
    '以下为文本框处理程序(读入文本框录入信息)
    TextGroupCode = "PM_BankItem"
    Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())
    Call Wbkcsh
    
    '调入网格设置信息
    GridCode = "PM_BankItem"
    Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
    Qslz = GridInf(1)
    Sjhgd = GridInf(2)
    Szzls = CzxsGrid.Cols - 1
    
    CzxsGrid.TextMatrix(0, 0) = "ID号"
    Sql = " and czybm='" & Xtczybm & "'"
    ImgCbo_Sort.Text = ""
    ImgCbo_Bank.Text = ""
    Call DynaFillImageCombo(ImgCbo_Sort, "pm_SortEmp", 0, Sql)
    Call FillImageCombo(ImgCbo_Bank, "pm_BankItem", 0)
    SortId = GetComboKey(ImgCbo_Sort, 0)
    BankCode = GetComboKey(ImgCbo_Bank, 0)
    EC
    
    Call FillCombo(Cbo_DataType, "PM_BankItem", "", 0)
    '填 充 网 格
    Call Cxnrtcwg
       
    '初始化toolbar,tab卡状态
    StTab.Tab = 0
    StTab.TabEnabled(1) = False
    Frame1.Enabled = False
     
    '设置为非录入状态
    Lrzt = 0
    '编辑(新增、修改、删除)权限索引
    Str_RightEdit = "Pm_BankItem_Edit"
    
End Sub
 
Private Sub Cxnrtcwg()                               '查询内容填充网格

    Dim Sqlstr As String              '查询连接串
    Dim jsqte As Long                 '查询临时使用变量
  
    '为加快显示速度,将网格刷新动作冻结
    CzxsGrid.Redraw = False
  
    '[>>查询连接串
    Sqlstr = "SELECT p.*,r.ChName FROM PM_BankItem  p left join rs_items r on right(ltrim(rtrim(sourcefield)),len(ltrim(rtrim(sourcefield)))-charindex('.',ltrim(rtrim(sourcefield))))=r.fieldname where BankCode='" & _
             BankCode & "' and SortID='" & SortId & "' order by OrderNO"
             
    '<<]
    Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    
    With Cxnrrec
        CzxsGrid.Rows = CzxsGrid.FixedRows
        If .EOF And .BOF Then
            CzxsGrid.Redraw = True
            If Trim(SortId) <> "" And Trim(BankCode) <> "" Then
                SzToolbar.Buttons("import").Enabled = True
            Else
                SzToolbar.Buttons("import").Enabled = False
            End If
            Exit Sub
        End If
        
        jsqte = CzxsGrid.FixedRows
        
        Do While Not .EOF
            CzxsGrid.AddItem ""
            Call Jltcwg(Cxnrrec, jsqte)                              '调入填充网格子过程
            CzxsGrid.RowHeight(jsqte) = Sjhgd                        '设置网格高度
            .MoveNext
            jsqte = jsqte + 1
        Loop
    End With
  
    '将网格刷新动作解冻
    CzxsGrid.Redraw = True
    If CzxsGrid.Rows = CzxsGrid.FixedRows And Trim(SortId) <> "" And Trim(BankCode) <> "" Then
        SzToolbar.Buttons("import").Enabled = True
    Else
        SzToolbar.Buttons("import").Enabled = False
    End If
End Sub

Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格

    '[>>以下为自定义部分
    With Jlbrec
        CzxsGrid.TextMatrix(Rowjsq, 0) = .Fields("ID")             'ID号
        CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("Columnname") & "")            '栏目名称
        If .Fields("Single") = True Then
            CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("chName") & "")            '数据内容
        Else
            CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("DataContent") & "")            '数据内容
        End If
        If .Fields("Single") = True And Trim(.Fields("DataContent") & "") = "银行账号" Then
            CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("DataContent") & "")            '数据内容
        End If
        Select Case .Fields("DataType")
            Case 0
                CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "字符型"
            Case 5
                CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "数值型"             '数据类型
        End Select
        CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = .Fields("DataLen")            '数据长度
        CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)) = .Fields("DotLen")             '小数位数
        CzxsGrid.TextMatrix(Rowjsq, Sydz("006", GridStr(), Szzls)) = .Fields("Single")           '来源型
        CzxsGrid.TextMatrix(Rowjsq, Sydz("007", GridStr(), Szzls)) = Trim(.Fields("BkRoundType") & "")            '括栏目符号
        CzxsGrid.TextMatrix(Rowjsq, Sydz("008", GridStr(), Szzls)) = .Fields("AutoAdd1")             '自动加1
        CzxsGrid.TextMatrix(Rowjsq, Sydz("009", GridStr(), Szzls)) = .Fields("OrderNO")             '自动加1
    End With
    '以上为自定义部分<<]
    
End Sub
Private Sub toolEnable()
    With SzToolbar
        .Buttons("zj").Enabled = True
        .Buttons("xg").Enabled = True
        .Buttons("sc").Enabled = True
        .Buttons("sx").Enabled = True
    End With
    Cmd_Up.Enabled = True
    Cmd_Down.Enabled = True
    Cmd_Save.Enabled = True
End Sub
Private Sub toolUnEnable()
    With SzToolbar
        .Buttons("zj").Enabled = False
        .Buttons("xg").Enabled = False
        .Buttons("sc").Enabled = False
        .Buttons("import").Enabled = False
        .Buttons("sx").Enabled = False
    End With
    Cmd_Up.Enabled = False
    Cmd_Down.Enabled = False
    Cmd_Save.Enabled = False
End Sub
Private Sub EC()
    If Trim(ImgCbo_Sort.Text) = "" Or Trim(ImgCbo_Bank.Text) = "" Then
        toolUnEnable
    Else
        toolEnable
    End If
    
End Sub
Private Sub Form_Unload(Cancel As Integer)             '窗体卸载

    Set Cxnrrec = Nothing
    Set Rec_CodeSet = Nothing
    Set Rsc = Nothing
    Unload Dyymctbl
   
End Sub

Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据

    Dim jsqte As Integer
    Dim SIntC As Integer  '非来源型整数部分的位数
    Dim SDotC As Integer  '非来源型小数部分的位数
  
    '对文本框录入内容进行为零和为空判断(固定不变)
    With Rec_CodeSet
    
        For jsqte = 0 To Max_Text_Index
            If Textint(jsqte, 8) = 1 Then     '字段不能为空
                If Len(Trim(LrText(jsqte).Text)) = 0 Then
                    Tsxx = Textstr(jsqte, 7) & "不能为空!"
                    Call Xtxxts(Tsxx, 0, 1)
                    LrText(jsqte).SetFocus
                    Bclrsj = False
                    Exit Function
                End If
            Else
                If Textint(jsqte, 8) = 2 Then   '字段不能为零
                    If Val(Trim(LrText(jsqte).Text)) = 0 Then
                        Tsxx = Textstr(jsqte, 7) & "不能为零!"
                        Call Xtxxts(Tsxx, 0, 1)
                        LrText(jsqte).SetFocus
                        Bclrsj = False
                        Exit Function
                    End If
                End If
            End If
        Next jsqte
    
        '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
        For jsqte = 0 To Max_Text_Index
            If Textint(jsqte, 9) = 0 Or Textint(jsqte, 9) = 2 Then
                If Not TextYxxpd(jsqte) Then
                    Exit Function
                End If
            End If
        Next jsqte
        
        If Trim(Cbo_DataType.Text) = "数值型" And Not IsNumeric(LrText(1)) And Singl = 0 Then
            Call Xtxxts("数值型栏目的数据内容必须是数字!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        
        If Trim(Cbo_DataType.Text) = "字符型" And Val(LrText(3)) <> 0 Then
            Call Xtxxts("字符型栏目的小数位数必须等于零!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        
        If Chk_Add.Value = 1 And Not IsNumeric(LrText(1)) Then
            Call Xtxxts("只有数据内容文本框的内容全部是数字时,自动加1才可被选中!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        
        If Trim(LrText(1)) = "银行账号" And Val(Trim(LrText(3))) > 50 Then
            Call Xtxxts("数据内容是银行账号时,数据长度不能超过50!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        If Val(LrText(3)) > Val(LrText(2)) Then
            Call Xtxxts("小数位数不能大于数据长度!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        
        If Singl = False And LenByte(Trim(LrText(1))) > Val(LrText(2)) Then
            Call Xtxxts("非来源型数据的数据内容的长度不能大于数据长度!", 0, 1)
            Bclrsj = False
            Exit Function
        End If
        
        If Singl = False And Cbo_DataType.Text = "数值型" Then
             If InStr(Trim(LrText(1)), ".") <> 0 Then     '小数
                 SIntC = InStr(Trim(LrText(1)), ".") - 1
                 SDotC = Len(Trim(LrText(1))) - InStr(Trim(LrText(1)), ".")
                 If SIntC > Val(LrText(2)) - Val(LrText(3)) - 1 Then
                    Call Xtxxts("非来源型数据的数据内容是数值型时它的整数长度不能大于设定的整数长度!", 0, 1)
                    Bclrsj = False
                    Exit Function
                 End If
                 
                 If SDotC > Val(LrText(3)) Then
                    Call Xtxxts("非来源型数据的数据内容是数值型时它的小数位数不能大于设定的小数位数!", 0, 1)
                    Bclrsj = False
                    Exit Function
                 End If
             End If
        End If
        
        If Lrzt = 1 Then  '增 加
        
            '[>>
            If .State = 1 Then .Close
            .Open "SELECT * FROM PM_BankItem WHERE BankCode= '" & BankCode & _
                  "' and SortId='" & SortId & "' and ColumnName='" & _
                  Trim(LrText(0)) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
    
            If Not .EOF Then

⌨️ 快捷键说明

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