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

📄 frmoperator.frm

📁 一个为公安系统接警中心控制软件,不错哦.
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmOperator 
   Caption         =   "操作员管理"
   ClientHeight    =   4650
   ClientLeft      =   2775
   ClientTop       =   3765
   ClientWidth     =   7155
   Icon            =   "frmOperator.frx":0000
   KeyPreview      =   -1  'True
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   4650
   ScaleWidth      =   7155
   ShowInTaskbar   =   0   'False
   Begin VB.Frame Frame2 
      Caption         =   "修改"
      Height          =   3375
      Left            =   4560
      TabIndex        =   11
      Top             =   720
      Width           =   2415
      Begin VB.CommandButton cmdOK 
         Caption         =   "确认(&O)"
         Height          =   315
         Left            =   720
         TabIndex        =   6
         Top             =   2880
         Width           =   975
      End
      Begin VB.OptionButton optSystemMan 
         Caption         =   "系统管理员"
         Height          =   255
         Left            =   720
         TabIndex        =   4
         Top             =   1365
         Width           =   1455
      End
      Begin VB.OptionButton optWatchMan 
         Caption         =   "值班员"
         Height          =   255
         Left            =   720
         TabIndex        =   5
         Top             =   1695
         Value           =   -1  'True
         Width           =   1455
      End
      Begin VB.TextBox txtId 
         Height          =   270
         Left            =   720
         MaxLength       =   4
         TabIndex        =   1
         Top             =   240
         Width           =   735
      End
      Begin VB.TextBox txtPassword 
         Height          =   270
         IMEMode         =   3  'DISABLE
         Left            =   720
         MaxLength       =   8
         PasswordChar    =   "*"
         TabIndex        =   3
         Top             =   960
         Width           =   1455
      End
      Begin VB.TextBox txtName 
         Height          =   270
         Left            =   720
         MaxLength       =   10
         TabIndex        =   2
         Top             =   600
         Width           =   1455
      End
      Begin VB.Line Line2 
         X1              =   240
         X2              =   2160
         Y1              =   2760
         Y2              =   2760
      End
      Begin VB.Label lblPrompt 
         AutoSize        =   -1  'True
         Caption         =   "提示: 请操作员务必牢记"
         Height          =   180
         Left            =   240
         TabIndex        =   18
         Top             =   2160
         Width           =   1980
      End
      Begin VB.Label Label1 
         AutoSize        =   -1  'True
         Caption         =   "自己的口令!!!"
         Height          =   180
         Left            =   765
         TabIndex        =   17
         Top             =   2475
         Width           =   1095
      End
      Begin VB.Label lblTrust 
         AutoSize        =   -1  'True
         Caption         =   "职责"
         Height          =   180
         Left            =   240
         TabIndex        =   16
         Top             =   1395
         Width           =   360
      End
      Begin VB.Line Line1 
         BorderColor     =   &H00FFFFFF&
         Index           =   1
         X1              =   0
         X2              =   2400
         Y1              =   2070
         Y2              =   2070
      End
      Begin VB.Line Line1 
         BorderColor     =   &H00808080&
         Index           =   0
         X1              =   0
         X2              =   2400
         Y1              =   2055
         Y2              =   2055
      End
      Begin VB.Label lblId 
         AutoSize        =   -1  'True
         Caption         =   "编码"
         Height          =   180
         Left            =   240
         TabIndex        =   15
         Top             =   285
         Width           =   360
      End
      Begin VB.Label lblPassword 
         AutoSize        =   -1  'True
         Caption         =   "口令"
         Height          =   180
         Left            =   240
         TabIndex        =   13
         Top             =   1005
         Width           =   360
      End
      Begin VB.Label lblName 
         AutoSize        =   -1  'True
         Caption         =   "姓名"
         Height          =   180
         Left            =   240
         TabIndex        =   12
         Top             =   645
         Width           =   360
      End
   End
   Begin VB.CommandButton cmdClose 
      Caption         =   "关闭(&X)"
      Height          =   315
      Left            =   5280
      TabIndex        =   9
      Top             =   4200
      Width           =   975
   End
   Begin VB.CommandButton cmdAdd 
      Caption         =   "增加(&A)"
      Height          =   315
      Left            =   840
      TabIndex        =   7
      Top             =   4200
      Width           =   975
   End
   Begin VB.CommandButton cmdDel 
      Caption         =   "删除(&D)"
      Height          =   315
      Left            =   2640
      TabIndex        =   8
      Top             =   4200
      Width           =   975
   End
   Begin VB.Frame Frame1 
      Caption         =   "操作员"
      Height          =   3375
      Left            =   120
      TabIndex        =   14
      Top             =   720
      Width           =   4335
      Begin MSComctlLib.ListView LstvOperator 
         Height          =   3015
         Left            =   120
         TabIndex        =   0
         Top             =   240
         Width           =   4095
         _ExtentX        =   7223
         _ExtentY        =   5318
         View            =   3
         LabelEdit       =   1
         LabelWrap       =   -1  'True
         HideSelection   =   0   'False
         FullRowSelect   =   -1  'True
         GridLines       =   -1  'True
         _Version        =   393217
         ForeColor       =   -2147483640
         BackColor       =   -2147483643
         Appearance      =   1
         NumItems        =   3
         BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Text            =   "编码"
            Object.Width           =   1058
         EndProperty
         BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   1
            Text            =   "姓名"
            Object.Width           =   2823
         EndProperty
         BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
            Alignment       =   2
            SubItemIndex    =   2
            Text            =   "职责"
            Object.Width           =   2647
         EndProperty
      End
   End
   Begin VB.Label lblTitle 
      Alignment       =   2  'Center
      AutoSize        =   -1  'True
      Caption         =   "操作员管理"
      BeginProperty Font 
         Name            =   "隶书"
         Size            =   24
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FF0000&
      Height          =   495
      Left            =   2160
      TabIndex        =   10
      Top             =   120
      Width           =   2415
   End
