图4.11 员工不存在提示
4.2.9选择“工资查询”→“按员工查询”菜单,弹出如图4.12所示对话框,用户可以选择单人查询或者全部显示,但是不能对员工的工资做任何的改动。
管理员可以查看所有人的工资情况,但是普通用户只可以查看自己的工资情况,别人的工资情况不允许查看。
图4.12 按员工查询
4.2.10 选择“工资查询”→“按部门查询”菜单,弹出对话框,当选择“部门编号”后可执行“单个显示”,若想全部显示,可直接单击”显示所有“按钮。网格中将会同时刷新后台数据库信息,但是不能做任何的修改。
15
第五章 各个模块部门代码
5.1登陆界面
Static try_times As Integer Dim sql As String
Dim rst As ADODB.Recordset If Trim(cmo_user.Text) = \
MsgBox \请选择用户名\提示\ cmo_user.SetFocus Else
If Trim(txt_key.Text) = \
MsgBox \请输入密码\提示\ txt_key.SetFocus Else
sql = \用户表 where 用户名='\ Set rst = ExecuteSQL(sql, \
If Trim(rst.Fields(1)) = Trim(txt_key.Text) Then tempuser = Trim(cmo_user.Text) power = Trim(rst.Fields(2))
username = Trim(cmo_user.Text) rst.Close
frm_main.Show Unload Me
If power <> \管理员\ frm_main.set.Enabled = False frm_main.defend = False End If Else
MsgBox \密码不正确,请重新输入\警告\ txt_key.SetFocus txt_key.Text = \ try_times = try_times + 1 If try_times = 3 Then
MsgBox \您已三次尝试进入本系统失败,系统将自动关闭\vbExclamation, \结束\
Unload Me End If End If End If End If End Sub
Private Sub Form_Load() Dim i As Integer Dim sql As String
16
Dim rst As ADODB.Recordset
sql = \用户名 from 用户表 \ Set rst = ExecuteSQL(sql, \ For i = 1 To rst.RecordCount cmo_user.AddItem (rst.Fields(0)) rst.MoveNext Next i rst.Close End Sub
5.2 各个子模块代码设置
5.2.1 以用户添加为例,部分代码如下所示 Private Sub cmd_add_Click() Dim rst As ADODB.Recordset Dim sql As String Dim i As Integer
If Trim(txt_adduser.Text) = \ MsgBox \请将用户信息填写完整!\警告\ txt_adduser.SetFocus txt_adduser.Text = \ txt_addkey.Text = \ txt_rekey.Text = \ cmo_addpower.Clear Call Form_Load Else
sql = \用户名 from 用户表\ Set rst = ExecuteSQL(sql, \
If Trim(txt_adduser.Text) = Trim(rst.Fields(0)) Then
MsgBox \您输入的用户已经存在,请重新输入!\警告\ rst.Close
txt_adduser.SetFocus txt_adduser.Text = \ txt_addkey.Text = \
17
cmo_addpower.Clear Call Form_Load txt_rekey.Text = \Else
If Trim(txt_addkey.Text) <> Trim(txt_rekey.Text) Then
MsgBox \两次输入的密码不相同,请重新输入!\警告\ txt_addkey.SetFocus txt_addkey.Text = \ txt_rekey.Text = \Else
sql = \用户表 values(\ & \ & \ Set rst = ExecuteSQL(sql, \
MsgBox \添加成功\添加结果\ txt_adduser.SetFocus txt_adduser.Text = \ txt_addkey.Text = \ txt_rekey.Text = \ cmo_addpower.Clear Call Form_Load End If End If End If End Sub
Private Sub cmd_cancel_Click() Unload Me End Sub
Private Sub Form_Load() With cmo_addpower
18
.AddItem \管理员\ .AddItem \普通用户\End With End Sub
5.2.2 工资设置代码
以基本工资中的修改和删除为例,岗位工资与基本工资雷同,不再赘述。 Private Sub cmd_alter_Click()
If Trim(cmo_scale.Text) = \
MsgBox \请填写需要修改的信息!\警告\cmo_scale.SetFocus cmo_scale.Text = \txt_money.Text = \Else
sql = \工资级别 from 基本工资 where 工资级别='\Set rst = ExecuteSQL(sql, \If rst.RecordCount = 0 Then
MsgBox \您输入的级别不存在,请重新输入!\警告\cmo_scale.SetFocus cmo_scale.Text = \txt_money.Text = \Else
sql = \基本工资 set 工资金额='\工资级别='\Trim(cmo_scale.Text) & \Set rst = ExecuteSQL(sql, \
MsgBox \修改成功!\操作结果\cmo_scale.SetFocus cmo_scale.Text = \txt_money.Text = \Call Form_Load End If
19