密,并有专人管理,使用前身份确认就显得非常重要,故在运行前要进行管理权限确认. 以防止他人无意或恶意篡改.(图 5-1)
图 5-1 主界面图
主界面图关键代码如下:
Option Explicit Const MxUser = 100
Public EmploID As Integer Public CurUser As String Public CurId As String Public CurPsw As String
Dim user(MxUser), pws(MxUser), state(MxUser), Emplo(MxUser) As String
Private Sub Form_Load()
Dim i As Integer
If App.PrevInstance Then
MsgBox (\程序已经运行,不能再次装载。\ Unload Me End If
'本段代码用于判定本程序是否已经装载于内存中,以避免程序的多重启动
9
i = 0
Open App.Path + \
Do While Not EOF(1)
Input #1, user(i), pws(i), state(i), Emplo(i)
If state(i) = \ Combo1.AddItem user(i) End If
i = i + 1 Loop
Close #1
Combo1.ListIndex = 1
'在窗口装载阶段读取用户设置文件获取用户信息 并装载于用户列表框中
End Sub
Private Sub CmdCancel_Click()
Unload Me End End Sub
Private Sub cmdOK_Click()
If txtPassword = pws(Combo1.ListIndex) Then
CurId = Combo1.ListIndex EmploID = Emplo(CurId) CurUser = user(CurId) CurPsw = pws(CurId)
Me.Hide
'Load FrmMain FrmMain.Show Else
MsgBox \
10
txtPassword.SetFocus SendKeys \ End If End Sub
Private Sub Form_Unload(Cancel As Integer) Unload Me End End Sub
1.2登记表的界面设计
图5-2 登记表的界面
登记表关键代码如下:
Private Sub DBGA_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
cuAp = DataA.Recordset.AbsolutePosition
If cuAp > -1 Then
11
DataB.Recordset.FindFirst \职工编号=\职工编号\
If DataB.Recordset.NoMatch Then
Lab.Caption = \没有此职员\ Else
With DataB.Recordset
Lab.Caption = \工号:\姓名:\性别:\+ CStr(.Fields(4)) + \部门:\+ CStr(.Fields(8)) + \职位:\+ CStr(.Fields(9)) + \电话:\+ CStr(.Fields(11))
End With End If End If End Sub
1.3密码的修改页面设计:
图 5-3 密码的修改界面 密码修改部分代码:
Private Sub cmdOK_Click()
If txtPassword = pws(Combo1.ListIndex) Then
CurId = Combo1.ListIndex EmploID = Emplo(CurId) CurUser = user(CurId) CurPsw = pws(CurId)
12
Me.Hide
'Load FrmMain FrmMain.Show Else
MsgBox \ txtPassword.SetFocus
SendKeys \ End If End Sub
1.4登陆成功界面设计:
图 5-4登陆成功界面 登陆页面部分代码: Private Sub Form_Load()
Tbch = False
fil = FreeFile()
Open App.Path + \
Do While Not EOF(fil)
Input #fil, Tbnam(i), Tbstr(i) i = i + 1 Loop
13