End
Attribute VB_Name = "frmOperator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit
Private Const m_SystemMan = "系统管理员"
Private Const m_WatchMan = "值班员"
Dim m_OperatorRs As ADODB.Recordset

Private Sub DisplayCurrentItem()
    With LstvOperator.SelectedItem
        txtId.Text = .Text
        txtName.Text = .SubItems(1)
        If .SubItems(2) = m_SystemMan Then
            optSystemMan.Value = True
        Else
            optWatchMan.Value = True
        End If
        m_OperatorRs.MoveFirst
        m_OperatorRs.Find "FId =" & LstvOperator.SelectedItem.Text
        txtPassword.Text = IIf(IsNull(m_OperatorRs![FPassword]), "", m_OperatorRs![FPassword])
    End With
End Sub

Private Sub SetOkCheck()
    Dim bSelected As Boolean
    If LstvOperator.SelectedItem Is Nothing Then
        bSelected = False
    Else
        bSelected = True
    End If
    
    cmdAdd.Enabled = True
    cmdDel.Enabled = bSelected
    cmdOK.Enabled = bSelected
    
    txtId.Enabled = bSelected
    txtName.Enabled = bSelected
    txtPassword.Enabled = bSelected
    optSystemMan.Enabled = bSelected
    optWatchMan.Enabled = bSelected
End Sub

Private Function GetNewId() As Integer
    Dim TempRs As ADODB.Recordset
    Set TempRs = New ADODB.Recordset
    TempRs.Open "Select * From Operator Order by FId Desc", m_gCnAlarm
    With TempRs
        If .EOF And .BOF Then
            GetNewId = 1
        Else
            GetNewId = ![FId] + 1
        End If
    End With
    Set TempRs = Nothing
End Function

Private Sub cmdAdd_Click()
    On Error GoTo ErrorHandler
    With m_OperatorRs
        .AddNew
        ![FId] = GetNewId
        ![FName] = "新操作员"
        ![FAttribute] = 0       '默认值班员
        .Update
        
        Dim ItemX As ListItem
        Set ItemX = LstvOperator.ListItems.Add(, , ![FId])
        ItemX.SubItems(1) = ![FName]
        If ![FAttribute] = 1 Then
            ItemX.SubItems(2) = m_SystemMan
        Else
            ItemX.SubItems(2) = m_WatchMan
        End If
        ItemX.EnsureVisible
        Set LstvOperator.SelectedItem = ItemX
        DisplayCurrentItem
    End With
    SetOkCheck
    txtName.SetFocus
    Exit Sub

ErrorHandler:
    m_OperatorRs.CancelUpdate
    Set LstvOperator.SelectedItem = LstvOperator.FindItem("新操作员", lvwSubItem)
    DisplayCurrentItem
    txtName.SetFocus
    MsgBox "请修改新操作员!", vbOKOnly + vbInformation, "提示:"
End Sub

