版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、企业工资管理系统下选择“工资信息设置“根本工资设置菜单设置员工的根本工资,可以根据员工的编号,或者根据员工职务设置根本工资,设置的根本工资为每个小时的工资。Setrs=getrs(sql,salary)Ifrs.EF=FalseThensql=deletefrsalarysettingherestuffid=e.stuffid.Textalltransatsql(sql,salary)EndIfrs.lseid=e.stuffid.TextalladdrerdsgBx已经设置根本工资,vbKnly+vbExlaatin,添加结果allinitsql=selet*frsalarysettinga
2、llfrresult.basitpiallfrresult.shbasi(sql)frresult.Shfrresult.Zrder0e.Zrder0选择“工资信息设置“其他工程设置菜单,在其他工程设置的窗体中,设置员工当月的奖金、津贴、福利等工程。sql=selet*frsalarytherIfihangeflag=1ThenalladdsgBx已经添加记录,vbKnly+vbExlaatin,提示allfrresult.thertpiallfrresult.shther(sql)frresult.ShUnladeElseIfe.ptinbnus.Value=TrueThenitype=1E
3、lsEife.ptinallane.Value=TrueThenitype=2ElseIfe.ptinelfare.Value=TrueThenitype=3ElseIfe.ptinabateent.Value=TrueThenitype=4ElseIfe.ptinthers.Value=TrueThenitype=5resudate=rerdtiesql=deletefrsalarytherherestuffid=e.id.Textsql=sqlandYearnth=#rerdtie#andsql=sqlType=itypealltransatsql(sql,Salary)alladdall
4、frsusalary.resusalary(resudate)sql=selet*frsalarytherallfrresult.thertpiallfrresult.shther(sql)frresult.ShUnladeEndIf选择“工资信息设置“工资计算公式设置菜单,在这个计算公式窗体中设置员工实际发放工资的计算公式。Ife.textvertie=AndIsNueri(e.textvertie)=TrueThensgBx请输入正常加班工资百分比,vbKnly+vbExlaatin,提示e.textvertie=e.textvertie.SetFusElseIfe.textverties
5、pe=AndIsNueri(e.textvertiespe)=FalseThensgBx请输入特殊加班工资百分比,vbKnly+vbExlaatin,提示e.textvertiespe=e.textvertiespe.SetFusElseIfe.texterrand=AndIsNueri(e.texterrand)=FalseThensgBx请输入出差工资,vbKnly+vbExlaatin,提示e.texterrand=e.texterrand.SetFusElseIfe.textabsent=AndIsNueri(e.textabsent)=FalseThensgBx请输入旷工扣发工资,v
6、bKnly+vbExlaatin,提示e.textabsent=e.textabsent.SetFusElseIfe.textle=AndIsNueri(e.textle)=FalseThensgBx请输入迟到早退扣发工资,vbKnly+vbExlaatin,提示e.textle=e.textle.SetFusElseallsetvalueallinitEndIf选择“工资信息管理“出勤统计菜单,在统计出勤记录窗体中选择需要统计记录的月份。firstday=Year(Date)-e.nth.Text-1days=DateDiff(d,Year(Date)-e.nth.Text-1,_Year(
7、Date)-e.nth.Text+1-1)lastday=Year(Date)-e.nth.Text-dayssql=selet*frattendanestatistisherererdnthbeteen#sql=sqlfirstday#and#lastday#Setrsrerd=getrs(sql,salary)Ifrsrerd.EF=FalseThensgBx已经统计,vbKnly+vbExlaatin,提示fraresult.Shfraresult.Zrder0rsrerd.lseUnladeExitSubEndIfsql=selet*frattendaneinfhereadatebet
8、een#sql=sqlfirstday#and#lastday#Setrsrerd=getrs(sql,persn)Ifrsrerd.EF=FalseThensql=seletsid,snaefrstuffinfrderbysidSetrspersn=getrs(sql,persn)选择月份后单击“确定按钮,假如系统已经统计过该月份的记录,那么会出现如下列图所示的统计结果信息列表。假如系统没有统计过,那么系统就会开场统计记录,然后显示如下图的统计结果信息列表。IfstrusernaeadinThensql=seletsidfrstuffinfheresnae=strusernaeSetrs=g
9、etrs(sql,salary)sd=rs(0)sql=selet*frattendanestatistisherestuffid=sde.Add1.nnetinString=prvider=irsft.jet.ledb.4.0;Datasure=App.Pathsalary.dbe.Add1.RerdSure=sqle.Add1.RefreshSete.DataGrid1.DataSure=e.Add1.Rerdsete.DataGrid1.RefreshElsesql=selet*frattendanestatistise.Add1.nnetinString=prvider=irsft.j
10、et.ledb.4.0;Datasure=App.Pathsalary.dbe.Add1.RerdSure=sqle.Add1.RefreshSete.DataGrid1.DataSure=e.Add1.Rerdsete.DataGrid1.RefreshEndIf选择“工资信息管理“计算实发工资菜单,在这个窗体中选择需要统计的月份。选择统计月份后,单击“开场统计按钮,系统假如已经统计了该月份的工资,系统会显示工资信息列表窗体。假如系统还没有统计工资,那么系统开场统计工资,然后在信息结果列表窗体中显示统计结果。Ife.nth.Text=4Thenfirstday=Year(Date)-e.nt
11、h.Text-1days=DateDiff(d,Year(Date)-e.nth.Text-1,_Year(Date)-e.nth.Text+1-1)lastday=Year(Date)-e.nth.Text-daysallsusalary(firstday,lastday)sql=selet*frsalarystatistisfrresult.SSTab1.aptin=员工工资统计列表allfrresult.listtpiallfrresult.shdata(sql)frresult.aptin=统计结果列表frresult.Zrder0UnladeElsesgBx这个月的工资未统计,vbK
12、nly+vbExlaatin,提示EndIf选择“工资信息管理“查询工资菜单,系统显示如图的查询信息窗体,系统默认的是查询出数据库中所有的记录当管理员进入的时候,当从“员工编号下拉列表中选择一个员工编号后,单击“查询单人按钮,就会查询出符合这个员工编号的记录;假如需要返回查询所有信息,单击“查询所有按钮,系统就会返回所有员工的信息。在“员工工资统计列表中单击鼠标右键,会弹出下列图的菜单,在“员工其他工程列表中单击鼠标右键也会出现下列图的菜单。假如要选择“删除根本工资设置,出现如下的提示:详细的操作这里就不详细介绍。选择“工资信息管理“导出工资表菜单,会出现下列图的“导出记录窗体中选择需要导出工
13、资的月份。选择月份和保存位置后,单击“导出按钮,系统会开场导出数据。单击“确定按钮翻开导出的文件,单击“取消按钮回到系统。导出的工资记录34各项子模块编写要点在登录的这个窗体里,我做的特点是:只要在数据库里有用户信息的,都可以登录,然后显示相关自己的信息,而管理员显示所有的信息。当输入的用户名或密码不正确的时候,会出现如下的对话框:或者在主窗体的设计中,我在系统的下拉菜单里包括有添加用户、修改密码和退出系统。在这个模块里普通用户只有修改自己的密码的权利。在添加用户的窗体里:添加3个标签、3个文本框和2个命令按钮,然后设置它们相关的属性。在修改密码的窗体里:添加了3个标签,用来显示信息;3个文本
14、框用来输入用户名称和用户密码;2个按钮用来确定和取消操作,然后设置它们的属性。在工资信息设置的下拉菜单里包括有根本工资信息设置、其他工程信息设置和计算公式设置。在这个模块里,普通用户没有任何权利进展相关的操作。在根本工资窗体里:添加了2个选项按钮、2个下拉列表、2个标签、1个文本框和2个按钮,然后设置它们的属性。在其他工程设置的窗体里:使用了一个DTPiker控件获得添加记录的时间,要使用这个控件需要添加部件类库,选择“工程部件命令,选择irsftindsnntrls-26.0(sp4)项,然后设置相关的属性。在工资信息管理的下拉菜单里包括有统计出勤信息、计算实发工资、查询工资和导出工资表。在
15、这个模块里,普通用户有统计出勤信息和查询工资的权利,但是都显示的是自己的信息。在出勤统计窗体里:添加一个下拉列表、一个标签和2个命令按钮,然后设置相关的属性。在出勤结果信息列表的窗体里:使用了Add控件和DataGrid控件,控件的Visible属性一定要设置为False。在计算实发工资窗体里添加的控件和统计出勤记录窗体的控件一样。在工资统计列表窗体里:使用了SSTab控件,在每一个标签上添加一个SFlexGrid控件,然后设置它们的属性。在导出工资表的窗体中使用了ndDialg控件,要使用这个控件需要在“控件窗体中,选择irsftnDialgntrl6.0(sp3)项,同时因为数据表格是导出
16、到Exel,所以需要添加引用。选择“工程引用菜单,在“引用窗体中选择irsftExel9.0bjetLibrary项,这样才可以成功导入到Exel。在这个窗体里,我做的特点是:权利分工明确。当管理员进入的时候他有所有的权利,单击哪个模块就会弹出相对应的窗体。而普通用户那么不能,我把它进展了权限设置,会弹出权限的对话框。在添加用户的窗体里,假如输入的用户密码和确认密码不一致,将出现一个警告对话框:然后输入与用户密码一样的密码,我这里的密码都是以*的形式表达,是不可见的。添加的用户将保存在数据库的userinf里。单击“取消按钮就卸载此窗体,添加用户的过程到此完成。在修改密码的窗体里,我要注重讲解
17、一下:当输入的旧密码与登录时的密码不一致将出现提示对话框如图一,当输入的“确认新密码和“输入新密码的密码不一致时也将出现警告对话框如图二。我在做这个窗体时遇到了一个问题:就是输入的新密码确认后,当你再一次的进入修改密码窗体输入旧密码时,假如输入的是刚刚修改正的密码,就会出现错误。经过一段时间的考虑,我发现原因是修改正的密码没有覆盖登录时的密码,所以会出现问题。我觉得这是一个很大的问题,在别的书上可能没注意到这一点,所以我要注重的讲一下,这是我做这个窗体时的最大体会。在建立根本工资窗体时,这个窗体会在两个地方使用到,一个就是添加,另一个就是修改,在窗体载入时系统应自动判断状态。选择员工编号或选择
18、职务,然后填写工资金额,单击“确定按钮,系统就会按照选择的方式,设置员工的根本工资。在做根本工资这个窗体时,我的想法是:当你在修改根本工资的信息,首先都要从数据库中调出相关的信息,然后把它删除掉,再从数据库中的员工信息表中调出所要的信息,然后再一次的添加所要设置的信息。当你没输入员工编号的时候,会出现下列图的对话框;当没输入员工的职务时会出现错误的信息。在建立其他工程设置的窗体时,也在两个地方使用,即添加和修改,在载入时也需要判断状态。选择员工编号,再选择需要添加的工程和进额,单击“确定按钮,即可添加其他工程。在其他工程设置这个窗体里,我用了一个Frae控件和几个ptinButtn控件,目的在
19、于:在添加其他工程时,只能有一个设置是有效的,而且还可以添加其他的工程,还有备注等等,这些都便于记录。这里还有一个DTPiker控件是用来记录添加其他工程的时间,我觉得这个控件非常好。还有就是每次添加成功后,系统需要初始化,更新一下。在设置完这个窗体后将会弹出查询工资的窗体。在建立工资计算公式的窗体时,输入内容后,单击“确定按钮,设置计算公式中使用的数字。在计算公式设置的窗体里,单击“恢复默认值按钮系统将会恢复公式中的默认值。这里的恢复默认值功能采用的方法比拟简单,就是在一个函数中设置了固定的默认值。假如需要使用可变的默认值,可以在数据库中设置一项默认值字段,这样可以方便的更改默认值。当输入的
20、格式与设定的格式不一致的时候,会弹出相关的对话框。建立出勤统计窗体,选择月份后,单击“确定按钮,开场统计出勤记录。在统计出勤信息的窗体里,这要和出勤记录的数据库相连,假如输入的月份没有统计将如下的对话框:假如输入的月份有统计记录那么弹出如下的对话框:然后弹出出勤结果的窗体,显示数据库中统计信息相关的记录。管理员能看到的界面这是用户登录所显示的用户信息建立计算实发工资的窗体,这个窗体的建立和统计出勤记录的窗体比拟相似,选择月份后,单击“开场统计按钮,即可统计员工工资。在计算实发工资的窗体里,假如输入的月份的工资没统计会弹出如下的对话框:否那么会出现如下的对话框:单击“确定后,就会出现工资信息列表
21、,这时你将看见所有关于你想要的信息。建立工资查询的窗体,在选择员工编号后,单击“查询单人按钮,返回选择员工的相关信息。单击“查询全部按钮,系统返回全部员工的信息。在建立工资查询即工资统计结果列表的窗体时,我觉得这是一个最难的窗体。不仅是因为它的设置,还有就是它的代码和数据库相连的操作。在这个窗体中使用了SSTab控件,在每一个标签上添加一个SFlexGrid控件。当你是管理员登录的时候,他的权限是所有,当你是用户登录的时候,窗体只显示登录用户本人的相关信息。他没有任何权限,只能看到自己的信息,这是我做这个窗体的特色。窗体的局部代码为:Ifstrusernae=adinThen管理员的权限sql
22、=seletstuffidfrsalarysettingSetrs=getrs(sql,salary)Ifrs.EF=FalseThenhileNtrs.EFe.id.AddIters(0)rs.veNextendrs.lseEndIfe.id.ListIndex=0Seletasee.SSTab1.Tabase0sql=selet*frsalarysettingallbasitpiallshbasi(sql)ase1sql=selet*frsalarytherallthertpiallshther(sql)ase2sql=selet*frsalarystatistisrderbyiddesa
23、lllisttpiallshdata(sql)EndSeletElse用户的权限sql=seletsidfrstuffinfheresnae=strusernaeSetrs=getrs(sql,salary)hileNtrs.EFe.id.AddIters(0)rs.veNextendrs.veFirstsd=rs(0)rs.lsee.id.ListIndex=0Seletasee.SSTab1.Tabase0sql=selet*frsalarysettingherestuffid=sdallbasitpiallshbasi(sql)ase1sql=selet*frsalarytherhere
24、stuffid=sdallthertpiallshther(sql)ase2sql=selet*frsalarystatistisherestuffid=sdalllisttpiallshdata(sql)EndSeletEndIfEndSub这是用户登录所显示的用户信息建立导出工资表窗体的时候,这是工资管理的最重要的一步。这个窗体中使用了ndDialg控件,通过设置Flags属性,使ndDialg控件的对话框中显示一个帮助按钮,但是,程序员必须在这个位置提供相关的帮助主题。对于所有的公共对话框,当anelErrr属性为true,而且用户单击了对话框的“取消按钮时将生成一个错误。可以在显示对话框的同时捕获此错误以检验是否按下了“取消按钮。这个控件可以显示“翻开和“另存为对话框,可以在翻开对话框之前用Filter属性指定在“文件类型列表框中显示的文件过滤器列表。这个窗体还引用了irsftExel9.0bjetLibrary,目的是为了把建立的工资表导入到Exel表格中。这个窗体的制作是非常复杂的,尤其是从VB导入到表格中。建立导出工资表的窗体,当单击“保存为文本框右边的按钮,会提示用户选择保存途径,然后单击“导出,会导到你所要保存的文件夹里。这样就可以在你保存的途径里看到导出的Exel表格了。第四章完毕语企业工资管理系统是一个典型的信息管理系统,其主要通过软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理教学设计:精神科护理策略
- 2026二年级数学下册 平均分成几份的分法
- 志愿者项目办责任制度
- 惠农减负工作责任制度
- 房地产企业安全责任制度
- 托管食品安全责任制度
- 扬尘管控责任制度
- 技术总工安全责任制度
- 护士工作责任制度
- 担保人员责任制度
- 腾讯数据分析师面试宝典
- 2026年江苏护理职业学院单招职业适应性测试题库有答案详解
- 增值税内部发票管理制度
- GB/T 47048-2026自然保护地标识通用要求
- 2026年高中语文教师资格证综合素质考试真题
- 2026年湖南邮电单招试题及答案
- 2025中国分娩镇痛专家共识
- 2026春教科版一年级科学下册(全册)教学设计(附教材目录)
- 2026春北师大版数学三年级下册教学计划及进度表
- 2026年内蒙古机电职业技术学院单招职业适应性测试题库含答案详解(完整版)
- 2026年无锡科技职业学院单招职业适应性测试题库有答案解析
评论
0/150
提交评论