人事管理系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津市畦钲电子有限公司人事管理系统的开发
一、序言
1.1系统开发的背景
信息、物质和能源是人类社会发展的三大资源。
随着以计算机技术、通信技术、网络技术为代表的现代信息技术的飞跃发展,人类社会正从工业时代阔步迈向信息时代。
人们越来越重视信息技术对传统产业的改造以及对信息资源的开发和利用。
“信息化”已经成为一个国家经济和综合国力的重要标志。
20世纪90
年代以后,国际信息化浪潮更是一浪高过一浪。
管理信息系统是一个由人、计算机等组成的能进行管理信息收集、传递、储存、加工、维护和使用的系统。
管理信息系统能实测企业的各种运行情况,利用过去的数据预测未来,从全局出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。
我们不仅仅把信息系统看做是一个能对管理者提供帮助的基于计算机的人机系统,而且把它看作一个社会技术系统。
随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统,科学合理的来管理企业人事信息。
人事管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程
序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库,而对于后者则要求应用程序具有功能完备,易使用等特点。
人事管理系统是对工作人员进行统一管理的管理信息系统,可以方便的进行录入,查询,修改,删除,退出等操作。
随时把握人员的异动情况,使工作人员更轻松的进行人事管理工作。
1.2系统设计意义和价值
人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
从微观上讲,建立一套人
事管理信息系统能够加快人事工作的速度,提高工作效率,从而加强了管理的信息化手段,提高了本单位的经济效益。
从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。
因此,开发这样一套管理信息系统软件成为很有必要的事情。
1.3系统设计的总体思路和方法
课题设计的思路:
天津市畦钲电子有限公司人事管理信息系统从天津市畦钲电子有限公司的实际需求出发,进行系统的可行性论证,再到系统的概要设计和详细设计,最后形成系统的开发文档。
具体的设计思想如下:
(1)提出问题。
对企业的实际情况进行考察,是否需要开发人事管理系统,现有人事管理系统是否符合需求,再根据企业的实际情况,提出系统设计的总体思路。
(2)需求分析。
即系统的可行性分析。
针对天津市畦钲电子有限公司的人事管理现状,进行是否需要开发人事管理系统的需求分析和可行性分析。
(3)系统分析。
即系统的功能分析。
通过对企业人事资料的分析,分析该系统主要实现什么功能。
(4)数据库设计。
根据系统分析在Microsoft Acces s中建立相应数据库与表,并输入基本信息。
(5)系统设计。
根据系统分析的结果,该系统主要包括员工管理模块、员工管理模块、报表管理模块、系统模块、帮助模块。
(6)系统测试。
运行系统,并进行相关的调试。
(7)系统维护。
在系统测试成功之后,还需要进行系统的维护工作。
课题设计的方法:
(1)采用系统开发的结构化生命周期法,其基本思想是把整个系统开发过程分成若干个阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品。
(2)运用软件工程方法论,按照系统发展规律来开发和实现管理信息系统。
(3)借鉴原型法,基本思想是在系统开发的初期,尽快构造出系统的原型,其,通过使用它、熟悉它,受到启发并取得经验,然后对系统的目标和功能提出更精确、具体的要求,研制人员据此逐渐修改和完善原型,使它满足用户的需求,最后完成系统的开发。
二、系统分析
2.1、系统总体概述
本系统根据本人实习单位天津市畦钲电子有限公司实际情况,结合所学知识。
独立自主开发。
主要具备以下方面功能:系统模块、员工管理模块、工资管理模块、考勤管理模块、报表管理模块。
能解决公司人事管理部门的大部分需求。
由于时间仓促,本人能力有限,系统尚有多处不完善部门。
将在系统投入使用后更新版本。
2.2、可行性分析
可行性分析是任何一项软件开发工程正式投入前必须进行的工作,这对于保证资源的合理使用、避免浪费十分必要,也是项目能顺利进行的必要保证,是指在当前情况下,研制这个信息系统是否有必要,是否具备必要的条件,它不仅包括可能性,还包括必要性,合理性。
系统的可行性分析,是针对开发一个管理信息系统,它的开发是否存在内外部的必要条件,包括技术上、资金上、经济上、人力资源以及组织管理上的必要条件,同时还要分析在目前条件下是否有必要开发这样一个信息管理系统。
2.2.1、技术上的可行性:
1软件、硬件设备上:软件、硬件设备上系统的软硬件要求不高,目前市场上所提供的计算机软硬件资源能够满足系统的开发需求。
2开发、维护、管理上:开发、维护、管理上现有的开发技术水平完全能够胜任开发任务,并且有关方面的操作人员稍加培训,完全可以胜任维护工作。
本系统用Power Builder9.0作为前台,它是著名的数据库应用开发工具生产商Sybase出品的数据库应用开发工具,用Power Builder开发出的应用程序能够与数据库服务器完美的协同工作,构成客户机——服务器计算模式。
Power Builder支持应用系统同时访问多种数据库,对于Oracle,Sybase和SQL Server之类的大型数据库,Power Builder提供了能够充分发挥其性能的专用接口,而对于Foxfro之类的小型数据库则可以通过ODBC接口灵活的访问。
PowerBuilder采用的是面向对象的编程技术,将所有的事件、控制、函数和程序都以对象为单位封装起来,具有封装性、多态性与继承性的特点。
它为开发人员提供了各种开发工具和一个集成的开发环境,创造了应用开发时所需要的各种部件。
同时PowerBuilder又是一种面向对象的可视化编译工具,相对于第三代面向过程的编程语言,可以让程序员将更多的精力放到功能的实现而不是界面的实现上来。
这些不仅能提高程序员的工作效率,同时还能极大地加快开发进程。
因此,我认为利用Power Builder与Microsoft Access开发电信人事管理系统功能上是可以实现的,技术上是可行的。
2.2.2、经济上的可行性:
从开发项目的成本与效益来看,系统开发的设备费用、运行费用、培训费用
并不大,而通过系统的实施,一方面,提高了公司的工作效率,将给企业带来更
多的经济效益;另一方面,系统所产生的见接效益也不容忽视。
工作效率的提高
可以节省人力资源,减轻了有关业务人员手工处理的工作负担,及时给公司提供
决策信息,促进企业业务的规范化、系统化、条理化和程序化。
2.2.3、管理上的可行性:
科学的管理是建立管理信息系统的前提。
管理人员支持本系统的研发与运
行,相应的管理制度改革的时机已经成熟,规章制度已经齐全,原始数据正确。
随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对
于系统的维护都有了一定的基础。
同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。
2.3、需求分析
需求分析简单地说就是分析用户的需求。
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
需求分析的任务是通过详细调查现实世界要处理的对象,如企业,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:信息要求、处理要求、安全性与完整性要求。
2.3.1、对数据处理的需求
对数据的处理功能是管理系统的基本功能。
在人事管理系统,对于数据的精度,要根据具体的使用的需要,在各项数据的输入、输出及传输过程中要适应数
据精度的需求。
考虑到系统使用者对于数据响应快慢的可接受程度,系统要求在
数据的响应时间、更新处理时间都比较快且迅速,后台处理时间应小于0.1秒,
以满足用户的要求。
2.3.2、用户需求
用户对于系统的操作方式、结果显示等方面有着很高的要求,因此软件的设
计在界面、操作习惯、运行环境等尽量做到个性化的需求,对软件的灵活性提出
较大的需求。
2.4、数据流程图
图2-1系统数据流程图
三、系统设计
3.1、总体设计
系统设计阶段主要应利用前阶段的系统分析,构建采购管理信息系统的整体架构。
本课题采购管理信息系统采用结构化设计方法,始终应当遵循以下原则:
(1)系统的结构设计充分利用数据流图,尽量和设计系统相对应,这样当实际系统变化时,只需对系统中的对应部分做出相应的修改即可;
(2)将系统划分成功能单一、简单,易理解的模块;
(3)采用自顶向下,逐步求精的方法进行设计。
即系统的设计按层次进行,先设计顶层模块,然后将顶层模块分解成若干模块,再以这些模块为基础进行下层模块的设计;
(4)遵循低耦合,高聚合的模块设计原则;
(5)使用模块设计技巧来进行模块的分解,合并。
系统功能设计是确定本系统所应包含的功能模块,本功能结构图如下所示:
天津市畦钲电子有限公司人事管理系统
统计报表模块
员工管理模块
员工考勤模块
员工工资模块
系统模块
帮助模块
重新登录用户管理
系统备份
系统还原新员工添加
员工信息查询员工部门管理
员工信息维护缺勤类型设定个人考勤记录基本工资设定津贴管理
月工资生成医疗保险管理员工信息统计
考勤信息统计月工资统计帮助
工具栏设定
根据数据流程图业务数据流程细化得到E-R图如下:
图3-1人事管理系统ER关系图
库存管理信息系统数据库中各个表格的设计结果如下面表格所示。
每个表格所示在数据库中的一个表。
下面具体介绍每个表的设计与字段说明,主要数据表简介如下:
本系统中所使用的几张主要表有如下所示:员工信息表(employee)、部门编号表(department)、工种标准表(gzbz)、员工津贴表(jt)、员工考勤表(kq)、缺勤类别表(qqlb)、用户权限表(user_info)、月工资表(ygz)、医疗保销表(ylbx)操作员信息表信息表:操作员编号(user-id),操作员级别(user-power),
操作员(user-info),密码(user-pwd)。
根据前面系统进行的分析与设计,相应的数据库表详细设计如下:
1、员工信息表(EMPLOYEE)
名称字段类型长度备注员工号Emp_no Char10主键员工姓名Emp_name Char10不能空员工性别Emp_sex Char2不能空出生日期Emp_birth Datetime8不能空籍贯Emp_jg Char20允许空民族Emp_mz Char6允许空国籍Emp_gj Char20允许空婚姻状况Emp_marriage Char4不能空健康状况Emp_healthy Char10可以空政治面貌Emp_zzmm Char10不能空血型Emp_xx Char4不能空职务Emp_zw Char20允许空部门Emp_department Char10不能空家庭住址Emp_address Char50不能空身份证Emp_sfz Char18不能空联系电话Emp_tel Char8不能空手机Emp_sj char11允许空E-mail E_mail char20允许空
2、部门编号表(DEPARTMENT)
名称字段类型长度备注部门号Dept_id Char10主键部门名称Emp_department char10不能空职务Dept_zw char10允许空
3、工种标准表(GZBZ)
名称字段类型长度备注
工种Gz Numeric5主键
工种名称Gz_name Char10允许空工种基本工资Gzjbgz Numeric5不能空
4、员工津贴表(JT)
名称字段类型长度备注
员工号Emp_no Char10主键
加班时间Jb_date Char6主键
加班天数Jb_daynumber Numeric5允许空加班类别Jblb Char10允许空
5、员工考勤表(KQ)
名称字段类型长度备注
员工号Emp_no Char10主键
缺勤时间Qq_date Char6主键
缺勤天数Qq_daynumber Numeric5允许空缺勤类别Qq_lb Char3允许空
6、用户权限表(USER_INFO)
名称字段类型长度备注
用户名User_id Char6主键
登陆密码User_pwd Char6不能空用户权限User_power Char6不能空
7、月工资表(YGZ)
名称字段类型长度备注员工号Emp_no Char10主键基本工资Jbgz Numeric5允许空津贴Jt Numeric5允许空考勤Kq Numeric5允许空医疗保销Ylbx Numeric5允许空保险费Bxf Numeric5允许空月工资时间Ygz_date Char6主键部门Emp_department Char10允许空姓名Emp_name Char10允许空
3.1.3、主要界面
该系统模块中,主要实现的功能有:用户切换即重登陆,管理员对用户的管理(包括添加,删除,修改用户,设置用户权限),系统备份以及系统还原.
图3-1系统登录界面
员工信息管理:
图3-2系统主界面
3.1.3、考勤管理
图3-3密码修改
图3-4新增操用户
图3-5数据备份
3.1.4、员工管理模块
用于输入员工信息,查询员工信息,修改员工资料.此模块包括以下4个子模块:(1)新员工的登记.(2)员工信息的查询.(3)员工信息维护.(4)部门管理.在这4个子模块中可以实现系统的一些功能,包括:添加新员工,员工按部门分类,查询员工信息,修改员工信息,添加删除部门等.
图3-6新加员工
图3-7员工信息维护
图3-8所有员工资料
图3-9员工信息查询
3.1.5、工资管理
先设定基本工资,在添加员工每月的津贴及医疗报销.最后统计出员工改月的工资.此模块包括四个主要子模块:(1)基本工资设定.(2)津贴管理.(3)医疗报销.(4)月工资生成.主要完成的功能有:根据基本工资,考勤,津贴,等统计出该员工此月的工资,可以生成报表.
图3-10部门工资设定
图3-11缺勤类型设定
图3-12津贴管理
3.1.6、统计报表管理
在该模块中以报表形式显示出来,对其进行打印。
包括以下三个统计:员工信息统计打印,考勤信息统计打印,工资信息查询打印。
图3-13报表管理模块
3.1.7、帮助模块
在该模块中主要描述该系统的相关信息和开发工具.
图3-14帮助
四、代码设计
代码是用来表示客观事物的一个或者一组有序的符号,它应易于计算机和人识别与处理。
有了代码就可以建立统一的经济信息语言,有利于提高通用化水平,使资源共享,达到统一化,有利于采用集中化措施以节约人力,加快处理速度,便于检索。
代码的设计原则主要包括:
①唯一性:代码是区分系统中每一个实体或者属性的唯一标识。
每个实体只有一个代码标示,每个代码只唯一代表系统的一个实体或属性。
②简单性:代码的设计结构要简单,尽量压缩代码长度,以方便输入,提高处理效率,并且易于记忆,降低出错机会。
③易识别性:便于记忆,减少出错,代码的逻辑性强,意思明确。
④可扩充性:代码设计要流域足够的备用代码,以适应今后扩充代码的需要。
⑤合理性:代码设计与编码对象的分类体系相适应,一边代码对编码对象的分类具有标识作用,能够在逻辑上满足应用需要。
在结构上与处理方法相一致。
为了更好的方便计算机和人识别与处理,根据有关规定结合实际情况,本系统的主要代码的编码规则如下:
(1)部门编号:二位字符型:01代表行政科,02代表人事部,03代表生产管理部,04代表品质部,05代表维修部,06代表测试部,07代表后勤部,
08达标采购部,09代表保卫部
(2)工种编号:25代表职业经理人,26代表检验工,27代表车工等等。
(2)员工序号:六位字符型:员工序号由六位数字组成,其中前两位为部门编码,
中间两位为工号代码,后面两位为随机生成的员工
代码。
如测试部的赵德航编号则为062619。
图
图4-1员工编码设计
结束语
本文是在天津市畦钲电子有限公司长期实习的基础上,熟识畦钲电子人事管理部门的业务流程和运作规范,结合前人的研究与本人所学知识,如信息系统分析与设计的原则,软件开发的过程与方法,运用PowerBuilder9.0和Microsoft Access 开发设计完成的。
该采购管理信息系统还存在许多不足之处。
由于时间、本人知识水平等原因,许多功能还有待进一步的完善;虽然是多用户操作的系统但是划分到单个用户时候系统的功能较为简单,未能融入科学的运营模式和管理理念,在功能上,对信息共享和业务规范起到很大的推动作用,但是不能满足支持决策的功能。
通过这次毕业设计我同样学到了许多东西。
对PowerBuilder的使用有了新的认识,对其编程语言的使用更加熟练,掌握了一些新的技术,对于软件开发的步骤,方法和理论也有了新的了解。
通过本次做系统,我获得的最大的经验就是:当你准备开始做系统时,不要急着建窗口,编代码,首先要做的就是对这个系统进行需求分析,这是最重要的。
参考文献
[1]黄梯云.管理信息系统[M],北京:高等教育出版社,1999,1-7,132-152
[2]Brian K.Williams,Stacey C.Sawyer,Sarah E.Hutchinson.Using Information
Technology:A Practical Introduction to Computers Communications[M].
Times Mirror Higher Education Group.1997
[3]王欣.管理信息系统[M],北京:中国水利水电出版社,2004
[4]徐超汉.计算机信息安全管理[M],北京:电子工业出版社,2006
[5]卫红春.软件工程概论[M],北京:清华大学出版社,2007
[6]刘国林.基于Access数据库的PowerBuilder事务对象参数加密与存取[J].泰山学院报,2009
[7]陶宏才.数据库原理及设计[M],北京:清华大学出版社,20004,43-64
[8]罗仕鉴.人机界面设计[M],北京:机械工业出版社,2002
[9]陈容.人力资源系统如何促进公司发展[J].市场周刊:新物流,2005(30):48-48
[10]杨波王奋.企业人力资源管理系统评价研究[J].集团经济研究,2007(07S):329-330
[11]]孔信群,吴睿东.分布式查询在企业信息系统异类数据库间数据交换中的应用[J].合肥工业大学学报,2007,(30):143-146
[12]周玉清,刘伯莹,杨宝刚,等.ERP原理与应用[M].北京:机械工业出版社,2002.
[13]刘中华.企业管理信息化基本问题探讨[J].西北师大学报(社会科
版),2003,40(2):21-24
致谢
回顾这段时间的“奋战”历程,忙碌和劳累遍布其中,然而更多的是感触和收获。
在整个系统设计实施的过程中,不仅在专业知识上有了很具体的认识,在学习能力和动手能力上有所提高;更重要的是我对动力和能力的开发和把握有了更深的理解。
为期两个月的本科毕业设计的研究工作,使我加深了对科学研究工作的认识,体会了应用自身知识,结合前人已有的工作经验解决实际问题的乐趣和辛苦,培养了界定问题,提出问题,分析问题以及制订方案解决问题的基本能力,为以后进一步的深造学习打下了坚实的基础。
在此论文完成之际,我要向我的导师表示深深地感谢!正是在他的精心指导下,我的毕业论文才得以顺利完成。
苏老师一丝不苟,对我严格要求,并对我们设计中所存在的问题给予及时的建议和指导,从他那里我获得了大量宝贵的思考方法和技能,提高了自己的思维和动手能力。
他渊博的学识、丰富的实践经验、执着的科研精神、严谨的工作态度都给我留下了深刻的印象,并将影响我今后的学习与工作,使我受益终生。
最后我要感谢的是帮助我一起研究此系统的各位同学,感谢他们对我的支持和帮助。
附录
附录一:程序代码:
1、系统登录模块
//string now_grade
string correct_pswd,sdate
time d_date
d_date=now()
sdate=string(d_date)
if sle_1.text=""or sle_2.text=""then
messagebox("警告!","用户名密码不能为空")
sle_1.setfocus()
sle_2.setfocus()
else
g_input_time=g_input_time+1
g_user=sle_1.text
g_pwd=sle_2.text
//g_power=sle_3.text
select user_pwd into:correct_pswd from user_info where user_id=:g_user;
if trim(g_pwd)=trim(correct_pswd)then
select user_power into:g_power from user_info where user_id=:g_user;
open(w_main)
//close(w_login)
if trim(g_power)="管理员"then
w_main.ChangeMenu(m_menu)
//w_main.ToolbarVisible=true
else
w_main.ChangeMenu(m_menuist)
//w_main.ToolbarVisible=true
end if
close(w_login)
else
if g_input_time>2then
messagebox("警告","输入用户名口令的次数太多!")
close(w_login)
else
messagebox("警告","输入有误,请重新输入")
end if
end if
end if
//end if
2、系统密码修改
//窗口w_czygl的“修改密码”按钮的clicked()事件,保存对操作员密码的修改string czy,czy1,pwd,pwd1,pwd2,pwd3
czy=trim(ddlb_1.text)
pwd=trim(sle_1.text)
pwd2=trim(sle_2.text)
pwd3=trim(sle_3.text)
//选择数据
select user_pwd into:pwd1from user_info where user_id=:czy;
if pwd=""then
messagebox("","请输入原密码!")
else
if pwd=trim(pwd1)then
if sle_2.text=""or sle_3.text=""then
messagebox("","请输入新密码或输入确认新密码!")
else
if pwd2=trim(pwd3)then
//修改数据
update user_info set user_pwd=:pwd2where user_id=:czy;
messagebox("","修改成功,请记住新密码!")
ddlb_1.text=""
sle_1.text=""
sle_2.text=""
sle_3.text=""
3、添加用户
string user,pswd,power
user=tab_1.tabpage_1.sle_1.text
pswd=tab_1.tabpage_1.sle_2.text
if tab_1.tabpage_1.rb_1.checked=true then
power="管理员"
elseif tab_1.tabpage_1.rb_2.checked=true then
power="用户"
end if
insert into user_info(user_id,user_pwd,user_power)
values(:user,:pswd,:power);
if tab_1.tabpage_1.sle_1.text=""or tab_1.tabpage_1.sle_2.text=""then messagebox("提示","用户名口令不能为空,请重新输入!")
return;
end if
if sqlca.sqlcode<>0then
messagebox("提示","失败",question!,yesnocancel!,2)
else
messagebox("提示","成功!")
end if
//end if
tab_1.tabpage_1.sle_1.text=""
tab_1.tabpage_1.sle_2.text=""
tab_1.tabpage_1.cb_1.enabled=true
tab_1.tabpage_1.cb_2.enabled=false
tab_1.tabpage_2.dw_1.settransobject(sqlca)
tab_1.tabpage_2.dw_1.retrieve()
4、添加新员工
dw_1.accepttext()
string no,sex,mz,email,sfz,hhzk,zzmm,zw,address,name,gj,jkzk,xx,department,jg datetime birth
//int sj,tel
string sj,tel
//string emp_bz1
no=dw_1.getitemstring(dw_1.getrow(),1)
name=dw_1.getitemstring(dw_1.getrow(),2)
sex=dw_1.getitemstring(dw_1.getrow(),3)
birth=dw_1.getitemdatetime(dw_1.getrow(),4)
jg=dw_1.getitemstring(dw_1.getrow(),5)
mz=dw_1.getitemstring(dw_1.getrow(),6)
gj=dw_1.getitemstring(dw_1.getrow(),7)
hhzk=dw_1.getitemstring(dw_1.getrow(),8)
jkzk=dw_1.getitemstring(dw_1.getrow(),9)
zzmm=dw_1.getitemstring(dw_1.getrow(),10)
xx=dw_1.getitemstring(dw_1.getrow(),11)
zw=dw_1.getitemstring(dw_1.getrow(),12)
department=dw_1.getitemstring(dw_1.getrow(),13)
address=dw_1.getitemstring(dw_1.getrow(),14)
sfz=dw_1.getitemstring(dw_1.getrow(),15)
//tel=dw_1.getitemnumber(dw_1.getrow(),16)
//sj=dw_1.getitemnumber(dw_1.getrow(),17)
tel=dw_1.getitemstring(dw_1.getrow(),16)
sj=dw_1.getitemstring(dw_1.getrow(),17)
email=dw_1.getitemstring(dw_1.getrow(),18)
if isnull(no)then
messagebox("提示","员工号不能为空,请重新输入")
return;
end if
if isnull(name)then
messagebox("提示","请填写姓名")
return;
elseif len(blob(name))<4then
messagebox("提示","姓名至少要两个字,如:王一")
return;
end if
if isnull(sex)then
messagebox("提示","请选择性别")
return;
end if
if isnull(birth)then
messagebox("提示","请输入出生日期")
return;
end if
//if isnull(mz)then
//messagebox("提示","请输入民族")
//return;
//end if
if isnull(hhzk)then
messagebox("提示","请选择婚姻状况")
return;
end if
if isnull(zzmm)then
messagebox("提示","请选择政治面貌")
return;
end if
if isnull(xx)then
messagebox("提示","请选择血型")
return;
end if
if isnull(department)then
messagebox("提示","请选择所属部门")
return;
end if
//if isnull(department)then
//messagebox("提示","请输入部门名称")
//return;
//if isnull(zw)then
//messagebox("提示","职务不能为空,请重新输入")
//return;
//end if
if isnull(tel)then
messagebox("提示","请输入联系电话")
return;
elseif len(blob(tel))<>8then
messagebox("提示","请输入8位电话号码!")
return;
end if
/*if isnull(sj)and len(blob(sj))<>11then
messagebox("1","2")
return;
end if*/
//if len(blob(tel))<>8then
//messagebox("提示","请输入8位电话号码")
//return;
//end if
if isnull(sfz)then
messagebox("提示","请输入身份证号")
return;
end if
if len(blob(sfz))<>15and len(blob(sfz))<>18then
messagebox("提示","请输入15位或18位身份证号码")
return;
end if
if isnull(address)then
messagebox("提示","请输入详细地址")
return;
end if
//if isnull(jkzk)then
//messagebox("提示","请输入健康状况")
//return;
//end if
//end if
//if isnull(jg)then
//messagebox("提示","请输入籍贯")
//return;
//elseif len(blob(name))<4then。