Private Sub cmdDel_Click()
    If LstvOperator.SelectedItem Is Nothing Then
        Exit Sub
    End If
    
    With m_OperatorRs
        .MoveFirst
        .Find "FId =" & LstvOperator.SelectedItem.Text
        
        .Delete
    End With
    
    Dim nIndex As Integer
    With LstvOperator
        nIndex = .SelectedItem.Index
        .ListItems.Remove (nIndex)
        If nIndex <= .ListItems.Count Then
            Set .SelectedItem = .ListItems(nIndex)
            DisplayCurrentItem
        ElseIf .ListItems.Count > 0 Then
            Set .SelectedItem = .ListItems(nIndex - 1)
            DisplayCurrentItem
        Else
            txtId.Text = ""
            txtName.Text = ""
            txtPassword.Text = ""
        End If
    End With
    SetOkCheck
End Sub

Private Function CheckDataValidity() As Boolean
    CheckDataValidity = False
    If Trim(txtId.Text) = "" Or Not IsNumeric(txtId.Text) Then
        txtId.Text = LstvOperator.SelectedItem.Text
    ElseIf Val(txtId.Text) < 1 Then
        txtId.Text = LstvOperator.SelectedItem.Text
    End If
    
    If Trim(txtName.Text) = "" Then
        MsgBox "请输入操作员姓名!", vbOKOnly + vbInformation, "提示:"
        txtName.SetFocus
        Exit Function
    ElseIf txtPassword.Text = "" Then
        MsgBox "请输入操作员口令!", vbOKOnly + vbInformation, "提示:"
        txtPassword.SetFocus
        Exit Function
    End If
    
    Dim ItemX As ListItem
    With LstvOperator
        Set ItemX = .FindItem(Trim(txtId.Text), lvwText)
        If Not ItemX Is Nothing Then
            If ItemX.Index <> .SelectedItem.Index Then
                MsgBox "操作员编码重复!", vbOKOnly + vbInformation, "提示:"
                txtId.SetFocus
                Exit Function
            End If
        End If
        
        Set ItemX = .FindItem(Trim(txtName.Text), lvwSubItem)
        If Not ItemX Is Nothing Then
            If ItemX.Index <> .SelectedItem.Index Then
                MsgBox "操作员姓名重复!", vbOKOnly + vbInformation, "提示:"
                txtName.SetFocus
                Exit Function
            End If
        End If
    End With
    CheckDataValidity = True
End Function

Private Sub cmdOk_Click()
    If LstvOperator.SelectedItem Is Nothing Then
        Exit Sub
    End If
    
    If Not CheckDataValidity Then
        Exit Sub
    End If
    
    With m_OperatorRs
        .MoveFirst
        .Find "FId =" & LstvOperator.SelectedItem.Text
        
        ![FId] = txtId.Text
        ![FName] = txtName.Text
        ![FPassword] = txtPassword.Text
        ![FAttribute] = IIf(optSystemMan.Value, 1, 0)
        .Update
    End With
    
    With LstvOperator.SelectedItem
        .Text = Trim(txtId.Text)
        .SubItems(1) = Trim(txtName.Text)
        .SubItems(2) = IIf(optSystemMan.Value, m_SystemMan, m_WatchMan)
    End With
End Sub

Private Sub cmdClose_Click()
    Me.MousePointer = vbDefault
    Unload Me
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        SendKeys "{Tab}"
    End If
End Sub

Private Sub Form_Load()
    SetForm Me, 9
    
    Set m_OperatorRs = New ADODB.Recordset
    m_OperatorRs.Open "Select FId, FName, FPassword, FAttribute From Operator Order by FId", m_gCnAlarm, adOpenStatic, adLockOptimistic, adCmdUnknown
    
    Dim ItemX As ListItem
    With m_OperatorRs
        Do While Not .EOF
            Set ItemX = LstvOperator.ListItems.Add(, , ![FId])
            ItemX.SubItems(1) = ![FName]
            ItemX.SubItems(2) = IIf(![FAttribute] = 1, m_SystemMan, m_WatchMan)
            .MoveNext
        Loop
    End With
    
    With LstvOperator
        If .ListItems.Count > 0 Then
            Set .SelectedItem = .ListItems(1)
            DisplayCurrentItem
        End If
    End With
    SetOkCheck
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set m_OperatorRs = Nothing
End Sub

Private Sub LstvOperator_ItemClick(ByVal Item As MSComctlLib.ListItem)
    DisplayCurrentItem
End Sub

⌨️ 快捷键说明

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