毕业设计(论文)-VB6.0课题项目进程管理系统【源程序代码】.doc_第1页
毕业设计(论文)-VB6.0课题项目进程管理系统【源程序代码】.doc_第2页
毕业设计(论文)-VB6.0课题项目进程管理系统【源程序代码】.doc_第3页
毕业设计(论文)-VB6.0课题项目进程管理系统【源程序代码】.doc_第4页
毕业设计(论文)-VB6.0课题项目进程管理系统【源程序代码】.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

装订线摘 要课题项目进程管理系统,是典型的信息管理系统,其开发过程主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者使用MS Access建立起完整性强、安全性好的数据库。而对于后者选择了Visual Basic 6.0作为开发工具,利用其提供的各种面向对象的开发工具建立了这一系统。该系统是针对各类学院或者研究院的项目管理而设计开发的。它实现了项目的各类信息的录入、修改、查询和报表打印等功能,这些信息主要包括项目的基本情况、项目进展程度、项目经费开支、以及科研成果和项目获奖情况等。该系统界面友好清晰,使用方便快捷,它简化了项目的管理过程,提高了科研管理人员的工作效率,从而节省了人力资源与经费开支,有利于经济效益的提高和科研事业的发展。关键词:数据库;Visual Basic 6.0;MS Access;课题项目全套源程序代码,加153893706AbstractThe management system of project process is a typical management information system, which mainly includes building up database of back-end and developing the application interface of front-end. To the former, the system can get integrality and security of data by MS Access. And to the later, Visual Basic 6.0 is selected to used because of its objective tools.The system is designed for some colleges or institutes to manage the project process, which realized many functions at large, such as input, modification, query and data reporter print of all kinds of information. It also included the projects basic information, process degree, money expenditure and scientific research fruits and so on. It is very simple and convenient to make use of this management system. It can simplify the process of project management and improve the working efficiency of the scientific manager. It is helpful for improving the economic profits and developing the scientific enterprise.Keywords: Database; Visual Basic 6.0; MS Access; Project 目 录摘 要1Abstract1目 录21 绪论32 开发工具43 系统分析53.1 系统的需求分析53.2 系统逻辑模型的建立53.2.1 数据流图53.2.2 数据字典94 系统总体设计134.1 系统功能分析134.1.1 系统功能模块图134.1.2 各功能模块简述144.2 系统数据库的建立145 系统各模块的设计和实现205.1 用户登录模块的设计及实现205.1.1 功能概述205.1.2 窗体设计215.1.3 流程说明215.2 项目管理模块的设计及实现225.2.1 窗体设计235.2.2 流程说明235.3 进程管理模块的设计与实现245.3.1 功能实现245.3.2 流程说明255.4 经费管理模块的设计与实现265.4.1 功能实现265.4.2 流程说明275.5 科研成果管理模块设计与实现285.6 数据查询模块的设计与实现295.7 数据报表模块的设计及实现315.7.1 功能概述315.7.2 报表设计336 系统测试35总结36致谢37主要参考文献38附录1 部分源代码39附录2 英文文献及其翻译711 绪论目前,各大院校以及各种研究院所需开发研制的项目已日趋增多,其申请、立项等手续也日渐繁琐,对其进行如阶段性检查、经费拨款等管理的流程也越来越复杂化。项目的管理进程是一个十分复杂且冗长的过程。在项目的申请阶段,需要录入项目概况及其负责人和参加者的基本情况。在实施阶段,要对其开发进度进行监督检查,以确保项目能够按计划完成。而申请经费的到款情况也将关系到项目的进度,从而决定了单位的经济效益和其科研事业的发展趋势。针对这一情况,决定建立一个计算机管理系统。本着系统开发的高效实用性原则,经过指导老师吴曼的推荐,拜访了我们学校研究院及市科研处,收集了关于项目管理的各种资料,包括横向科技项目管理办法及其情况登记表,省教育委员会自然科学研究项目申请书等等,并向科研处人员了解了这一具体管理过程的实现,努力使所开发的系统能够让项目管理过程变得直观而清晰,以适用于这些院校和集团。课题项目进程管理系统,主要是对每年所申请项目的实施过程进行管理。不同的用户只能根据自己的权限访问数据和进行操作,一般的用户只有查询的权限,而只有系统管理员才能对项目信息进行具体的操作。项目管理模块主要是对项目的基本信息的管理,可实现项目基本信息的增、删、改、查操作,方便、快速的对其基本情况进行管理,为后续工作打下良好的基础。为了促进项目的实施,保证它能够按期结题完成,还必须对项目进行阶段性检查,进度管理这一模块便是为了实现这项功能而设计的。另外,为了提高企业的经济效益,保证项目经费的合理分配与开支,设计经费管理模块以利于对经费这一块的管理。项目进度和经费管理同样能够实现增、删、改、查等操作。为了方便管理人员和用户的查询,根据不同的条件如:项目所属学院、研究类型,项目类别等,可以对项目信息进行统计查询,生成打印报表。为使本系统能在实际的项目管理过程中发挥应有的作用,在老师的精心指导下,严格按照软件工程的方法设计,力求高效、有序,能使该信息管理系统有助于现代的科研管理。2 开发工具Visual Basic1是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DDL),动态数据交换(DDE),对象的链接与嵌入(OLE),开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。Visual Basic2是事件驱动型语言,无论程序的结构还是工作方式,都与传统的程序设计语言不一样。Visual Basic应用程序通常由三类模块组成,即窗体模块、标准模块和类模块。Visual Basic的最大特点,就是在Visual Basic环境下,以最快的速度和效率开发具有良好用户界面的应用程序。Visual Basic的对象已被抽象为窗体和控件,因而大大简化了程序设计。一般来说,在用Visual Basic开发应用程序时,需要以下三步:(1)建立可视用户界面。(2)设置可视界面特性。(3)编写事件驱动代码。Visual Basic 6.02提供了强大的数据库管理功能,在过去开发环境的基础上,它引入了功能强大的ADO(Active Data Object)作为存取数据的新标准,能灵活方便的完成数据库应用当中涉及到的诸如建库、查询及更新等各种常规操作。VB可以处理各种外部数据库,例如Access、FoxPro、Dbase、Excel、Paradox等格式的数据库,甚至其他非关系的数据库。VB不管各种数据库内部格式上的区别而自动将其转变为关系结构的数据库。VB本身使用的数据库是Access数据库,可以在VB中直接创建,库文件的扩展名为.MDB。3 系统分析3.1 系统的需求分析需求分析3的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。现对该课题项目进程管理系统总结出以下任务,必须能对项目概况、进程情况、经费分配、科研成果等进行管理。下面,将交出在这个阶段所做的文档,包括详细的数据流图,数据字典和一组简明的算法描述。需求分析是系统开发的基础,关系到工程的成败和软件产品的质量,是软件生命期中重要的一步,决定性的一步。3.2 系统逻辑模型的建立3.2.1 数据流图数据流图4是用来描述系统数据流程及其处理过程的方法,对于规模较大、数据之间联系复杂的系统来讲,用一张数据流图将所有的外部项、处理过程、数据存储等表示出来,是不现实的。因此,在建立数据流图时,一般采用自顶向下的结构化分析方法,首先用少数几个高度概括、抽象的处理过程来描述整个系统的逻辑功能、数据流程及其与外界的数据交换,然后分别对其中的每个处理过程进行分解,建立下一层的数据流图,直到最低层为止。对于每一层,必须仔细确定该层的逻辑功能、外部项、数据流、数据存储,并用各自的符号将其表达出来,再按照所处理的层次及前后顺序给以适当的编号。该系统的数据流图如下:管理员课题项目进程管理系统普通用户 信息输入 信息查询信息查询 身份验证身份验证 图3.1系统图 2要求信息处理 合法的用户信息1登录用户信息 3要求信息查询不合法的用户信息 合法的用户信息 统计报表图3.2 零层数据流图 24项目经费信息处理 22项目基本信息处理 项目基本信息 23项目进程信息处理 项目进程信息 21要求信息的类型处理课题数据库管理员关于项目的各种信息 项目经费信息 科研成果信息 25科研成果信息处理图3.3 一层数据流图(图号2) 32打印处理 31要求信息查询查询结果 统计报表 查询 33进展经费查询进一步查询 项目进展情况表 项目经费情况表图3.4 一层数据流图(图号3)2.2.1审查合法性2.2.2项目基本信息处理项目基本信息 项目基本情况表 审查后的项目 不合法的 基本信息 项目申请人员表 参加人员表 图3.5 二层数据流图(图号2.2)2.3.1审查合法性2.3.2项目进度信息处理项目进度信息 审查后的项目 不合法的 进度信息 项目进展情况表图3.6 二层数据流图(图号2.3)2.4.2项目经费信息处理2.4.1审查合法性项目经费信息 审查后的项目 不合法的 经费信息 项目经费表图3.7 二层数据流图(图号2.4)2.5.2学术论文信息处理 学术论文表 审查后的学术 论文信息2.5.3学术著作信息处理2.5.1审查合法性项目经费信息 审查后的学术 学术著作表 不合法的 著作信息 审查后的项目2.5.4项目获奖信息处理 获奖信息 项目获奖情况表图3.8 二层数据流图(图号2.5)3.2.2 数据字典数据流分析5包括一套完整的分层数据流图和一本完整的数据字典,它们结合起来,才能较完整地描述一个系统。数据字典就是用来描述数据流和加工的,它分为三个部分:数据流条目,文件条目,加工条目。数据流条目是定义数据流的,定义的方式一般是列出该数据流的各组成员数据项。文件条目是定义文件的,定义的方式一般是列出文件的组成数据项,以及文件的组织方式。加工条目是针对数据流图中的每个基本加工编写的详细小说明,即加工逻辑。目前对加工逻辑的描述一般还是用自然语言,结构化自然语言等。下面,将根据以上的数据流图列出它的数据字典。(1)数据流条目用户信息=用户名+密码项目基本信息=项目编号+项目名称+课题来源+项目类别+研究类型+学科+开始时间+结束时间+申请经费+(研究内容及意义+立论依据+违约责任+预期成果)+申请人信息+参加者信息项目进度信息=项目编号+阶段号+研究进度+检查日期+(已做工作+阶段性成果+存在问题及改进措施+重要事项变更)项目经费信息=项目编号+经费笔数+申请总经费+实到经费+(科研业务费+实验材料费+设备费+差旅费+工资+其他)科研成果信息=项目编号+学术论文信息|学术著作信息|项目获奖情况信息申请人信息=姓名+性别+民族+出生日期+最后学历+最后学位+(行政职务+专业职务+电话+传真+通讯地址)参加者信息=姓名+性别+出生日期+专业职务+研究专长+学历+学位学术论文信息=论文编号+论文题目+论文作者+发表期刊+卷期号学术著作信息=著作编号+著作名称+作者+出版社+出版年月项目获奖信息=获奖编号+成果名称+获奖等级+颁奖部委+获奖日期(2)文件条目文件名:用户表组 成:用户名+密码+身份组 织:按用户名拼音字母顺序排列文件名:项目基本情况表组 成:项目编号+项目名称+课题来源+项目类别+研究类型+学科+开始时间+结束时间+申请经费组 织:按项目编号大小递增排序文件名:项目进展情况表组 成:项目编号+阶段号+研究进度+检查日期+已做工作+阶段性成果+存在问题及改进措施+重要事项变更组 织:按项目编号和阶段号大小递增排序文件名:项目经费表组 成:项目编号+经费笔数+申请总经费+实到经费+科研业务费+实验材料费+设备费+差旅费+工资+其他+总计+结余组 织:按项目编号和经费笔数大小递增排序文件名:项目人员表组 成:姓名+性别+民族+出生日期+最后学历+最后学位+行政职务+专业职务+电话+传真+通讯地址+项目编号组 织:按姓名拼音字母顺序排列文件名:参加人员表组 成:姓名+性别+出生日期+专业职务+研究专长+学历+学位+项目编号组 织:按姓名拼音字母顺序排列文件名:学术论文表组 成:论文编号+论文题目+论文作者+发表期刊+卷期号+项目编号组 织:按论文编号大小顺序排列文件名:学术著作表组 成:著作编号+著作名称+作者+出版社+出版年月+项目编号组 织:按著作编号大小顺序排列文件名:项目获奖情况表组 成:获奖编号+成果名称+获奖等级+颁奖部委+获奖日期+项目编号组 织:按获奖编号大小顺序排列(3)加工条目加工编号:1加 工 名:登录加工逻辑:检查输入的用户信息的合法性有关信息:当用户要求登录时执行此加工加工编号:2.1加 工 名:要求信息的类型处理加工逻辑:根据用户要求选择CASE CASE1:要求项目基本信息的录入或修改 CASE2:要求项目进展信息的录入或修改 CASE3:要求项目经费信息的录入或修改 CASE4:要求项目科研成果信息的录入或修改有关信息:当有合法用户要求时执行此加工加工编号:3.1加 工 名:要求信息的查询加工逻辑:根据要求选择查询 IF 要求查询项目基本信息 THEN按各种分类方式查询信息IF 进一步查询 THEN 查询项目进程和经费信息END END有关信息:当有查询要求时执行此加工加工编号:3.2加 工 名:打印处理加工逻辑:将各类项目信息统计表打印输出有关信息:当有打印要求时执行此加工加工编号:3.3加 工 名:进展经费查询加工逻辑:根据要求查询上一步所选项目的进展经费情况有关信息:当有进一步查询要求时执行此加工加工编号:2.2.1加 工 名:审查合法性加工逻辑:审查所输入信息是否合法有关信息:当有输入要求时执行此加工加工编号:2.2.2加 工 名:项目基本信息处理加工逻辑:对项目基本信息进行录入或修改,并且添加到或更新项目基本情况表、项目人员表、参加人员表有关信息:当有要求时执行此加工加工编号:2.3.2加 工 号:项目进度信息处理加工逻辑:对项目进度信息进行录入或修改,并且添加到或更新项目进展情况表有关信息:当有要求时执行此加工加工编号:2.4.2加 工 号:项目经费信息处理加工逻辑:对项目经费信息进行录入或修改,并且添加到或更新项目经费情况表有关信息:当有要求时执行此加工加工编号:2.5.2加 工 号:学术论文信息处理加工逻辑:对学术论文信息进行录入或修改,并且添加到或更新学术论文情况表有关信息:当有要求时执行此加工加工编号:2.5.3加 工 号:学术著作信息处理加工逻辑:对学术著作信息进行录入或修改,并且添加到或更新学术论文情况表有关信息:当有要求时执行此加工加工编号:2.5.4加 工 号:项目获奖信息处理加工逻辑:对项目获奖信息进行录入或修改,并且添加到或更新项目获奖情况表有关信息:当有要求时执行此加工4 系统总体设计4.1 系统功能分析4.1.1 系统功能模块图根据以上的需求分析,画出下面的功能模块图6:课题项目进程管理系统系统用户管理项目进度管理项目进度录入项目进度修改课题经费管理经费情况录入经费情况修改项目概况管理项目概况录入项目概况修改科研情况管理科研情况录入科研情况修改信息查询管理报表打印管理用户信息管理用户密码修改图4.1 系统功能模块图4.1.2 各功能模块简述系统管理:该模块首先具有验证登录者身份的功能,它可以保证只有经过系统管理员授权的用户才能够使用,从而保证系统数据的安全。另外,它还可以根据用户的使用权限来决定为用户启用的功能。该系统的用户权限分为:管理员、普通用户。具有管理员权限的用户负责对其它用户进行管理,包括添加新用户,修改已有用户信息(用户名、密码、权限)等。在本系统中,管理员还具有下列权限:项目管理、进程管理、经费管理、科研成果管理、信息查询及报表打印。而普通用户只具有信息查询与报表打印权限。项目管理:实现对项目基本情况的录入、修改、删除等操作。项目编号具有唯一性,即不同的项目就具有不同的项目编号,所以新添项目时,项目编号将自动产生。进程管理:实现对项目进展程度的管理。某项目一旦立项,从立项时间起,必须对项目进行阶段性检查,直至项目结题。该模块即实现对各个阶段性检查情况的录入、修改、删除等操作。经费管理:实现对项目经费开支的管理。项目经费并不是一次性到齐,而是分批发放给项目开发研制小组。该模块即实现对各笔经费情况的录入、修改、删除等操作,并能对项目的经费分配进行总计和结余计算。科研成果管理:科研成果形式包括学术论文和学术著作。该模块实现了对这两种成果形式以及项目获奖情况的录入、修改、删除等操作。数据查询:实现对项目信息的查询,包括对项目基本情况、进程情况、经费情况的查询。用户可以选择各种查询方式,本系统提供了下列方式:按照项目名称,按照申请者姓名,按照学科名称,以及所有项目查询(即:将所有项目显示于一张表中,当选中某个项目,便可显示该项目的详细情况)。数据报表:根据用户的不同要求分类查询出用户所需要的项目信息,然后打印输出用户所需报表。报表中的项目按照下列条件分组:项目所属学院,项目类别,研究类型、完成情况(进展中或已结题)、结题年度。例如,用户可以得到某个学院的所有项目的报表,也可以得到所有已结题或者还在进展中的项目的报表,等等。4.2 系统数据库的建立在数据库中要用数据模型7这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类。第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。下面,将分别建立该系统的概念模型和数据模型。概念模型8的方法很多,其中最著名最常见的是实体-联系方法,该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。该系统的E-R图如下:获奖项目n登记登记登记nn学术著作学术论文n11n进行参加 1阶段检查项 目课题组人员1n1花费负责n经 费图4.2 E-R图课题组人员(人员编号,姓名,性别,民族,出生日期,最后学历,最后学位,行政职务,专业职务,电话,传真,通讯地址)项目(项目编号,项目名称,课题来源,项目类别,研究类型,学科,开始时间,结束时间,申请经费)阶段检查(项目编号,阶段号,研究进度,检查日期,已做工作,阶段性成果,存在问题及改进措施,重要事项变更)经费(项目编号,经费笔数,申请总经费,实到经费,科研业务费,实验材料费,设备费,差旅费,工资,其他)学术论文(项目编号,论文编号,论文题目,论文作者,发表期刊,卷期号)学术著作(项目编号,著作编号,著作名称,作者,出版社,出版年月)获奖项目(项目编号,获奖编号,成果名称,获奖等级,颁奖部委,获奖日期)数据模型是数据库系统的核心和基础,其中最重要的一种是关系模型,以下即该系统关系模型的数据结构。表4.1 用户表字段名称类型大小字段是否固定允许零长度必要字段顺序位置用户名Text15可变否是0密码Text6固定否是1身份Text10可变否是2表4.2 项目人员表字段名称类型大小字段是否固定允许零长度必要字段顺序位置人员编号Text10可变否是姓名Text15可变否是1性别Text6可变否是出生日期Date/Time8可变否是最后学历Text10可变是否最后学位Text15可变否是行政职务Text20可变是否6专业职务Text20可变是否7电话Text10可变是否8传真Text20可变是否9通讯住址Text30可变是否10表4.3 项目基本信息表字段名称类型大小字段是否固定允许零长度必要字段顺序位置项目编号Text10可变否是0项目名称Text20可变否是1课题来源Text20可变否是2项目类别Text20可变否是3研究类型Text20可变否是4研究内容及技术指标Text50可变是否5申请经费Currency8可变否是6开始时间Date/Time8可变否是7结束时间Date/Time8可变是否8学科Text15可变否是9研究内容及意义Text50可变是否10立论依据Text50可变是否11违约责任Text50可变是否12预期成果Text50可变是否13表4.4 项目进展情况表字段名称类型大小字段是否固定允许零长度必要字段顺序位置项目编号Text10可变否是0阶段号Text10可变否是1研究进度Text10可变否是2检查日期Date/Time8可变否是3已做工作Text50可变是否4阶段性成果Text50可变是否5存在问题及改进措施Text50可变是否6重要事项变更Text50可变是否7下一步研究计划Text50可变是是8表4.5 项目经费表字段名称类型大小字段是否固定允许零长度必要字段顺序位置项目编号Text10可变否是0经费的笔数Text10可变否是1申请总经费Currency8可变否是2实到经费Currency8可变否是3科研业务费Currency8可变否否4实验材料费Currency8可变否否5设备费Currency8可变否否6差旅费Currency8可变否否7工资Currency8可变否否8其他Currency8可变否否9总计Currency8可变否否10结余Currency8可变否否11表4.6 项目获奖情况表字段名称类型大小字段是否固定允许零长度必要字段顺序位置获奖编号Text10可变否是0成果名称Text50可变否是1获奖等级Text15可变是否2颁奖部委Text15可变是否3获奖日期Date/time8可变是否4项目编号Text10可变否是5表4.7 学术论文表字段名称类型大小字段是否固定允许零长度必要字段顺序位置论文编号Text10可变否是0论文题目Text20可变否是1论文作者Text15可变否是2发表期刊Text10可变否是3卷期号Text10可变否是4项目编号Text10可变是否5表4.8 学术著作表字段名称类型大小字段是否固定允许零长度必要字段顺序位置著作编号Text10可变否是0著作名称Text20可变否是1作者姓名Text15可变否是2出版社Text20可变否是3出版年月Date/Time8可变否是45 系统各模块的设计和实现5.1 用户登录模块的设计及实现在登录窗口中,需要用户输入用户名称和密码,然后通过命令按钮提交登录信息。5.1.1 功能概述 验证登录信息的合法性,即检验用户名是否为系统用户,用户密码是否正确。 登录后根据用户权限分别启动不同的系统功能,系统管理员登录后的MDI窗,普通用户登录后的MDI窗体。 在用户选择取消登录时结束应用程序。 所设计的登录窗体如图5.1所示。 图5.1 登录窗体5.1.2 窗体设计(1)在窗体中添加两个TextBox控件,txtUserName和txtPassword,用以输入用户名和密码。(2)在窗体中添加两个Label控件,分别显示用户名称和密码输入文本框的标题。(3)在窗体中添加两个CommandButton控件,分别用于提交登录信息和关闭登录窗体。(4)设置窗体和各个控件的属性。5.1.3 流程说明(1)首先,应该在模块中设置一个布尔型变量LogAdimsucceeded,用以设置用户权限。当LogAdimsucceeded的值为True,则说明是管理员登录,将所有管理员权限赋给该用户,否则,是普通用户登录,只能赋予普通用户权限。(2)在确定按钮的单击事件中,要完成登录信息的合法性验证。本系统使用DAO为数据存取接口,因此需要将DAO引入工程。即在工程的引用菜单选项中选中Microsoft DAO 3.6 Object Library。首先用下面的语句建立数据库连接:Set db = OpenDatabase(App.Path & /课题数据库I.mdb),db在模块中定义为Database型。然后用下列语句打开用户表,将rsuser指向所输入用户信息对应的记录Set rsuser = db.OpenRecordset(select * from 用户表 where 用户名= & txtUserName.Text & and 密码= & txtPassword.Text & )如果找到该条记录,则说明输入正确,系统将按照用户权限启动主窗体, 否则,弹出如图5.2的消息框,要求用户重新登录。图5.2 密码错误消息框5.2 项目管理模块的设计及实现该模块主要包括两个窗体:项目基本情况录入窗体(如图5.3所示),项目基本情况修改窗体(如图5.4所示)。图5.3 项目基本情况录入窗体图5.4 项目基本情况修改窗体5.2.1 窗体设计这两个窗体的主要控件都是SSTab,分别设有6个Tab,其内容包含项目基本情况,申请人情况,主要参加者,研究内容及意义,立论依据,研究意义,违约责任。该窗体还需要创建控件数组,因为在程序编写的过程中,会用到一些类型相同且功能相近的控件,在本窗体中,通过分别复制文本框TextBox和下拉列表框ComboBox,来创建控件数组。使用控件数组9类似于使用数组变量,其特点如下:(1)有相同的名称(Name)(2)用索引值(下标)来区别控件数组中的元素。使用控件数组可以节省系统内部资源,增加程序的可读性。当有多个控件数组成员执行大致相同的操作时,控件数组共享同样的事件过程。在程序运行过程中,可以利用控件数组返回的索引值来标识触发事件的成员。另外,还有一个主要控件DataGrid,用以列入主要参加者的基本情况,因为参加者并不一定唯一,用DataGrid控件列表显示则显得清楚明了。同时需要使用ADO Data控件对DataGrid执行数据绑定。因为在修改项目基本情况时,需要首先选择特定的项目,所以在项目修改窗体中,需要添加一个 按钮,当点击此按钮时,会弹出一个课题简况窗体,用以选择项目。5.2.2 流程说明 首先同样使用OpenDatabase方法打开数据库,定义数据记录集RecordSet对象变量,如rs,它是作为存取表的最佳存取工具。当在各个信息输入控件中输入或修改数据后,使用类似rs.Fields(1) = Text1(0).Text的语句将录入或修改的项目基本信息添加到数据库表中。 需要注意的是,因为项目编号唯一,所以在编写程序时,使得单击“新添项目”按钮产生的事件中,项目编号自动产生。这段编码如下: Set rs1 = db.OpenRecordset(select * from 项目基本情况表, dbOpenDynaset) With rs1 If .RecordCount 0 Then .MoveLast txtNum = .RecordCount + 1 .MoveFirst Else txtNum = 1 End If End With怎样使用ADO Data控件对DataGrid执行数据绑定呢?在DataGrid的属性窗口中,将它的数据源DataSource属性设置为Adodc1这个ADO Data控件。而在程序代码中,使用以下语句:Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source= & App.Path & /课题数据库I.mdbAdodc1.CommandType = adCmdUnknownsql3 = SELECT 姓名,性别,出生日期,专业职务,研究专长,学位,学历 FROM 参加人员表 WHERE 项目编号 LIKE & txtNum.Text & %Set rs3 = db.OpenRecordset(sql3, dbOpenDynaset)Adodc1.RecordSource = sql3Adodc1.Refresh便可将Adodc1连接数据库,从而完成DataGrid的数据绑定,使它能够显示项目主要参加者的基本信息,而且在DataGrid中还可以直接修改、删除、更新信息,减少编程,方便用户。5.3 进程管理模块的设计与实现5.3.1 功能实现该模块也包括两个窗体,项目进展情况录入及修改窗体。各控件分布如5.5所示。图5.5 项目进展情况录入窗体与项目基本信息的修改一样,进展情况的录入与修改,都需要首先选择某个项目。当项目被选中以后,项目名称将显示于录入或修改窗体的txtName文本框中。对于“录入”窗体,用户就可以在各个信息输入控件中输入该项目的进展情况,保存以后,该项记录将自动添加到DataGrid 的列表中。而DataGrid通过ADO Data控件与数据库相连,该项记录也将添加到数据库中。 当用户需要了解该项目的具体信息时,点击 按钮,便可查看。对于“修改”窗体,首先要在DataGrid列表中选择该项目的某一阶段,当这一阶段的各信息(包括阶段号,研究进度,检查日期,已做工作,阶段性成果,存在问题,重要事项变更,下一步计划)全部显示于该窗体的各相应控件中,用户就可以在其中修改各信息。当然,项目阶段的各条信息都是根据实际情况添加或修改,并不是每个字段名称都有相应的信息输入。5.3.2 流程说明 前面提到,当项目被选中以后,项目名称将显示于录入或修改窗体的txtName文本框中,那么,这一过程是怎样实现的呢?将选择项目的窗体命名为“课题简况”,窗体中的主要控件是DataGrid控件和ADO Data控件。通过Adodc1连接数据库,从而完成DataGrid的数据绑定,只需在这两个控件中设置属性即可。将DataGrid1的DataSource属性设为Adodc1,然后设置Adodc1的ConnectionString及RecordSource属性。Adodc1的RecordSource连接的是“项目基本情况表”。因为这是一个课题简况,无须将表中所有字段显示于DataGrid,所以,在Datagrid1的属性窗口中只设两列,项目编号和项目名称。当在“课题简况”窗体中选择项目确定以后,通过语句frmProcEdit.txtName.Text = DataGrid1.Columns(1)便把项目名称显示于录入或修改窗体的txtName文本框中。5.4 经费管理模块的设计与实现5.4.1 功能实现经费管理模块用于实现对每个项目每笔所到经费的操作,窗体设计类似于进程管理模块,也包括录入和修改窗体,如图5.6所示。所不同的是,经费需要分配开支与计算,所以窗体中需要添加一个计算按钮,用以计算经费开支的总数以及经费结余。图5.6 项目经费情况修改窗体5.4.2 流程说明在编写“计算”按钮的代码时,需要注意以下问题。首先要用一个变量s来累计经费的开支。而s只能定义为Currency型,否则,如果定义为Integer型,只能计算整数的相加减,而不能计算小数的加减。另外,怎样通过编码来实现经费的修改呢?这在进程模块的设计中已简要提到,在这里将详细地说明一下。将通过下面的事件过程Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) Set db = OpenDatabase(App.Path & /课题数据库I.mdb)Set rsm = db.OpenRecordset(SELECT * FROM 项目经费表 WHERE 项目编号= & DataGrid1.Columns(0).CellText(DataGrid1.Bookmark) &and经费笔数=& DataGrid1.Columns(1).CellText(DataGrid1.Bookmark) & )End sub来实现这一功能:将DataGrid控件表格中的行列内容显示于窗体的文本框或列表框等需要在其中修改信息的控件中。所激发的事件是,单击某行以改变行列内容。在 DataGrid

温馨提示

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

评论

0/150

提交评论