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

📄 系统用户管理.frm

📁 企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理
💻 FRM
字号:
VERSION 5.00
Begin VB.Form SystemUserManage 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "系统用户管理"
   ClientHeight    =   3150
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   6705
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   3150
   ScaleWidth      =   6705
   Begin VB.PictureBox picNavigation 
      Height          =   375
      Left            =   720
      ScaleHeight     =   315
      ScaleWidth      =   4035
      TabIndex        =   11
      Top             =   2280
      Width           =   4095
      Begin VB.TextBox txtNews 
         Height          =   375
         Left            =   840
         TabIndex        =   16
         Top             =   0
         Width           =   2295
      End
      Begin VB.CommandButton cndMove 
         Caption         =   "|<"
         Height          =   375
         Index           =   3
         Left            =   120
         TabIndex        =   15
         Top             =   0
         Width           =   375
      End
      Begin VB.CommandButton cndMove 
         Caption         =   ">|"
         Height          =   375
         Index           =   2
         Left            =   3480
         TabIndex        =   14
         Top             =   0
         Width           =   375
      End
      Begin VB.CommandButton cndMove 
         Caption         =   ">"
         Height          =   375
         Index           =   1
         Left            =   3120
         TabIndex        =   13
         Top             =   0
         Width           =   375
      End
      Begin VB.CommandButton cndMove 
         Caption         =   "<"
         Height          =   375
         Index           =   0
         Left            =   480
         TabIndex        =   12
         Top             =   0
         Width           =   375
      End
   End
   Begin VB.CommandButton cmdAdd 
      Caption         =   "添加"
      Height          =   375
      Left            =   5520
      TabIndex        =   10
      Top             =   240
      Width           =   975
   End
   Begin VB.CommandButton cmdExit 
      Caption         =   "关闭"
      Height          =   375
      Index           =   3
      Left            =   5520
      TabIndex        =   9
      Top             =   2280
      Width           =   975
   End
   Begin VB.CommandButton cmdSave 
      Caption         =   "保存"
      Height          =   375
      Index           =   2
      Left            =   5520
      TabIndex        =   8
      Top             =   1770
      Width           =   975
   End
   Begin VB.CommandButton cmdDelete 
      Caption         =   "删除"
      Height          =   375
      Index           =   1
      Left            =   5520
      TabIndex        =   7
      Top             =   750
      Width           =   975
   End
   Begin VB.CommandButton cmdRefresh 
      Caption         =   "刷新"
      Height          =   375
      Index           =   0
      Left            =   5520
      TabIndex        =   6
      Top             =   1260
      Width           =   975
   End
   Begin VB.ComboBox Combo1 
      Height          =   300
      ItemData        =   "系统用户管理.frx":0000
      Left            =   1800
      List            =   "系统用户管理.frx":000A
      Style           =   2  'Dropdown List
      TabIndex        =   5
      Top             =   1440
      Width           =   2775
   End
   Begin VB.TextBox txtPWD 
      Height          =   375
      Left            =   1800
      TabIndex        =   4
      Top             =   870
      Width           =   2775
   End
   Begin VB.TextBox txtUser 
      Height          =   375
      Left            =   1800
      TabIndex        =   3
      Top             =   360
      Width           =   2775
   End
   Begin VB.Label Label3 
      AutoSize        =   -1  'True
      Caption         =   "身份:"
      Height          =   180
      Left            =   960
      TabIndex        =   2
      Top             =   1500
      Width           =   540
   End
   Begin VB.Label Label2 
      AutoSize        =   -1  'True
      Caption         =   "口令:"
      Height          =   180
      Left            =   960
      TabIndex        =   1
      Top             =   960
      Width           =   540
   End
   Begin VB.Label Label1 
      AutoSize        =   -1  'True
      Caption         =   "用户名:"
      Height          =   180
      Left            =   780
      TabIndex        =   0
      Top             =   450
      Width           =   720
   End
End
Attribute VB_Name = "SystemUserManage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim isAdding As Boolean     'isAdding用于标识是否处于添加记录状态
Dim objRs As Recordset     'objRs用于保存"系统用户"表数据
Dim objCn As Connection    'objCn用于建立数据库连接

Private Sub cmdAdd_Click()
'单击时清除用户名和口令文本框,等待用户输入新记录,添加记录时禁用导航条,添加按钮和删除按钮
   txtUser = ""
   txtPWD = ""
   txtNews = "添加新记录"
   cmbStatus.ListIndex = 1    '设置默认身份
   isAdding = True
   cmdAdd.Enabled = False     '在保存新记录之前禁用控件
   cmdDelete.Enabled = False
   picNavigation.Enabled = False

End Sub

Private Sub cmdDelete_Click(Index As Integer)   '删除当前记录
   On Error GoTo DealError
  With objRs
    If Not .EOF Then
       If MsgBox("将删除<" & Trim(txtUser) & ">的用户数据,是否继续?", vbCritical + vbYesNo, "系统用户管理") = vbYes Then
          .Delete
          .MoveNext
          If .EOF And .RecordCount > 0 Then .MoveLast
          ShowCurrentRecord
          End If
       End If
   End With
     Exit Sub

DealError:
   msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
   ShowError msg

End Sub

