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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 2 页
字号:
            Caption         =   "帮助"
            Key             =   "bz"
            ImageKey        =   "bz"
         EndProperty
         BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
            Caption         =   "退出"
            Key             =   "tc"
            ImageKey        =   "tc"
         EndProperty
      EndProperty
      BorderStyle     =   1
   End
   Begin VB.Label Label1 
      Caption         =   "操作员:"
      Height          =   180
      Left            =   90
      TabIndex        =   3
      Top             =   720
      Width           =   720
   End
   Begin VB.Menu menuSelect 
      Caption         =   "menuSelect"
      Visible         =   0   'False
      Begin VB.Menu All 
         Caption         =   "全选"
         Shortcut        =   ^A
      End
      Begin VB.Menu fgf 
         Caption         =   "-"
      End
      Begin VB.Menu Cancel 
         Caption         =   "取消"
         Shortcut        =   ^Q
      End
   End
End
Attribute VB_Name = "Gy_WarehousePersonPower"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*******************************************************
'*    模 块 名 称 :仓库人员权限设置
'*    功 能 描 述 :
'*    程序员姓名  :徐强
'*    最后修改人  :徐强
'*    最后修改时间:2001/11/27
'*    备        注:
'*******************************************************
Option Explicit


Private Sub Cmb_Person_Click()
    ShowPower
End Sub

Private Sub Cmb_Person_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If JudgePerson Then
            ShowPower
            Cmb_Person.SelStart = 0
            Cmb_Person.SelLength = Len(Cmb_Person.Text)
        End If
    End If
End Sub

Private Sub Cmb_Person_LostFocus()
    If JudgePerson Then
        ShowPower
        Cmb_Person.SelStart = 0
        Cmb_Person.SelLength = Len(Cmb_Person.Text)
    End If
End Sub

Private Function JudgePerson() As Boolean   '判断操作员有效性
    Dim Czyrec As New ADODB.Recordset
    Dim Tsxx As String
    Set Czyrec = Cw_DataEnvi.DataConnect.Execute("Select * From Gy_czygl where czybm='" + Trim(Cmb_Person.Text) + "' or czymc='" & Trim(Cmb_Person.Text) & "' or rtrim(czybm)+'-'+rtrim(czymc)='" & Trim(Cmb_Person.Text) & "'")
    With Czyrec
        If Not .EOF Then
            Cmb_Person.Text = Trim(.Fields("czybm")) + "-" + Trim(.Fields("czymc"))
            JudgePerson = True
        Else
            Tsxx = "无此操作员!"
            Call Xtxxts(Tsxx, 0, 1)
            Cmb_Person.SetFocus
            JudgePerson = False
        End If
    End With
    Czyrec.Close
    Set Czyrec = Nothing
    
End Function



Private Sub Form_Activate()
    Cmb_Person.ListIndex = 0  '显示第一条记录,并调Cmb_Person_Click
End Sub

Private Sub Form_Load()
    LoadPerson
    LoadWarehouse
    
    TreeView.TabIndex = 0
    Cmb_Person.TabIndex = 1
End Sub

Private Sub LoadPerson()      '加载操作员
    Dim str_temp As String
    Dim Rec_Temp As New Recordset
    
    str_temp = "select czybm,czymc from Gy_Czygl order by czybm"
    Set Rec_Temp = Cw_DataEnvi.DataConnect.Execute(str_temp)
    Do While Not Rec_Temp.EOF
        Cmb_Person.AddItem Trim(Rec_Temp.Fields("czybm")) + "-" + Trim(Rec_Temp.Fields("czymc"))

        Rec_Temp.MoveNext
    Loop
End Sub

