?? frmsys.frm
字號:
LbChange.Enabled = False
LbFire.Enabled = False
End Sub
Public Sub ActiveAll()
LsLimt.Enabled = True
LsUser.Enabled = True
cmdOK.Enabled = True
CmdCancel.Enabled = True
Label9.Enabled = True
Label10.Enabled = True
LbAdduser.Enabled = True
LbChange.Enabled = True
LbFire.Enabled = True
End Sub
Private Sub CmdCCancel_Click()
TxtC1.Text = TxtC2.Text = ""
Frame2.Visible = False
Call ActiveAll
End Sub
Private Sub CmdCOK_Click()
If TxtC1.Text = TxtC2.Text Then
For i = 1 To Usercount - 1
If LsUser.Text = user(i) Then
pws(i) = TxtC1.Text
End If
Next i
End If
Frame2.Visible = False
Call ActiveAll
End Sub
Private Sub CmdNewCancel_Click()
Frame1.Visible = False
Call ActiveAll
FrmSys.SetFocus
End Sub
Private Sub Form_Load()
DataA.DatabaseName = App.Path + "\sm.mdb"
DataB.DatabaseName = App.Path + "\sm.mdb"
DataA.RecordSource = "select * from employee"
DataA.Refresh
DataB.RecordSource = "select * from user"
DataB.Refresh
If Dir(App.Path + "\user.ini") = "" Then
MsgBox "文件不存在。"
Else
fil = FreeFile()
Open App.Path + "\user.ini" For Input As #fil
i = 0
Do While Not EOF(fil)
Input #fil, user(i), pws(i)
Input #fil, state(i), Emplo(i)
i = i + 1
Loop
Usercount = i '用戶數(shù)目
Close #fil
For i = 0 To Usercount - 1
If state(i) = "A" Then
LsUser.AddItem user(i)
ElseIf state(i) = "L" Then
LsLimt.AddItem user(i)
End If
Next i
End If
End Sub
Private Sub CmdCancel_Click()
Me.Hide
FrmMain.Enabled = True
FrmMain.SetFocus
End Sub
Private Sub cmdOK_Click()
fil = FreeFile()
Open App.Path + "\user.ini" For Output As #fil
For i = 0 To Usercount - 1
Print #fil, user(i); ","; pws(i); ","; state(i); ","; Emplo(i)
Next i
Close #fil
Me.Hide
FrmMain.SetFocus
End Sub
Private Sub CmNewOK_Click()
If Txtnew.Text = "" Or TxtName.Text = "" Then
MsgBox "請輸入名字和職工號"
Txtnew.SetFocus
Exit Sub
End If
For i = 1 To Usercount - 1 '判斷是否此職員已經(jīng)是用戶
If Emplo(i) = Txtnew.Text Then '如果已經(jīng)存在且非F狀態(tài)則
MsgBox ("本用戶已經(jīng)存在!") '提示本用戶名已經(jīng)被占用
Exit Sub
ElseIf user(i) = TxtName.Text Then '如果輸入員工用戶名已經(jīng)在用戶列表 則提示
MsgBox ("本用戶已經(jīng)存在")
Exit Sub
End If
Next i
DataA.Recordset.FindFirst "職工編號= " + Txtnew.Text
If DataA.Recordset.NoMatch Then '如果輸入的員工編號不存在 則提示
MsgBox ("本職員不存在")
Exit Sub
End If
If TxtP1.Text = TxtP2.Text Then
If Usercount = MxUser Then '限制最大用戶數(shù)目
MsgBox "太多用戶了"
Else
user(Usercount) = TxtName.Text
pws(Usercount) = TxtP1.Text
state(Usercount) = "A"
Emplo(Usercount) = Txtnew.Text
Usercount = Usercount + 1 '當前用戶數(shù)目+1
LsUser.AddItem TxtName.Text
Frame1.Visible = False
Call ActiveAll
DataB.Recordset.AddNew '向一個可修改的記錄集對象插入一條新記錄
For i = 0 To 15
DataB.Recordset.Fields(i) = DataA.Recordset.Fields(i)
Next i
DataB.Recordset.Update '把對記錄的任何改變寫回數(shù)據(jù)庫中,取代舊的記錄
fil = FreeFile()
Open App.Path + "\user.ini" For Output As #fil
For i = 0 To Usercount - 1
Print #fil, user(i); ","; pws(i); ","; state(i); ","; Emplo(i)
Next i
Close #fil
Txtnew.Text = ""
TxtName.Text = ""
TxtP1.Text = ""
TxtP2.Text = ""
End If
Else
MsgBox ("兩次密碼不一致,請重新輸入!")
TxtP1.Text = ""
TxtP2.Text = ""
TxtP1.SetFocus
End If
End Sub
Private Sub LbAdduser_Click()
Frame1.Visible = True
Call DeadAll
End Sub
Private Sub Label9_dblClick() '刪除 用戶
If LsUser.Text <> "" Then '判定是否選定用戶
For i = 1 To Usercount - 1
If LsUser.Text = user(i) Then
state(i) = "L" '改寫用戶狀態(tài)為限制用戶
LsLimt.AddItem (LsUser.Text)
LsUser.RemoveItem (LsUser.ListIndex)
End If
Next i
End If
End Sub
Private Sub Label10_dblClick() ' 激活 用戶
If LsLimt.Text <> "" Then
For i = 1 To Usercount - 1
If LsLimt.Text = user(i) Then
state(i) = "A" '將用戶狀態(tài)改寫為 A
LsUser.AddItem (LsLimt.Text)
LsLimt.RemoveItem (LsLimt.ListIndex)
End If
Next i
End If
End Sub
Private Sub LbChange_Click() '變更密碼
If LsUser.Text <> "root" And LsUser.Text <> "" Then '非超級用戶的
Call DeadAll
Frame2.Visible = True
FrmMain.Pwin = "FrmSys"
Frame2.Caption = "當前用戶:" + LsUser.Text
ElseIf LsUser.Text = "root" Then
Call DeadAll
FrmPsw.Show
FrmPsw.Label1.Caption = "修改超級用戶密碼"
Else
MsgBox "請選擇用戶!"
Exit Sub
End If
End Sub
Private Sub LbFire_dblClick()
For i = 1 To Usercount - 1
If LsLimt.Text = user(i) Then
state(i) = "F"
LsLimt.RemoveItem (LsLimt.ListIndex)
End If
Next i
End Sub
Private Sub LsLimt_Click()
Dim str As String
If LsLimt.Text <> "" Then
LsUser.ListIndex = -1
For i = 1 To Usercount - 1
If LsLimt.Text = user(i) Then
DataB.Recordset.FindFirst "職工編號=" + Emplo(i)
End If
Next i
If DataB.Recordset.NoMatch Then
LbNote.Caption = "沒有此用戶"
Else
str = ""
With DataB.Recordset
str = str + " 職員編號: " + CStr(.Fields(0)) + " 姓名:" + CStr(.Fields(1))
str = str + " 畢業(yè)學校:" + CStr(.Fields(6)) + " 部門:" + CStr(.Fields(8))
str = str + " 職位:" + CStr(.Fields(9)) + " 電話:" + CStr(.Fields(11))
End With
LbNote.Caption = str
End If
End If
End Sub
Private Sub LsUser_Click()
Dim str As String
If LsUser.Text <> "" Then
LsLimt.ListIndex = -1
For i = 0 To Usercount - 1
If LsUser.Text = user(i) Then
DataB.Recordset.FindFirst "職工編號=" + Emplo(i)
Exit For
End If
Next i
If DataB.Recordset.NoMatch Then
LbNote.Caption = "沒有此用戶"
Else
str = ""
With DataB.Recordset
str = str + "職員編號: " + CStr(.Fields(0)) + " 姓名:" + CStr(.Fields(1))
str = str + " 畢業(yè)學校:" + CStr(.Fields(6)) + " 部門:" + CStr(.Fields(8))
str = str + " 職位:" + CStr(.Fields(9)) + " 電話:" + CStr(.Fields(11))
End With
LbNote.Caption = str
End If
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
FrmMain.Enabled = True
FrmMain.SetFocus
Unload Me
End Sub
Private Sub Txtnew_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack Then
KeyAscii = 0
Exit Sub
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -