1、摘要在现代化企业中,企业员工的考勤工作不仅工作量大,而且时效性强。随着数据库技术的发展和企业信息化建设的进行,使用计算机管理企业考勤工作也成为大势所趋,它为企业的考勤工作节约了大量的人力和物力,也大大减轻了考勤工作人员的工作量。考勤管理系统是企业对考勤实行了信息化管理,其目的是为了实现员工考勤数据采集、信息查询和数据统计过程的自动化,完善人事管理现代化,方便管理人员统计、考核员工出勤情况,计算员工工资。关键词:考勤管理,Access2007,数据库,VC+AbstractIn the corporations today, employees job of check on work atte
2、ndance not only workload is very large, but also time is very strong. Along with development of database technology and progress of corporation informations building, using computer to manage check on work attendance of corporations which it is necessary. It saves a mass of manpower and material res
3、ources and greatly lightens workload of employees.Attendance Management System is a business-to-appraisal of the implementation of information management, which aims is designed to achieve staff attendance data collection, information query and statistical process automation, improve personnel manag
4、ement modernization, and the convenience of staff to report to work, facilitate management statistics, the examination staff attendance.Key words: attendance, Access2007, database,VC+目录0绪论11系统目标及使用软件介绍11.1系统目标11.2使用软件的介绍12可行性研究及设计思想22.1可行性研究22.2开发设计思想33需求分析33.1用户需求分析33.2数据分析概念模型设计33.2.1数据描述33.2.2数据库
5、建模43.2.3关系描述的设计54系统设计64.1 Access2007数据库的建立64.2数据库连接74.3数据库操作84.4各个模块的设计与实现95主要技术155.1主要控件代码155.2ADO数据库访问技术166结束语17致谢18参考文献180绪论当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。传统的纸张材料的数据信息管理方式已经不适合现代企业的发展,实现工资管理的系统化、规范化、自动化,将成为现代
6、公司管理工资的首选。随着计算机的诞生和普及以及计算机网络的发展,我们可以开发一个工资管理系统,用计算机代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用计算机还可以安全地、完整地保存大量的工作记录。1系统目标及使用软件介绍1.1系统目标系统需符合考勤工资管理制度,并达到操作直观、方便、实用、安全等要求。能够提供详细的员工基础信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。能够随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。针对这些要求,系统建立了职工信息查询、职工信息删除、职工工资信息管理、职工工资信息查询4个主要信息库。
7、系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。实现了对员工信息的查询、统计、增减、变动记录等功能。1.2使用软件的介绍(1)应用程序开发工具微软公司的VC+6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。VC+6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VC是一个相对较好的选择1。 VC+6.0编程语言是一个面向对象的集成开发系统。它简单、高效的特点使它成为编程者的最爱。它提供了灵活的可视化设计工具
8、,将可视化界面与面向对象技术完善、紧密地结合起来,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。采用Access 2007数据库环境开发,可缩短开发周期,提高开发效率的特点。对系统的软硬件要求也低,减少用户的资金投入2。 (2)关系型数据库的选择Access2007 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然3。另外,Access 允许创建自定义报表用于打印或输出数
9、据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 2可行性研究及设计思想2.1可行性研究(1)技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个
10、数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。(2)经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。(3)管理可行性随着时代的发展,人员素质的提高,不论是对于电
11、脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。(4)开发环境可行性我采用的VC+6.0开发工具,它首先是一个开放的协作式系统,可以和多种PC产品集成,并可以通过专用接口或ODBC接口连接许多比较常用的数据库;其次它具有可视化的开发环境,使代码的编写更为直观,并且在可视化环境下的调试和维护也相对容易。而为方便用户界面的开发,VC+6.0提供了大量控件,这既丰富了应用程序的表达能力,也加快了项目的开发速度。同时,它拥有多平台的开发环境,如果需要把一个平台上开发的代码移植到另外一个平台上,只要重新编译就可以了。2.2开发设计思想
12、本系统开发设计思想:(1)尽量利用企业现有软件环境,采用先进的管理系统方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的。(2)系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求。(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于技术维护人员进行补充、维护。(4)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。3需求分析3.1用户需求分析随着社会现代化的发展,单位日常管理相关的信息随之急剧增加,传统的人力手工管理模式越来越不能适应现在的工作效率和准确性。在这个高节奏
13、的信息时代,安全、准确的管理信息系统是每个管理者所需求的。建立一个适应现代化社会经济体制的管理信息系统势在必行。 在大量地调查和研究的基础上,包括访问用户,了解财务系统模型,熟悉现有的工作流程和数据流程等工作,采集和分析有关资料和、报表和业务规定,进行了财务管理软件的开发。在整个系统的设计和开发过程中,积极采纳最终用户的意见。对于开发财务管理系统进行了认真仔细的分析,在实施过程中不断地加以修改和完善,使这套财务管理系统能更好地运行。 该系统的具体任务就是设计一个电脑公司财务的数据库管理系统,由计算机来代替人工执行一系列诸如增加、删除、修改、查询、统计及打印等操作。这样就使办公人员以轻松快捷地完
14、成财务管理的任务。 3.2数据分析概念模型设计3.2.1数据描述(1)静态数据静态数据是系统内部有关的数据结构与操作规程。具体可包括:员工基本信息表(PersonInfo)、员工工种情况表(Department)、员工考勤情况表(Attendance)、员工缺勤情况表(Absent)、员工加班情况表(Duty)、部门表(Dept)、工资表(PersonPay)。(2)动态数据动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值. (3)数据库描述根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括
15、各种具体信息,通过相互之间的作用形成数据的流动。概念型数学模型是一种面向问题的数学模型,是按用户的观点来对数据和信息建模。最常用的表示概念数据模型的方法是实体联系方法(EntityRelationship Approach)。这种方法用ER图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称ER模型。ER图中共有三种符号:实体、属性和联系。通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示4。联系又分为一对一、一对多和多对多三种类型。3.2.2数据库建模经过上面的分析,能够提取出以下几个实体:员工、工种、考勤情况、月工资等。它员工姓名所在部门员工编号员 工所属
16、工种性别们的实体图如图3.1至3.2所示。图3.1员工信息实体图工 种基本工资工种编号工种名称部门名称图3.2工种实体图3.2.3关系描述的设计根据以上各实体图和考勤管理系统的ER图,经过转换,可以得出各个关系。其转换规则为:首先每个实体应转化为一个关系,有属性的联系也应转化为一个关系,然后需要给出每个关系的关键字。根据以上规则,直接给出所有关系。员工基本信息(PersonInfo),见表3.1。表3.1员工基本信息员工编号员工姓名性别所在部门所属工种工种编号PersonIDPersonNamePersonSexDeptJobDeptNO部门信息(Department),见表3.2。表3.2部
17、门信息工种编号所在部门工种名称基本工资DeptNODeptJobPay员工考勤情况(Attendance),见表3.3。表3.3员工考勤信息员工编号员工姓名执勤天数加班天数缺勤天数所在月份PersonIDPersonNameAtDaysDutyDaysAbDaysAtMonth员工缺勤情况(Absent),见表3.4。表3.4员工缺勤情况员工编号员工姓名缺勤天数请假类型所在月份备注扣除工资PersonIDPersonNameAbDaysAbReasonAbMonthAbRemarksAbPay员工加班情况(Duty),见表3.5。表3.5员工加班情况员工编号员工姓名加班天数所在月份加班工资Pe
18、rsonIDPersonNameDutyDaysDuMonthDutyPay员工工资信息(PersonPay),见表3.6。表3.6员工工资信息员工编号员工姓名工种编号基本工资加班工资扣除工资总工资月份PersonIDPersonNameDutyNOBasePayDutyPayAbPaySumPayPMonth在得出以上关系后,根据关系数据库的理论要求,需要对所有关系进行关系规范化,至少要求各个关系达到第三范式的要求,按照第三范式的要求对比以上各个关系,在所有关系中都不存在非主属性对关键字的部分依赖,即满足第三范式。4系统设计4.1 Access2007数据库的建立为了在操作过程中使用数据的方
19、便,选用Access作为数据库,启动Access建立一个空白的数据库:(1)打开Access2007,点击【空白数据库】,为数据库命名Attendance,选择好存储路径,单击创建,如图4.1所示。图4.1数据库创建图(2)在工资数据库中创建部门信息表,月工资表,管理员,考勤记录,员工信息表等表,如图4.2所示。图4.2考勤数据库图4.2数据库连接首先,需要在stdafx.h中添加如下代码:#import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)然后,在CAttendanceA
20、pp中的InitInstance函数下添加如下代码:AfxOleInit();HRESULT hr;m_pConnection.CreateInstance(_uuidof(Connection);trym_pConnection-ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Attendance.mdb;m_pConnection-ConnectionTimeout=10;hr=m_pConnection-Open(,adModeUnknown);if(hr!=S_OK)AfxMessageBox(无法连接到数据库
21、,请确定数据库路径正确!);catch(_com_error e)CString errormessage;errormessage.Format(连接数据库失败!rn错误信息:%d,e.ErrorMessage();AfxMessageBox(errormessage);/显示错误信息利用extern CAttendanceApp theApp; 在所有的操作页面类中声明一个外部的对象,就可以对数据库进行操作了。4.3数据库操作要对数据库进行操作,首先需要声明一个数据集,以便用它操作,例如:_RecordsetPtr m_pRecPer; m_pRecPer.CreateInstance(_
22、uuidof(Recordset); /进行实例化打开指定记录集:trym_pRecPer-Open(select*fromPersonInfo,_variant_t(IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);catch(_com_error e)CString str;str.Format(数据库打开失败!rn错误信息:%s,e.ErrorMessage);AfxMessageBox(str);向表中添加信息(打开记录集方法同上,更换所需要的SQL语句即可):m_pRecPe
23、r-AddNew();m_pRecPer-PutCollect(PersonID,(_variant_t)(dlg.m_strNO);m_pRecPer-PutCollect(PersonName,(_variant_t)(dlg.m_strName);m_pRecPer-PutCollect(PersonSex,(_variant_t)(strSex);m_pRecPer-PutCollect(Dept,(_variant_t)(dlg.m_strDept);m_pRecPer-PutCollect(Job,(_variant_t)(dlg.m_strJob);m_pRecPer-Updat
24、e();m_pRecPer-Close();修改表中信息:m_pRecPer-PutCollect(PersonID,(_variant_t)(dlg.m_strNO);m_pRecPer-PutCollect(PersonName,(_variant_t)(dlg.m_strName);m_pRecPer-PutCollect(PersonSex,(_variant_t)(strSex);m_pRecPer-PutCollect(Dept,(_variant_t)(dlg.m_strDept);m_pRecPer-PutCollect(Job,(_variant_t)(dlg.m_strJo
25、b);m_pRecPer-Update();m_pRecPer-Close();删除选中信息:m_pRecPer-Delete(adAffectCurrent);m_pRecPer-Update();m_pRecPer-Close();4.4各个模块的设计与实现(1)登陆模块系统登录模块用于验证用户登录系统时输入的用户名,密码是否正确,只有合法的用户才可以进入系统。为了实现此功能,需要在数据库中加入表Login,表内容见表4.1:表4.1Login表内容字段名称数据类型必填字段相关属性备注ID自动编号是主键userName文本否字段大小=12用户名userPassword文本否字段大小=16密
26、码实现验证用户名,密码功能的代码如下:CString strName;strName.Format(select userPassword from Login where userName=%s,m_strName);BSTR bstrSql=strName.AllocSysString();trym_pRecordset-Open(bstrSql,_variant_t(IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);catch(_com_error e)CString strOpe
27、n;strOpen.Format(数据库打开失败!rn错误信息:%d,e.ErrorMessage);AfxMessageBox(strOpen);if(!m_pRecordset-adoEOF)if(m_strPass=(_bstr_t)m_pRecordset-GetCollect(userPassword)CDialog:OnOK();elseAfxMessageBox(密码不正确!);elseAfxMessageBox(该用户不存在!);该系统还实现了注册新用户的功能,在系统菜单下有注册新用户选项卡,点击注册新用户,即可注册新用户,如图4.3图4.3新用户注册点击后弹出注册窗口,实现注
28、册新用户代码如下:CString str;str.Format(select * from Login where userName=%s,m_strName);BSTR bstrSql=str.AllocSysString();trym_pRecordset-Open(bstrSql,_variant_t(IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);catch(_com_error e)AfxMessageBox(e.ErrorMessage();if(m_pRecordset
29、-adoEOF)trym_pRecordset-AddNew();m_pRecordset-PutCollect(userName,(_variant_t)(m_strName);m_pRecordset-PutCollect(userPassword,(_variant_t)(m_strPass);m_pRecordset-Update();catch(_com_error e)AfxMessageBox(e.ErrorMessage();AfxMessageBox(新用户注册成功!);CDialog:OnOK();elseAfxMessageBox(该用户名已存在!);新用户注册成功后会提
30、示“新用户注册成功!”,可以利用重新登录来检测是否注册成功。(2)员工信息模块员工信息模块可以显示员工基本信息,并可以增加新的员工信息并对需要修改或删除的员工信息加以修改、删除,在删除的同时还需要把其他表单中相应的员工记录删除。点击数据选择菜单下的员工信息,就可以弹出员工信息模块,如图4.4所示图4.4员工信息界面在该模块中含有添加、修改、删除以及通过编号查询和通过姓名查询的功能,点击添加按钮会弹出相应的添加窗口,在选中记录之后点击修改(删除)按钮会弹出相应的修改窗口(确认删除的提示),如果没有选择记录,则会有“请选择需要修改(删除)的记录”的提示。该模块的编写需要注意以下几点:添加新记录时需
31、确定要添加的员工信息在员工信息表中没有记录。确定新员工信息的部门、工种及工种编号在部门信息中存有记录。删除记录时需同时删除员工在考勤表,工资表的对应记录,并在删除的时候会有是否删除的确定提示。(3)部门信息模块该模块显示了工种编号、部门名称、工种名称以及基本工资,并可以对其进行添加和修改,同时也能根据部门名称和部门编号进行查询操作。点击数据选择下的部门信息菜单,便可弹出相应的部门信息窗口。(4)考勤信息模块该模块实现了考勤信息的显示及查询,查询分为姓名查询、编号查询、按年查询和按月查询四种方式,当填写好年月,并输入姓名(或编号),点击姓名(或编号)下的查询按钮,便可查询该姓名(或编号)的员工在
32、该年月下的考勤信息。点击数据选择菜单下的考勤信息,可弹出如图4.5的考勤信息界面。图4.5考勤信息界面需要注意的是,该模块并不具备添加、修改功能,添加新纪录时,需要先在缺勤信息内添加当月的缺勤纪录(如果当月没有缺勤纪录,可添加缺勤天数为0),再在加班信息中添加当月的加班天数(没有加班可以不进行填写,系统会默认为0)。(5)缺勤记录模块及加班记录模块缺勤记录模块用于实现对员工执勤情况的管理,通过在该模块下添加、修改员工执勤记录可相应修改员工在考勤信息及工资信息中的相应数据。点击考勤记录菜单下的缺勤记录选项,可弹出如图4.6的缺勤记录界面。该模块的编写需要注意以下几点:添加新记录时需要先确定该员工
33、是否在员工信息中有记录,在确定该员工的当月记录是否已经添加在缺勤记录表中。添加新记录的同时需要在考勤信息和工资信息中添加相应的记录。修改一条记录时也需要在考勤信息和工资信息中修改相应的记录。加班记录模块用于实现对员工加班情况的管理,编写方法及注意事项和缺勤模块基本一致,通过点击考勤记录菜单下的加班记录选项,便可弹出加班记录的界面。图4.6缺勤信息界面(6)工资信息模块该模块用于显示员工工资信息,并实现姓名查询、员工编号查询、工种编号和按月查询以及数据导出的功能,选择数据选择菜单下的工资信息,便可弹出相应的工资信息界面,其实现方法与考勤信息模块基本一致。5主要技术我的程序是采用Visual C+
34、完成,所用的技术是C+的数据库编程,选用的数据库是MicroSoft 的 Access 2007, 整个制作过程用了两个月,有不少地方做的不好(例如界面不太美观),需要进一步的完善才行,不足之处请老师见谅。5.1主要控件代码关于下拉列表框的使用,向下拉列表框中添加数据,以月份为例,代码如下:for(int i=1;iAddString(strI);关于列表控件的使用,设置列表控件表头,以员工信息为例,代码如下:m_listPerson.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_listPerson.InsertColu
35、mn(0,员工编号,LVCFMT_LEFT,80);m_listPerson.InsertColumn(1,员工姓名,LVCFMT_LEFT,80);m_listPerson.InsertColumn(2,性别,LVCFMT_LEFT,60);m_listPerson.InsertColumn(3,所在部门,LVCFMT_LEFT,80);m_listPerson.InsertColumn(4,所属工种,LVCFMT_LEFT,80);m_listPerson.InsertColumn(5,工种编号,LVCFMT_LEFT,80);向列表控件中添加数据库信息,以添加员工信息为例:while(!
36、m_pRecPer-adoEOF)trym_listPerson.InsertItem(0,_bstr_t();m_listPerson.SetItemText(0,0,(_bstr_t)m_pRecPer-GetCollect(PersonID);m_listPerson.SetItemText(0,1,(_bstr_t)m_pRecPer-GetCollect(PersonName)m_listPerson.SetItemText(0,2,(_bstr_t)m_pRecPer-GetCollect(PersonSex)m_listPerson.SetItemText(0,3,(_bstr_
37、t)m_pRecPer-GetCollect(Dept);m_listPerson.SetItemText(0,4,(_bstr_t)m_pRecPer-GetCollect(Job);m_listPerson.SetItemText(0,5,(_bstr_t)m_pRecPer-GetCollect(DeptNO);m_pRecPer-MoveNext();catch(_com_error e)CString strerror;strerror.Format(数据库导出失败!rn错误信息:%s,e.ErrorMessage);AfxMessageBox(strerror);5.2ADO数据库
38、访问技术尽管应用程序仍可使用Visual C+ 6.0中的ODBC和RDO,但Microsoft还是推荐将ADO作为新应用程序的数据访问方法。所有这些数据访问方法都是COM接口,可在不同工具中使用,但是,它们之间还是有几点主要区别:(1)ADO是访问OLE DB中所有类型数据的对象模型。综上所述,ADO具有以下特点:(1)ADO可访问各种类型的数据,而RDO和DAO只能访问关系数据。(2)ADO对象模型没有RDO或DAO那么复杂,易于使用,需要代码也较少。(3)ADO结合了RDO和DAO最好的性能,最终将取代它们。(4)ADO是Microsoft工具使用的标准数据访问对象模型5。6结束语通过本
39、次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。在指导老师毛晓菊的引导和帮助下,通过几个月的设计和开发,企业考勤管理管理系统基本开发完毕。其功能基本符合用户需求,能够完成职工基本信息、工资输入和统计。以及各类查询。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。ADO结合了RDO和DAO最好的性能,最终将取代
40、它们。(4)ADO是Microsoft工具使用的标准数据访问对象模型5。6结束语通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。在指导老师毛晓菊的引导和帮助下,通过几个月的设计和开发,企业考勤管理管理系统基本开发完毕。其功能基本符合用户需求,能够完成职工基本信息、工资输入和统计。以及各类查询。并提供部分系统维护功能,使用户方便进行数据备ADO结合了RDO和DAO最好的性能,最终将取代它们。(4)ADO是Micr
41、osoft工具使用的标准数据访问对象模型5。6结束语通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。在指导老师毛晓菊的引导和帮助下,通过几个月的设计和开发,企业考勤管理管理系统基本开发完毕。其功能基本符合用户需求,能够完成职工基本信息、工资输入和统计。以及各类查询。并提供部分系统维护功能,使用户方便进行数据备ADO结合了RDO和DAO最好的性能,最终将取代它们。(4)ADO是Microsoft工具使用的标准数据
42、访问对象模型5。6结束语通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2
43、007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本
44、次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了对Access 2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。通过本次毕业设计实践,我不仅加深了对Visual C+ 6.0 程序设计工具的熟悉,加深了