Private Sub LoadWarehouse()  '加载仓库
    Dim aDo_Sort As New Recordset
    Dim rs As New ADODB.Recordset
    Dim nodX As Node
    TreeView.Nodes.Clear
    TreeView.Nodes.Add , 4, "T", "仓库", "T"

    Set aDo_Sort = Cw_DataEnvi.DataConnect.Execute("select * from Gy_warehouse order by whcode")
    
    With aDo_Sort
        Do While Not .EOF
            Set nodX = TreeView.Nodes.Add("T", 4, "T" & Trim(.Fields("whcode")), "(" & Trim(.Fields("whcode")) & ")" & Trim(.Fields("whName")), "C")
            nodX.Tag = "T" & Trim(!WhCode)

            .MoveNext
        Loop
    End With
    TreeView.Nodes(1).Expanded = True
End Sub
Private Sub ShowPower()  '显示权限
    Dim i As Long
    Dim rs As New ADODB.Recordset
    
    If Not JudgePerson Then Exit Sub
    
    Set rs = Cw_DataEnvi.DataConnect.Execute("select * from gy_v_warehousepower where czybm='" & Trim(Mid(Cmb_Person.Text, 1, InStr(1, Cmb_Person.Text & "-", "-") - 1)) & "'")
    For i = 1 To TreeView.Nodes.count           '先清除
        TreeView.Nodes.Item(i).Checked = False
    Next
    If Not rs.EOF Then                          '如有记录,选中根结点
        TreeView.Nodes.Item(1).Checked = True
    End If
    Do While Not rs.EOF                         '选中有权限的节点
        TreeView.Nodes.Item("T" & Trim(rs("whcode"))).Checked = True
        rs.MoveNext
    Loop
End Sub
Private Sub SavePower()   '存权限
    Dim SSql As String
    Dim i As Long
    Dim Tsxx  As String
On Error GoTo ErrMsg

    If Not JudgePerson Then Exit Sub
    
    Cw_DataEnvi.DataConnect.BeginTrans

    '删除此操作员以前的权限
    SSql = "delete from gy_whlimit where czybm='" & Trim(Mid(Cmb_Person.Text, 1, InStr(1, Cmb_Person.Text & "-", "-") - 1)) & "'"
    Cw_DataEnvi.DataConnect.Execute SSql
    '增加权限
    For i = 2 To TreeView.Nodes.count
        If TreeView.Nodes(i).Checked Then
            SSql = "insert into gy_whlimit (czybm,whcode) values('" & Trim(Mid(Cmb_Person.Text, 1, InStr(1, Cmb_Person.Text & "-", "-") - 1)) & " ','" & Right(TreeView.Nodes(i).Key, Len(TreeView.Nodes(i).Key) - 1) & "')"
            Cw_DataEnvi.DataConnect.Execute SSql
        End If
    Next
    Cw_DataEnvi.DataConnect.CommitTrans
    
    Tsxx = "保存完毕!"
    Call Xtxxts(Tsxx, 0, 4)
    Exit Sub
ErrMsg:
    Cw_DataEnvi.DataConnect.RollbackTrans
    
    Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
    Call Xtxxts(Tsxx, 0, 1)
End Sub

Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
    Dim Tsxx As String
    Dim i As Long
    Dim SSql As String
    Select Case Button.Key
        Case "bc"      '保存
            SavePower
        Case "sx"      '刷新
            ShowPower
        Case "tc"      '退出
            Unload Me
    End Select
       
End Sub

Private Sub TreeView_NodeCheck(ByVal Node As MSComctlLib.Node)
    
    Dim i As Integer
    Dim ParentCode As String

    If Node.Key = "T" Then             '如选中根结点,则同时选中所有子节点;取消选中根结点,则同时取消选中所有子节点
        For i = 2 To TreeView.Nodes.count
            TreeView.Nodes.Item(i).Checked = Node.Checked
        Next
    Else
        If Node.Checked Then           '如果选中子节点,则同时选中父节点
            TreeView.Nodes(1).Checked = True
        Else
            TreeView.Nodes(1).Checked = False  '取消选中子节点,则同时取消选中父节点
            For i = 2 To TreeView.Nodes.count  '但如其它选中的子节点,则选中父节点
                If TreeView.Nodes.Item(i).Checked Then
                    TreeView.Nodes(1).Checked = True
                    Exit For
                End If
            Next
        End If
    End If

End Sub



⌨️ 快捷键说明

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