er控件获得添加记录的时间,要使用这个控件需要添加部件类库,选择"工程->部件"命令,选择MicrosoftWindowsCommonControls-26.0(sp4)项,然后设置相关的属性。
在工资信息管理的下拉菜单里包括有统计出勤信息、计算实发工资、查询工资和导出工资表。在这个模块里,普通用户有统计出勤信息和查询工资的权利,但是都显示的是自己的信息。在出勤统计窗体里:添加一个下拉列表、一个标签和2个命令按钮,然后设置相关的属性。在出勤结果信息列表的窗体里:使用了Adodc控件和DataGrid控件,控件的Visible属性一定要设置为False。在计算实发工资窗体里添加的控件和统计出勤记录窗体的控件相同。在工资统计列表窗体里:使用了SSTab控件,在每一个标签上添加一个MSFlexGrid控件,然后设置它们的属性。在导出工资表的窗体中使用了CommondDialog控件,要使用这个控件需要在"控件"窗体中,选择MicrosoftCommonDialogControl6.0(sp3)项,同时因为数据表格是导出到Excel,所以需要添加引用。选择"工程->引用"菜单,在"引用"窗体中选择MicrosoftExcel9.0ObjectLibrary项,这样才能够成功导入到Excel。
在这个窗体里,我做的特点是:权利分工明确。当管理员进入的时候他有所有的权利,单击哪个模块就会弹出相对应的窗体。而普通用户则不能,我把它进行了权限设置,会弹出权限的对话框。
在添加用户的窗体里,如果输入的用户密码和确认密码不一致,将出现一个警告对话框:
然后输入与用户密码相同的密码,我这里的密码都是以*的形式表达,是不可见的。添加的用户将保存在数据库的userinfo里。单击"取消"按钮就卸载此窗体,添加用户的过程到此完成。
在修改密码的窗体里,我要注重讲解一下:当输入的旧密码与登录时的密码不一致将出现提示对话框(如图一),当输入的"确认新密码"和"输入新密码"的密码不一致时也将出现警告对话框(如图二)。我在做这个窗体时遇到了一个问题:就是输入的新密码确认后,当你再一次的进入修改密码窗体输入旧密码时,如果输入的是刚刚修改过的密码,就会出现错误。经过一段时间的思考,我发现原因是修改过的密码没有覆盖登录时的密码,所以会出现问题。我觉得这是一个很大的问题,在别的书上可能没注意到这一点,所以我要注重的讲一下,这是我做这个窗体时的最大体会。
图一
图二
在建立基本工资窗体时,这个窗体会在两个地方使用到,一个就是添加,另一个就是修改,在窗体载入时系统应自动判断状态。选择员工编号或选择职务,然后填写工资金额,单击"确定"按钮,系统就会按照选择的方式,设置员工的基本工资。在做基本工资这个窗体时,我的想法是:当你在修改基本工资的信息,首先都要从数据库中调出相关的信息,然后把它删除掉,再从数据库中的员工信息表中调出所要的信息,然后再一次的添加所要设置的信息。当你没输入员工编号的时候,会出现下图的对话框;
当没输入员工的职务时会出现错误的信息。
在建立其他项目设置的窗体时,也在两个地方使用,即添加和修改,在载入时也需要判断状态。选择员工编号,再选择需要添加的项目和进额,单击"确定"按钮,即可添加其他项目。在其他项目设置这个窗体里,我用了一个Frame控件和几个optionButton控件,目的在于:在添加其他项目时,只能有一个设置是有效的,而且还可以添加其他的项目,还有备注等等,这些都便于记录。这里还有一个DTPicker控件是用来记录添加其他项目的时间,我觉得这个控件非常好。还有就是每次添加成功后,系统需要初始化,更新一下。在设置完这个窗体后将会弹出查询工资的窗体。
在建立工资计算公式的窗体时,输入内容后,单击"确定"按钮,设置计算公式中使用的数字。在计算公式设置的窗体里,单击"恢复默认值"按钮系统将会恢复公式中的默认值。这里的恢复默认值功能采用的方法比较简单,就是在一个函数中设置了固定的默认值。如果需要使用可变的默认值,可以在数据库中设置一项默认值字段,这样可以方便的更改默认值。当输入的格式与设定的格式不一致的时候,会弹出相关的对话框。
建立出勤统计窗体,选择月份后,单击"确定"按钮,开始统计出勤记录。在统计出勤信息的窗体里,这要和出勤记录的数据库相连,如果输入的月份没有统计将如下的对话框:
如果输入的月份有统计记录则弹出如下的对话框:
然后弹出出勤结果的窗体,显示数据库中统计信息相关的记录。
管理员能看到的界面
这是用户登录所显示的用户信息
建立计算实发工资的窗体,这个窗体的建立和统计出勤记录的窗体比较相似,选择月份后,单击"开始统计"按钮,即可统计员工工资。在计算实发工资的窗体里,如果输入的月份的工资没统计会弹出如下的对话框:
否则会出现如下的对话框:
单击"确定"后,就会出现工资信息列表,这时你将看见所有关于你想要的信息。
建立工资查询的窗体,在选择员工编号后,单击"查询单人"按钮,返回选择员工的相关信息。单击"查询全部"按钮,系统返回全部员工的信息。在建立工资查询(即工资统计结果列表)的窗体时,我觉得这是一个最难的窗体。不仅是因为它的设置,还有就是它的代码和数据库相连的操作。在这个窗体中使用了SSTab控件,在每一个标签上添加一个MSFlexGrid控件。当你是管理员登录的时候,他的权限是所有,当你是用户登录的时候,窗体只显示登录用户本人的相关信息。他没有任何权限,只能看到自己的信息,这是我做这个窗体的特色。
窗体的部分代码为:
Ifstrusername="admin"Then'管理员的权限
sql="selectstuffidfromsalarysetting"
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
WhileNotrs.EOF
Me.comid.AddItemrs(0)
rs.MoveNext
Wend
rs.Close
EndIf
Me.comid.ListIndex=0
SelectCaseMe.SSTab1.Tab
Case0
sql="select*fromsalarysetting"
Callbasictopic
Callshowbasic(sql)
Case1
sql="select*fromsalaryother"
Callothertopic
Callshowother(sql)
Case2
sql="select*fromsalarystatisticsorderbyiddesc"
Calllisttopic
Callshowdata(sql)
EndSelect
Else'用户的权限
sql="selectsidfromstuffinfowheresname='"&strusername&"'"
Setrs=getrs(sql,"salary")
WhileNotrs.EOF
Me.comid.AddItemrs(0)
rs.MoveNext
Wend
rs.MoveFirst
sd=rs(0)
rs.Close
Me.comid.ListIndex=0
SelectCaseMe.SSTab1.Tab
Case0
sql="select*fromsalarysettingwherestuffid='"&sd&"'"
Callbasictopic
Callshowbasic(sql)
Case1
sql="select*fromsalaryotherwherestuffid='"&sd&"'"
Callothertopic
Callshowother(sql)
Case2
sql="select*fromsalarystatisticswherestuffid='"&sd&"'"
Calllisttopic
Callshowdata(sql)
EndSelect
EndIf
EndSub
这是用户登录所显示的用户信息
建立导出工资表窗体的时候,这是工资管理的最重要的一步。这个窗体中使用了CommondDialog控件,通过设置Flags属性,使CommondDialog控件的对话框中显示一个帮助按钮,但是,程序员必须在这个位置提供相关的帮助主题。对于所有的公共对话框,当CancelError属性为true,而且用户单击了对话框的"取消"按钮时将生成一个错误。可以在显示对话框的同时捕获此错误以检验是否按下了"取消"按钮。这个控件可以显示"打开"和"另存为"对话框,可以在打开对话框之前用Filter属性指定在"文件类型"列表框中显示的文件
上一篇:
VB工作备忘录(论文和程序)
下一篇:
关于XX镇中小企业电子商务应用发展趋势的研究