数据库课程设计-员工信息管理系统上课讲义_第1页
数据库课程设计-员工信息管理系统上课讲义_第2页
数据库课程设计-员工信息管理系统上课讲义_第3页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务书姓名学号班级课题组成员姓名性别班级在本项目中的分工VB界面设计、系统查询功 能、SQL表的创建完善及 权限、触发器设计、系统 健壮性维护VB界面设计、系统添加功 能、SQL表的建立及索引 设计、数据字典、系统测 试、系统逻辑设计系统修改功能、SQL表的 创建、需求分析、系统用户注册、考勤修改 功能、SQL表的创建、功 能设计分析课程名称数据库系统原理课程性质专业必修课设计时间2009年5月3日 2009年6月15日设计名称员工信息管理系统设计要求1、对实际系统要有恰当的需求分析过程,内容至少应包含主要数 据流图、基本数据字典等信息的描述及相关系统功能的分析。2、设计过程应体现和侧

2、重对数据库的分析和设计过程,内容至少 包含E-R图设计,关系模式设计及优化,表间关系的分析等内容(至少有4张以上基表的设计)。3、要有数据库和表的创建脚本,输入必要的初始数据(每表至少 有20条以上记录)。4、要有体现数据库安全性策略的设计过程,包括必要的权限设计 与管理。5、要有数据完整性设计,应包括必要的数据完整性校验、一致性 检查等。6、对典型功能鼓励使用存储过程、函数和触发器的设计与应用。7、系统前台的设计,可由学生自选开发工具完成,但要完成与数 据库连接配置与相关数据控件的绑定。8 成果提交形式:课程设计报告+完成系统功能的、有一定健壮 性的系统。设计思路与设计过程1需求分析;2、进

3、行数据库的概念设计;3、进行数据库的逻辑设计;4、进行数据库的物理设计;5、进行应用程序设计;6、编程实现。7、调试完善计划与进度1 2009.05.5需求分析2、 2009.05.10概念设计3、- 2009.05.14逻辑设计4、- 2009.06.2系统设计5、- 2009.06.15课程设计报告撰写任课教师意见说明日期: 2009年 5月 3日设计名称: 员工信息管理系统 设计内容:1、员工信息添加2、员工信息修改3、员工信息删除4、员工信息查询(多种方式)5、员工考勤信息添加6、员工考勤信息修改7、员工考勤信息删除8、员工考勤信息查询9、用户注册10、SQL基本表建立11、SQL权限

4、、索引、触发器、函数的创建12、ODBC连接设计目的与要求:1)加深对数据库系统原理、软件工程、程序设计语言的理论知识的理解和应用 水平。2)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技 术,提高动手能力,提高分析问题和解决问题的能力。3)通过设计,掌握数据库应用系统综合开发的方法与技能。设计环境或器材、原理与说明:VB 6.0SQL SERVER 2 0 0 0设计过程(步骤)或程序代码:1 需求分析1.1 系统需求分析在人才过剩的今天, 企业对于有用人才的需求逐步加大, 企业内部的人事变动和部门规划也开始加速, 传统的人事档案已经不能满足各个企业的人员流动速 度,迫使

5、人们起用新的管理方法来管理员工的相关信息。 科学技术日新月异的进 步,让人类生活发生了巨大的变化, 计算机技术的飞速发展, 使各行各业在计算 机技术应用方面得到了广泛的普及和使用。 信息化时代的到来成为不可抗拒的潮 流,人类文明正在进入一个崭新的时代。因此,员工管理系统也以方便、快捷、 费用低、绿色环保的优点正慢慢地进入各个行业和领域, 将传统的员工管理方式 彻底的解脱出来, 提高效率, 减轻工人人员以往繁忙的工作, 加速信息的更新速 度,使企业管理层第一时间了解到员工的信息, 从而进一步的进行对员工的调配。 功能需求详细说明:增加增加员工的基本信息、考勤信息编辑用户可以对员工信息、考勤信息进

6、行删除 用户可以对员工的姓名、编号等员工基本信息进行修改 用户可以对员工的出勤天数、请假天数等考勤信息进行修改查询 用户可以根据姓名、编号,准确的查到要找的员工,也可以选择部门,查看 选中的部门的所有员工。1.2 可行性分析本次课程设计题目: “员工信息管理系统” ,主要目的是编制一个登陆系统, 连接数据库系统, 用以实现员工个人信息与考勤信息的管理。 同时对整个系统的 分析、设计过程给出一个完整的论证。由于本系统管理的对象简单, 且每个数据内容之间都具有关联性, 涉及过程 并不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指 导老师的指导和相关参考文献, 特别是网上和图书馆

7、资料, 特别是参考其它程序 的功能,因此完全可以实现。2 数据库的概念设计实体设计:员工(员工编号,姓名,性别,出生日期,籍贯,专业,学历编号,职称编号, 职务编号,部门编号,参加工作时间,进入公司时间,员工备注,政治面貌,员 工技术特长,毕业学校,用工性质,工资等级,合同期限)考勤(员工编号,考勤日期,姓名,应出勤天数,迟到次数,早退次数,请假天 数,旷工天数,加班天数,加班天数,补休天数,加班费,扣款,备注)根据以上需求分析,可画出E-R模型图(图1.1):E-R图3数据库的逻辑设计根据系统功能设计的要求以及功能模块的划分,对员工信息管理系统可以 列出以下数据项及数据结构:员工个人基本信息

8、:包括员工编号、姓名、性别、出生日期、籍贯、专业、 学历编号、职称编号、职务编号、部门编号、参加工作时间、进入公司时间、员 工备注、政治面貌、员工技术特长、毕业学校、用工性质、合同期限。员工考勤基本信息:包括员工编号、姓名、应出勤天数、迟到次数、早退 次数、请假天数、旷工天数、加班天数、加班天数、补休天数、加班费、扣款、 备注。部门信息:包括部门编号、部门名称、部门简介职称信息:包括职称序号、职称名称、备注学历信息:包括学历序号、学历名称、备注职务信息:包括职务序号、职务名称、备注用户信息:包括用户的帐号及密码。4 数据库的物理设计4.1数据字典与关系图根据系统需求及逻辑结构设计,本网站基于S

9、QL Server 2000数据库,建立如下数据库表(表1.1):表1.1库名(员工数据库)用户信息表(sysuser)字段类型说明大小是否为空user idnv archar用户账号8NOT NULLuser pwdnv archar密码8NOT NULL部门信息表(department)字段类型说明大小是否为空dept_idint部门编号4NOT NULLdept namenv archar部门名称:20NOT NULLdept_desnv archar部门简介50员工基本信息表(employee)字段类型说明大小是否为空emp_idint员工编号4NOT NULLemp_ namenv

10、archar姓名20NOT NULLsexnv archar性别2NOT NULLbirthdaysmaldatetime出生日期4NOT NULLnativenv archar籍贯20professi onnv archar专业20edudint学历编号4NOT NULLtitle_idint职称编号4NOT NULLdept_idint部门编号4NOT NULLduty_idint职务编号4NOT NULLemp_date1smaldatetime参加工作时间4NOT NULLemp_date2smaldatetime进入公司时间4NOT NULLemp_desnv archar员工备注2

11、55zzmmnv archar政治面貌50ygjstcnv archar员工技术特长50bisxnv archar毕业学校50ygxznv archar用工性质50htqxnv archar合同期限50职称信息表(title )字段类型说明大小是否为空title_id.一int职称序号4NOT NULLtitle_ namenv archar职称名称20NOT NULLtitle_desnv archar备注255学历信息表(education )字段类型说明大小是否为空edu_idint学历序号4NOT NULLedu_ namenv archar学历名称20NOT NULLedu desn

12、v archar备注255职务信息表(duty )字段类型说明大小是否为空duty idint职务序号4NOT NULLduty_ namenv archar职务名称20NOT NULLduty_desnv archar备注255考勤信息表(checkin )字段类型说明大小是否为空emp_idint员工编号4NOT NULLcheck_ymnv archar员工姓名6NOT NULLw_dayreal应出勤天数4NOT NULLl_numsint迟到次数4NOT NULLe_numsint早退次数4NOT NULLh_daysreal请假天数4NOT NULLn _daysreal旷工天数4

13、NOT NULLo_daysreal加班天数4NOT NULLr_daysreal补休天数4NOT NULLovertime_sreal加班费4NOT NULLd_checkreal扣款4NOT NULLcheck_desnv archar备注255注:波浪线为主键。chleckintmp.id 石h電殆k_riril_r.umse_ijumEsysuser耳d'iserjwddepartment +employee 宅isp ddlap-viept_desS.1KbirtlidaynativeprotessL ontitleieducation *> J idtptid51 e

14、du idiu.ty_i d-唱昴naneSiiip_dall!ited'L dezemp_date2' emp deszzmrrrej stcbisM7£X1htqxCO&:title +title name title_des关系图Rfc dti+y +Tdbutyi d dctyam e图1.24.2 数据库建立与初始化4.2.1 建立数据库Create table employee ( emp_id int(4) not null, emp_name nvarchar(20) not null, sex nvarchar(2) not null, bi

15、rthday smaldatetime(4) not null, native nvarchar(20), profession nvarchar(20), edu_id int(4),not null, title_id int(4),not null, dept_id int(4),not null, duty_id int(4),not null, emp_date1 smaldatetime(4),not null, emp_date2 smaldatetime(4),not null, emp_des nvarchar(255), zzmm nvarchar(50), ygjstc

16、nvarchar(50), bisx nvarchar(50), ygxz nvarchar(50), htqx nvarchar(50), constraint EmPK primary key(emp_id), constraint EduFK foreign key(edu_id) references education(edu_id), constraint TitleFK foreign key(title_id) references education(title_id), constraint DuFK foreign key(duty_id) references educ

17、ation(duty_id), constraint DeFK foreign key(dept_id) references education(dept_id), )Create table title ( title_id int(4) not null, title_name nvarchar(20) not null, title_des nvarchar(255) constraint TiPK primary key(title_id), )Create table education (edu_id int(4) not null,edu _name nvarchar(20)

18、not null,edu _des nvarchar(255) constraint EdPK primary key(edu _id), )Create table duty(duty _id int(4) not null,duty _name nvarchar(20) not null,duty _des nvarchar(255) constraint DuPK primary key(duty _id), )Create table department( dept_id int(4) not null, dept _name nvarchar(20) not null, dept

19、_des nvarchar(255) constraint DePK primary key(dept _id), )4.2.2 安全性(权限)grant all privileges on employee to sasa grant all privileges on checkin to sasa grant all privileges on sysuser to sasa grant all privileges on duty to sasa grant all privileges on title to sasa grant all privileges on departme

20、nt to sasa grant all pr ivileges on education to sasa4.2.3 触发器 功能:使姓名中不能出现数字。 CREATE TRIGGER T_INON dbo.employee FOR INSERT,Update ASIF EXISTS (SELECT *FROM employeeWHERE emp_name like '%0-9%')BEGINRAISERROR('错误!姓名中不可出现数字,16,1)ROLLBACKRETURNEND4.2.4 建立索引create cluster index pk_duty on du

21、ty_idcreate cluster index pk_department on dept_idcreate cluster index pk_title on title_idcreate cluster index pk_education on edu_id create cluster index pk_sysuser on user_id create cluster index pk_employee on emp_id create cluster index pk_checkin on (emp_id,check_ym)425 VB数据库连接语句Option Explici

22、tPublic dbConn As New ADODB.ConnectionPublic loginUser As StringPublic loginOK As BooleanPublic cmdType As StringPublic tUser_id As StringPublic tDept_id As IntegerPublic tEmp_id As IntegerPublic tCheck_ym As StringPublic tQx As StringSub Main()If ConnectToDatabase = False ThenMsgBox "连接数据库出错!I

23、IEndEnd IfloginOK = FalsecmdType = ""frmLogin.Show vbModalUnload frmLoginIf loginOK ThenMDIForm1.ShowEnd IfEnd Sub' 连接到数据库Function ConnectToDatabase() As BooleanOn Error GoTo ERR_CONN' 设置服务器名称,数据库名称,登录名(此时假设密码为空) dbConn.ConnectionString = "dsn=rsgl;Database=man;uid=ZFS;pwd=&qu

24、ot; 'dbConn.ConnectionString"Provider=msdasql;Database=man;server=computer;uid=sa;pwd="dbConn.OpenConnectToDatabase = TrueExit FunctionERR_CONN:ConnectToDatabase = FalseEnd Function426 ODBC连接连接数据库方法如下:1、 打开我的电脑 - 控制面板 -管理工具。2、 双击“数据源( ODBC )”,打开“ ODBC 数据源管理器”对话框,如图(图1.3)所示。3、4、5、在“系统DS

25、N ”选项卡下, 单击“添加”按钮,弹出如 图(图1.4)所示对话框, 在该对话框中选择SQLServer 选项。单击“完成”按钮。在该对话框中输入数据源 名“ emp”、服务器名,按要 求填空完成后,即可完成数 据源的连接设置(图1.6)o图1.3图1.5图1.4SQL Server ODBC 宜陌廊何O&0C Microsoft sQL Server 蚩卑朗ft结果HiTrosuH SOL Svtr CDBC 曙寸稈陪牘忑OG. 00l SCO!将按F別固蚤也逮覇的ow針据慕.Hiugfl SL血说CTJC晅功程序悔本丁再运行碎样则:it .测谊数斓©确走 眾満图1.65

26、应用程序设计5.1系统功能分析员工信息管理系统基于用户验证登录的方式实现员工个人信息管理和员工考勤信息管 理。其功能结构如图(图1.7):图 1.7:员工信息管理系统用户登陆屮用户注册卩系统功能结构图5.2系统功能模块设计员工信息管理系统主要包含用户登录、新增、编辑、查询功能模块。1用户登陆员工信息管理系统采用用户名及密码验证方式, 进入员工信息管理系统前, 用户必须在登录窗口输入用户名及密码,只有验证通过的用户方可进入员工信息 管理系统操作主页面。2、新增功能模块包含2个功能模块:员工个人信息的添加、员工考勤信息的添加3、编辑功能模块包含2个功能模块:员工个人信息的删除、按月份进行员工考勤信

27、息编辑 与删除4、查询功能模块包含2个功能模块:员工个人信息查询、按月份进行员工考勤信息查询系统操作流程图(图1.8 )图 1.8 :设计结果与分析(可以加页):1、员工信息查询(frmEmpI nfo2.frm)别历门努称 性学部題吧查询条件工勁卯以上奈件均为可选顶找到1条记录遞回姓咎|图1.9 :员工信息查询界面主要代码如下:Private Sub Comma nd1_Click()Dim strId As Stri ngDim strName As Stri ngDim strDept As Stri ngDim strTitle As Stri ngDim strDuty As Str

28、i ngDim strEdu As Stri ngDim strSex As Stri ng'设置错误陷阱On Error GoTo ERR_CONNIf Trim(MskId) = "" The n strId =""ElsestrId = "and a.emp_id= '" & MskId & "'" End IfIf Trim(Text2) = "" ThenstrName = ""ElsestrName = "and

29、a.emp_name='" & Trim(Text2) & "'" End IfIf cboDept.ListIndex = 0 ThenstrDept = ""ElsestrDept = "and c.dept_name='" & cboDept.Text & "'" End IfIf cboTitle.ListIndex = 0 ThenstrTitle = ""ElsestrTitle = "and e.t

30、itle_name='" & cboTitle.Text & "'" End IfIf cboDuty.ListIndex = 0 ThenstrDuty = ""ElsestrDuty = "and d.duty_name='" & cboDuty.Text & "'" End IfIf cboEdu.ListIndex = 0 ThenstrEdu = ""ElsestrEdu = "and _na

31、me='" & cboEdu.Text & "'" End IfIf cboSex.ListIndex = 0 ThenstrSex = ""ElsestrSex = "and a.sex='" & cboSex.Text & "'"End If' 打开一个数据集strSql = "select a.emp_id,a.emp_name,a.sex,_name,c.dept_name,d.duty_name,e.ti

32、tle_ name from employee a,education b,department c,duty d,title e where _id=_id and a.dept_id=c.dept_id and a.duty_id=d.duty_id and a.title_id=e.title_id " & strId & " " & strName & " " & strDept & " " & strTitle & " &

33、quot; & strTitle & "" & strDuty & " " & strEdu & " " & strSex& " order by a.emp_id"rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnlyIf rs.EOF Then找到 0 条记录 "Label9 = "flxShow.Rows = 1Else ' 填写数据 flxShow.Rows

34、 = 1Do While Not rs.EOF flxShow.Rows = flxShow.Rows + 1flxShow.TextMatrix(flxShow.Rows - 1, 0) rs.Fields(0).ValueFor i = 2 To rs.Fields.Count flxShow.TextMatrix(flxShow.Rows - 1, i) = rs.Fields(i 1).ValueNext irs.MoveNextLoopLabel9 = "找到 " & flxShow.Rows - 1 & "条记录 "End I

35、f rs.Close Exit SubERR_CONN:MsgBox " 请检查输入的数据是否有效 "End SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()' 性别 cboSex.AddItem "" cboSex.AddItem " 男 " cboSex.AddItem " 女 " cboSex.ListIndex = 0' 学历strSql = "Select edu_id,edu_name

36、from education Order By edu_id" rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnly cboEdu.AddItem ""Do While Not rs.EOF cboEdu.AddItem (rs.Fields("edu_name").Value) cboEdu.ItemData(cboEdu.NewIndex) = rs.Fields("edu_id").Value rs.MoveNextLoop rs.Close cboEdu.

37、ListIndex = 0' 部门strSql = "Select dept_id,dept_name from department Order By dept_id" rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnly cboDept.AddItem ""Do While Not rs.EOF cboDept.AddItem (rs.Fields("dept_name").Value) cboDept.ItemData(cboDept.NewIndex) rs

38、.Fields("dept_id").Value rs.MoveNextLoop rs.Close cboDept.ListIndex = 0' 职务strSql = "Select duty_id,duty_name from duty Order By duty_id" rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnly cboDuty.AddItem ""Do While Not rs.EOF cboDuty.AddItem (rs.Fields("

39、;duty_name").Value) cboDuty.ItemData(cboDuty.NewIndex) rs.Fields("duty_id").Value rs.MoveNextLoop rs.Close cboDuty.ListIndex = 0' 职称strSql = "Select title_id,title_name from title Order By title_id" rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnly cboTitle.AddIt

40、em ""Do While Not rs.EOF cboTitle.AddItem (rs.Fields("title_name").Value) cboTitle.ItemData(cboTitle.NewIndex) rs.Fields("title_id").Value rs.MoveNextLoop工号"姓名" 性别" 学历" 部门" 职务" 职称"rs.Close cboTitle.ListIndex = 0 ' 设置列数 flxShow.Cols

41、 = 8 ' 列标题 flxShow.TextMatrix(0, 0) = " flxShow.TextMatrix(0, 1) = "" flxShow.TextMatrix(0, 2) = " flxShow.TextMatrix(0, 3) = " flxShow.TextMatrix(0, 4) = " flxShow.TextMatrix(0, 5) = " flxShow.TextMatrix(0, 6) = " flxShow.TextMatrix(0, 7) = " ' 设

42、置列宽 flxShow.ColWidth(0) = 1000 flxShow.ColWidth(1) = 0 flxShow.ColWidth(2) = 1400 flxShow.ColWidth(3) = 800 flxShow.ColWidth(4) = 1400 flxShow.ColWidth(5) = 1400 flxShow.ColWidth(6) = 1400 flxShow.ColWidth(7) = 1410' 设置各列的对齐方式For i = 0 To 7flxShow.ColAlignment(i) = 0Next i' 表头项居中flxShow.Fill

43、Style = flexFillRepeatflxShow.Col = 0flxShow.Row = 0flxShow.RowSel = 1flxShow.ColSel = flxShow.Cols - 1flxShow.CellAlignment = 4flxShow.Rows = 1' 强制跨越整个行选择flxShow.SelectionMode = flexSelectionByRow End Sub2、员工考勤查询 (frmCheckInfo2.frm )员工考勤查询界面主要代码如下:Private Sub Comma nd3_Click()Dim strld As Stri

44、ngDim strName As Stri ngDim strDept As Stri ngDim strCheck As Stri ng' 按工号查询If Len (Trim(Mskld) = 0 The nstrId =""ElsestrId = "and a.emp_id= '" & MskId & "”' End If'按姓名查询If Len (Trim(Text1) = 0 The n strName =""ElsestrName = "and b.emp_

45、name='" & Trim(Text1) & "”'End If' 按部门查询If cboDept = "" Then strDept = ""ElsestrDept = "and c.dept_name='" & cboDept & "'" End If' 按时间查询If cboCheckYear = "" ThenIf cboCheckMonth = "" Then &#

46、39; strCheck = ""Else ' strCheck = "and cboCheckMonth & "','" & Year(Date)End If年月都为空时任意年份的指定月a.check_ym in ('" & Year(Date)1 & cboCheckMonth & "')"ElseIf cboCheckMonth = "" Then ' 指定年份的任意月 strCheck = "

47、;and a.check_ym in ('" & cboCheckYear & "01" &"','" & cboCheckYear & "02" & "','" & cboCheckYear & "03" & "','" & cboCheckYear & "04" & "',&

48、#39;" & cboCheckYear & "05" & "','" & cboCheckYear & "06" & "','" & cboCheckYear & "03" & "','" & cboCheckYear & "07" & "','" & cbo

49、CheckYear & "08" & "','" & cboCheckYear & "09" & "','" & cboCheckYear & "10" & "','" & cboCheckYear & "11" & "','" & cboCheckYear & &quo

50、t;12" & "' )"Else ' 指定的年月strCheck = "and a.check_ym in('" & cboCheckYear & cboCheckMonth & "')"End IfEnd If' 打开一个数据集strSql = "select a.emp_id,b.emp_name,c.dept_name,a.check_ym,a.w_days,a.l_nums,a.e_nums ,a.h_days,a.n_days fr

51、om checkin a ,employee b,department c where a.emp_id = b.emp_id and c.dept_id=b.dept_id " & strCheck & " " & strDept & " " & strName & " " & strId & " order by b.emp_id"rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadO

52、nly flxShow.Rows = 1If rs.EOF ThenElse' 填写数据Do While Not rs.EOFflxShow.Rows = flxShow.Rows + 1flxShow.TextMatrix(flxShow.Rows - 1, 0) = rs.Fields(0).Value For i = 2 = rs.Fields(iflxShow.TextMatrix(flxShow.Rows - 1, i)1) .ValueNext i rs.MoveNextLoopEnd IfLabel8 = " 找到" & flxShow.Row

53、s - 1 & " 条记录" rs.CloseEnd SubPrivate Sub Form_Load()Me.Icon = LoadPicture(App.Path & "Graph07.ico") ' 设置列数flxShow.Cols = 10' 列标题flxShow.TextMatrix(0, 0) = "工号 "flxShow.TextMatrix(0, 1) = "" flxShow.TextMatrix(0, 2) = "姓名 "flxShow.Tex

54、tMatrix(0, 3) = "部门 "flxShow.TextMatrix(0, 4) = "考勤时间 "flxShow.TextMatrix(0, 5) = "应出勤 "flxShow.TextMatrix(0, 6) = "迟到 "flxShow.TextMatrix(0, 7) = "早退 "flxShow.TextMatrix(0, 8) = "请假 "flxShow.TextMatrix(0, 9) = "旷工 "' 设置列宽 flx

55、Show.ColWidth(0) = 1000 flxShow.ColWidth(1) = 0 flxShow.ColWidth(2) = 1200 flxShow.ColWidth(3) = 1200 flxShow.ColWidth(4) = 1200 flxShow.ColWidth(5) = 820 flxShow.ColWidth(6) = 820 flxShow.ColWidth(7) = 820 flxShow.ColWidth(8) = 820 flxShow.ColWidth(9) = 900 ' 设置各列的对齐方式 For i = 0 To 9flxShow.Col

56、Alignment(i) = 0 Next i' 表头项居中flxShow.FillStyle = flexFillRepeat flxShow.Col = 0 flxShow.Row = 0flxShow.RowSel = 1 flxShow.ColSel = flxShow.Cols - 1 flxShow.CellAlignment = 4' 强制跨越整个行选择 flxShow.SelectionMode = flexSelectionByRow flxShow.Rows = 1cboCheckYear.AddItem "" cboCheckYear.

57、AddItem Year(Date) cboCheckYear.AddItem Year(Date) - 1 cboCheckYear.ListIndex = 1 cboCheckMonth.AddItem ""For i = 1 To 12If i < 10 Then cboCheckMonth.AddItem "0" & iElse cboCheckMonth.AddItem iEnd IfIf i = Month(Date) Then cboCheckMonth.ListIndex = cboCheckMonth.NewIndexEn

58、d IfNext i' 部门strSql = "Select dept_id,dept_name from department Order By dept_id" rs.Open strSql, dbConn, adOpenForwardOnly, adLockReadOnly cboDept.AddItem ""Do While Not rs.EOF cboDept.AddItem (rs.Fields("dept_name").Value) cboDept.ItemData(cboDept.NewIndex)rs.Fie

59、lds("dept_id").Valuers.MoveNextLooprs.Close cboDept.ListIndex = 0End Sub3、系统特色:有较强的数据完整性、安全性设计1)系统中按钮中基本都设置了错误陷阱语句:On Error GoTo ERR CONNERR_CONN:MsgBox "请检查输入的数据是否有效" 所以系统一般不会出现输入导致系统崩溃现象。 例如,图(2.1 )中生日年份越界会出现警告:生 3 ; p2Z2 -8-5C年-月-日)学用:丽毕业学狡:|剧协碗大学工费等级:1工作信慝门:|办舍室工即1务:Z称:i高議工程师

60、彷加工作时间:I2010- 7 _T(年-月汩)(年月汨图2.12) 系统设置了部分主要信息的错误提示(输入不能为空、姓名中不能出现数字、 工号中只能出现数字、生日必须合法输入、出勤次数必须大于缺勤、请假次数总 和): 例一:flagl = Falseflag2 = FalseFor i = 1 To Len (Trim(txtEmp _n ame.Text)If Mid(Trim(txtEmp_ n ame.Text), i, 1) >= "0" A nd Mid(Trim(txtEmp_name.Text), i, 1)<="9" Thenflag1 = TrueNextFor i = 1 To Len(Trim(txtEmp_id.Text)If Mid(Trim(txtEmp_id.Text), i, 1) < "0" Or Mid(Trim(txtEmp_id.Text), i, 1) > "9" Thenflag2 = TrueEnd IfNextI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论