Private Sub cmdExit_Click(Index As Integer)
 Unload Me
End Sub

Private Sub cmdRefresh_Click(Index As Integer)
'重新从数据库获得最新数据,如正在添加记录,则取消添加操作。
    objRs.Requery
    ShowCurrentRecord
    cmdAdd.Enabled = True
    cmdDelete.Enabled = True
    isAdding = False
    picNavigation.Enabled = True

End Sub

Private Sub cmdSave_Click(Index As Integer)
 '首先检查输入的各数据项是否合法,然后检查是否已存在相同记录,最后保存。
 On Error GoTo DealError
  If Trim(txtUser) = "" Then
     MsgBox "用户名不能为空!", vbCritical, "系统用户管理"
     txtUser.SetFocus
  ElseIf Trim(txtPWD) = "" Then
     MsgBox "用户口令不能为空!", vbCritical, "系统用户管理"
     txtPWD.SetFocus
  Else
     If isRepeat Then
        MsgBox "用户名:" & Trim(txtUser) & "已被使用,请使用其他用户名!", vbCritical, "系统用户管理"
        txtUser.SetFocus
        txtUser.SelStart = 0
        txtUser.SelLength = Len(txtUser)
     Else
       '保存记录
        If isAdding Then objRs.AddNew
          objRs!用户名 = txtUser
          objRs!口令 = txtPWD
          objRs!身份 = cmbStatus
          objRs.Update
          MsgBox "数据保存成功!", vbInformation, "系统用户管理"
          cmdAdd.Enabled = True
          cmdDelete.Enabled = True
          isAdding = False
          picNavigation.Enabled = True
          ShowCurrentRecord
        End If
     End If
      Exit Sub

DealError:
   msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
   ShowError msg

End Sub
Private Function isRepeat() As Boolean     '定义isRepeat函数过程,检查修改或添加的记录是否重复
   '检查当前修改后的用户名是否重复
   Dim objCopy As New Recordset
   Set objCopy = objRs.Close(clone不确定)
   If objCopy.RecordCount > 0 Then
      objCopy.MoveFirst
      objCopy.Find "用户名='" & Trim(txtUser) & "'"
      If objCopy.EOF Then
         isRepeat = False
      ElseIf isAdding Then
         isRepeat = True
      ElseIf objCopy.AbsolutePosition <> objRs.AbsolutePosition Then
         isRepeat = True
      Else
         isRepeat = False
      End If
   Else
      isRepeat = False
   End If
   Set objCopy = Nothing
End Function


Private Sub cndMove_Click(Index As Integer)     '实现记录导航条功能(第一条记录,上一条,下一条,最后一条,当前记录序号和总记录号)|<,<,>,>|为一个控件数组
 On Error GoTo DealError
  With objRs
     Select Case Index        '切换当前记录
          Case 0              '使第一个记录为当前记录
             If .RecordCount > 0 And Not .BOF Then .MoveFirst
          Case 1              '使上一个记录为当前记录
             If .RecordCount > 0 And Not .BOF Then
                .MovePrevious
                If .BOF Then .MoveFirst
             End If
          Case 2              '使下一个记录为当前记录
             If .RecordCount > 0 And Not .EOF Then
                .MoveNext
                If .EOF Then .MoveLast
             End If
          Case 3
              If .RecordCount > 0 And Not .EOF Then .MoveLast
      End Select
      ShowCurrentRecord
  End With
    Exit Sub

DealError:
   msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
   ShowError msg

End Sub

Private Sub Form_Load()   '(在窗体加载时建立数据库连接,执行查询获得"系统用户"表数据)
On Error GoTo DealError
  '建立数据库连接
  Set objCn = New Connection
  strcn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\工资管理.mdb"
  objCn.ConnectionString = strcn
  objCn.Open
  '创建Recordset对象,获取系统用户数据
  Set objRs = New Recordset
  Set objRs.ActiveConnection = objCn
  objRs.CursorLocation = adUseClient
  objRs.CursorType = adOpenDynamic
  objRs.LockType = adLockOptimistic
  Strsql = "SELECT * FROM 系统用户"
  objRs.Open Strsql
  '显示第一条记录
  ShowCurrentRecord
  Exit Sub

DealError:
   msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
   ShowError msg

End Sub

Private Sub ShowCurrentRecord()         '定义过程ShowCurrentRecord---显示当前记录
   On Error GoTo DealError
   If objRs.BOF And objRs.EOF Then
        txtNews = "记录:无"
        Else
           txtUser = objRs!用户名
           txtPWD = objRs!口令
           If objRs!身份 = "管理员" Then
                 cmbStatus.ListIndex = 0
           Else
                 cmbStatus.ListIndex = 1
           End If
        '显示当前记录编号和记录总数
           txtNews = "记录:" & objRs.AbsolutePosition & "/" & objRs.RecordCount
        End If
          Exit Sub

DealError:
   msg = "程序执行出错,错误信息如下:" & vbCrLf & Err.Description
   ShowError msg
End Sub

Private Sub Form_Unload(Cancel As Integer)      '关闭数据库连接,释放ADO
  Set objRs = Nothing
  objCn.Close
  Set objCn = Nothing

End Sub

⌨️ 快捷键说明

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