1、共 38 页 第 1 页装订线摘 要课题项目进程管理系统,是典型的信息管理系统,其开发过程主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者使用 MS Access 建立起完整性强、安全性好的数据库。而对于后者选择了 Visual Basic 6.0 作为开发工具,利用其提供的各种面向对象的开发工具建立了这一系统。该系统是针对各类学院或者研究院的项目管理而设计开发的。它实现了项目的各类信息的录入、修改、查询和报表打印等功能,这些信息主要包括项目的基本情况、项目进展程度、项目经费开支、以及科研成果和项目获奖情况等。该系统界面友好清晰,使用方便快捷,它简化了项目的管理过程,提高
2、了科研管理人员的工作效率,从而节省了人力资源与经费开支,有利于经济效益的提高和科研事业的发展。关键词:数据库;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 fro
3、nt-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,
4、 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 simplif
5、y 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 共 38 页 第 2 页装订线目 录摘 要 1Abstract1目 录 21 绪论 .32 开发工具 .43
6、系统分析 .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.
7、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共 38 页 第 3 页装订线附录 2 英文文献及其翻译 .711 绪论目前,各大院校以及各种研究院所需开发研制的项目已日趋增多,其申请、立项等手续也日渐繁琐,对其进行如阶段性检查、经费拨款等管理的流程也越来越复杂化。项目的管理进程是一个十分复杂且冗长的过
8、程。在项目的申请阶段,需要录入项目概况及其负责人和参加者的基本情况。在实施阶段,要对其开发进度进行监督检查,以确保项目能够按计划完成。而申请经费的到款情况也将关系到项目的进度,从而决定了单位的经济效益和其科研事业的发展趋势。针对这一情况,决定建立一个计算机管理系统。本着系统开发的高效实用性原则,经过指导老师吴曼的推荐,拜访了我们学校研究院及市科研处,收集了关于项目管理的各种资料,包括横向科技项目管理办法及其情况登记表,省教育委员会自然科学研究项目申请书等等,并向科研处人员了解了这一具体管理过程的实现,努力使所开发的系统能够让项目管理过程变得直观而清晰,以适用于这些院校和集团。课题项目进程管理系
9、统,主要是对每年所申请项目的实施过程进行管理。不同的用户只能根据自己的权限访问数据和进行操作,一般的用户只有查询的权限,而只有系统管理员才能对项目信息进行具体的操作。项目管理模块主要是对项目的基本信息的管理,可实现项目基本信息的增、删、改、查操作,方便、快速的对其基本情况进行管理,为后续工作打下良好的基础。为了促进项目的实施,保证它能够按期结题完成,还必须对项目进行阶段性检查,进度管理这一模块便是为了实现这项功能而设计的。另外,为了提高企业的经济效益,保证项目经费的合理分配与开支,设计经费管理模块以利于对经费这一块的管理。项目进度和经费管理同样能够实现增、删、改、查等操作。为了方便管理人员和用
10、户的查询,根据不同的条件如:项目所属学院、研究类型,项目类别等,可以对项目信息进行统计查询,生成打印报表。为使本系统能在实际的项目管理过程中发挥应有的作用,在老师的精心指导下,严格按照软件工程的方法设计,力求高效、有序,能使该信息管理系统有助于现代的科研管理。共 38 页 第 4 页装订线2 开发工具Visual Basic1是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows 内部的应用程
11、序接口(API)函数,以及动态链接库(DDL ) ,动态数据交换(DDE) ,对象的链接与嵌入(OLE) ,开放式数据访问(ODBC)等技术,可以高效、快速地开发出 Windows 环境下功能强大、图形界面丰富的应用软件系统。Visual Basic2是事件驱动型语言,无论程序的结构还是工作方式,都与传统的程序设计语言不一样。Visual Basic 应用程序通常由三类模块组成,即窗体模块、标准模块和类模块。Visual Basic 的最大特点,就是在 Visual Basic 环境下,以最快的速度和效率开发具有良好用户界面的应用程序。Visual Basic 的对象已被抽象为窗体和控件,因而
12、大大简化了程序设计。一般来说,在用 Visual Basic 开发应用程序时,需要以下三步:(1)建立可视用户界面。 (2)设置可视界面特性。 (3)编写事件驱动代码。Visual Basic 6.02提供了强大的数据库管理功能,在过去开发环境的基础上,它引入了功能强大的 ADO(Active Data Object)作为存取数据的新标准,能灵活方便的完成数据库应用当中涉及到的诸如建库、查询及更新等各种常规操作。VB 可以处理各种外部数据库,例如 Access、FoxPro、Dbase、Excel 、Paradox 等格式的数据库,甚至其他非关系的数据库。VB 不管各种数据库内部格式上的区别而
13、自动将其转变为关系结构的数据库。VB 本身使用的数据库是 Access 数据库,可以在 VB 中直接创建,库文件的扩展名为.MDB。共 38 页 第 5 页装订线3 系统分析3.1 系统的需求分析需求分析 3的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。现对该课题项目进程管理系统总结出以下任务,必须能对项目概况、进程情况、经费分配、科研成果等进行管理。下面,将交出在这个阶段所做的文档,包括详细的数据流图,数据字典和一组简明的算法描述。需求分析是系统开发的基础,关系到工程的成败和软件产品的质量,是软件生命期中重要的一步,
14、决定性的一步。3.2 系统逻辑模型的建立3.2.1 数据流图数据流图 4是用来描述系统数据流程及其处理过程的方法,对于规模较大、数据之间联系复杂的系统来讲,用一张数据流图将所有的外部项、处理过程、数据存储等表示出来,是不现实的。因此,在建立数据流图时,一般采用自顶向下的结构化分析方法,首先用少数几个高度概括、抽象的处理过程来描述整个系统的逻辑功能、数据流程及其与外界的数据交换,然后分别对其中的每个处理过程进行分解,建立下一层的数据流图,直到最低层为止。对于每一层,必须仔细确定该层的逻辑功能、外部项、数据流、数据存储,并用各自的符号将其表达出来,再按照所处理的层次及前后顺序给以适当的编号。该系统
15、的数据流图如下:信息输入信息查询信息查询身份验证身份验证图 3.1 系统图管理员课题项目进程管理系统普通用户共 38 页 第 6 页装订线合法的用户信息用户信息不合法的用户信息 合法的用户信息 统计报表图 3.2 零层数据流图项目基本信息项目进程信息关于项目的各种信息项目经费信息科研成果信息图 3.3 一层数据流图(图号 2)1登录2要求信息处理3要求信息查询管理员 21要求信息的类型处理22项目基本信息处理23项目进程信息处理24项目经费信息处理25科研成果信息处理课题数据库共 38 页 第 7 页装订线查询结果 统计报表查询进一步查询项目进展情况表项目经费情况表图 3.4 一层数据流图(图
16、号 3)项目基本信息 项目基本情况表审查后的项目不合法的 基本信息 项目申请人员表参加人员表图 3.5 二层数据流图(图号 2.2)项目进度信息 审查后的项目不合法的 进度信息 项目进展情况表图 3.6 二层数据流图(图号 2.3)项目经费信息 审查后的项目不合法的 经费信息 项目经费表31要求信息查询32打印处理33进展经费查询2.2.1审查合法性2.2.2项目基本信息处理2.3.2项目进度信息处理2.3.1审查合法性2.4.2项目经费信息处理2.4.1审查合法性共 38 页 第 8 页装订线图 3.7 二层数据流图(图号 2.4)学术论文表审查后的学术论文信息项目经费信息审查后的学术 学术
17、著作表不合法的 著作信息 审查后的项目获奖信息 项目获奖情况表图 3.8 二层数据流图(图号 2.5)3.2.2 数据字典数据流分析 5包括一套完整的分层数据流图和一本完整的数据字典,它们结合起来,才能较完整地描述一个系统。数据字典就是用来描述数据流和加工的,它分为三个部分:数据流条目,文件条目,加工条目。数据流条目是定义数据流的,定义的方式一般是列出该数据流的各组成员数据项。文件条目是定义文件的,定义的方式一般是列出文件的组成数据项,以及文件的组织方式。加工条目是针对数据流图中的每个基本加工编写的详细小说明,即加工逻辑。目前对加工逻辑的描述一般还是用自然语言,结构化自然语言等。下面,2.5.
18、2学术论文信息处理2.5.3学术著作信息处理2.5.4项目获奖信息处理2.5.1审查合法性共 38 页 第 9 页装订线将根据以上的数据流图列出它的数据字典。(1)数据流条目用户信息=用户名 +密码项目基本信息=项目编号+项目名称+课题来源+项目类别 +研究类型+学科+开始时间+结束时间+申请经费 +(研究内容及意义+立论依据 +违约责任+预期成果)+申请人信息 +参加者信息项目进度信息=项目编号+阶段号+研究进度+检查日期 +(已做工作+阶段性成果+存在问题及改进措施+ 重要事项变更)项目经费信息=项目编号+经费笔数+申请总经费+实到经费 +(科研业务费+实验材料费+设备费+差旅费 +工资+
19、其他)科研成果信息=项目编号+学术论文信息| 学术著作信息 |项目获奖情况信息申请人信息=姓名+ 性别+民族+出生日期+ 最后学历+最后学位+(行政职务+专业职务+ 电话+传真+ 通讯地址)参加者信息=姓名+ 性别+出生日期+专业职务+ 研究专长+学历+学位学术论文信息=论文编号+论文题目+论文作者+发表期刊 +卷期号学术著作信息=著作编号+著作名称+作者+出版社+出版年月项目获奖信息=获奖编号+成果名称+获奖等级+颁奖部委 +获奖日期(2)文件条目文件名:用户表组 成: 用户名 +密码+身份 组 织:按用户名拼音字母顺序排列文件名:项目基本情况表组 成: 项目编号 +项目名称+课题来源+ 项
20、目类别+研究类型+学科+开始时间+结束时间+ 申请经费 组 织:按项目编号大小递增排序文件名:项目进展情况表组 成: 项目编号 +阶段号+研究进度+ 检查日期+已做工作+阶段性成果+存在问题及改进措施+重要事项变更组 织:按项目编号和阶段号大小递增排序文件名:项目经费表组 成:项目编号+经费笔数 +申请总经费+实到经费+科研业务费+实验材料费+设备费+ 差旅费 +工资+ 其他 +总计+结余组 织:按项目编号和经费笔数大小递增排序文件名:项目人员表共 38 页 第 10 页装订线组 成:姓名+ 性别+民族+出生日期+ 最后学历+最后学位+行政职务+专业职务+电话 +传真 +通讯地址+项目编号组
21、织:按姓名拼音字母顺序排列文件名:参加人员表组 成: 姓名 +性别+出生日期 +专业职务+研究专长+学历+学位+ 项目编号组 织:按姓名拼音字母顺序排列文件名:学术论文表组 成: 论文编号 +论文题目+论文作者+ 发表期刊+卷期号+项目编号组 织:按论文编号大小顺序排列文件名:学术著作表组 成: 著作编号 +著作名称+作者+ 出版社+出版年月+项目编号组 织:按著作编号大小顺序排列文件名:项目获奖情况表组 成: 获奖编号 +成果名称+获奖等级+ 颁奖部委+获奖日期+项目编号组 织:按获奖编号大小顺序排列(3)加工条目加工编号:1加 工 名:登录加工逻辑:检查输入的用户信息的合法性有关信息:当用
22、户要求登录时执行此加工加工编号:2.1加 工 名:要求信息的类型处理加工逻辑:根据用户要求选择 CASECASE1:要求项目基本信息的录入或修改CASE2:要求项目进展信息的录入或修改CASE3:要求项目经费信息的录入或修改CASE4:要求项目科研成果信息的录入或修改有关信息:当有合法用户要求时执行此加工加工编号:3.1加 工 名:要求信息的查询加工逻辑:根据要求选择查询共 38 页 第 11 页装订线IF 要求查询项目基本信息 THEN按各种分类方式查询信息IF 进一步查询 THEN查询项目进程和经费信息ENDEND有关信息:当有查询要求时执行此加工加工编号:3.2加 工 名:打印处理加工逻
23、辑:将各类项目信息统计表打印输出有关信息:当有打印要求时执行此加工加工编号:3.3加 工 名:进展经费查询加工逻辑:根据要求查询上一步所选项目的进展经费情况有关信息:当有进一步查询要求时执行此加工加工编号:2.2.1加 工 名:审查合法性加工逻辑:审查所输入信息是否合法有关信息:当有输入要求时执行此加工加工编号:2.2.2加 工 名:项目基本信息处理加工逻辑:对项目基本信息进行录入或修改,并且添加到或更新项目基本情况表、项目人员表、参加人员表有关信息:当有要求时执行此加工加工编号:2.3.2加 工 号:项目进度信息处理加工逻辑:对项目进度信息进行录入或修改,并且添加到或更新项目进展情况表有关信
24、息:当有要求时执行此加工加工编号:2.4.2加 工 号:项目经费信息处理加工逻辑:对项目经费信息进行录入或修改,并且添加到或更新项目经费情况共 38 页 第 12 页装订线表有关信息:当有要求时执行此加工加工编号:2.5.2加 工 号:学术论文信息处理加工逻辑:对学术论文信息进行录入或修改,并且添加到或更新学术论文情况表有关信息:当有要求时执行此加工加工编号:2.5.3加 工 号:学术著作信息处理加工逻辑:对学术著作信息进行录入或修改,并且添加到或更新学术论文情况表有关信息:当有要求时执行此加工加工编号:2.5.4加 工 号:项目获奖信息处理加工逻辑:对项目获奖信息进行录入或修改,并且添加到或
25、更新项目获奖情况表有关信息:当有要求时执行此加工4 系统总体设计4.1 系统功能分析4.1.1 系统功能模块图根据以上的需求分析,画出下面的功能模块图 6:课题项目进程管理系统系统用户管理项目进度管理 项目进度录入项目进度修改课题经费管理经费情况录入经费情况修改项目概况管理 项目概况录入项目概况修改科研情况管理科研情况录入科研情况修改信息查询管理报表打印管理用户信息管理用户密码修改共 38 页 第 13 页装订线图 4.1 系统功能模块图4.1.2 各功能模块简述系统管理:该模块首先具有验证登录者身份的功能,它可以保证只有经过系统管理员授权的用户才能够使用,从而保证系统数据的安全。另外,它还可
26、以根据用户的使用权限来决定为用户启用的功能。该系统的用户权限分为:管理员、普通用户。具有管理员权限的用户负责对其它用户进行管理,包括添加新用户,修改已有用户信息(用户名、密码、权限)等。在本系统中,管理员还具有下列权限:项目管理、进程管理、经费管理、科研成果管理、信息查询及报表打印。而普通用户只具有信息查询与报表打印权限。项目管理:实现对项目基本情况的录入、修改、删除等操作。项目编号具有唯一性,即不同的项目就具有不同的项目编号,所以新添项目时,项目编号将自动产生。进程管理:实现对项目进展程度的管理。某项目一旦立项,从立项时间起,必须对项目进行阶段性检查,直至项目结题。该模块即实现对各个阶段性检
27、查情况的录入、修改、删除等操作。经费管理:实现对项目经费开支的管理。项目经费并不是一次性到齐,而是分批发放给项目开发研制小组。该模块即实现对各笔经费情况的录入、修改、删除等操作,并能对项目的经费分配进行总计和结余计算。共 38 页 第 14 页装订线nnn科研成果管理:科研成果形式包括学术论文和学术著作。该模块实现了对这两种成果形式以及项目获奖情况的录入、修改、删除等操作。数据查询:实现对项目信息的查询,包括对项目基本情况、进程情况、经费情况的查询。用户可以选择各种查询方式,本系统提供了下列方式:按照项目名称,按照申请者姓名,按照学科名称,以及所有项目查询(即:将所有项目显示于一张表中,当选中
28、某个项目,便可显示该项目的详细情况) 。数据报表:根据用户的不同要求分类查询出用户所需要的项目信息,然后打印输出用户所需报表。报表中的项目按照下列条件分组:项目所属学院,项目类别,研究类型、完成情况(进展中或已结题) 、结题年度。例如,用户可以得到某个学院的所有项目的报表,也可以得到所有已结题或者还在进展中的项目的报表,等等。4.2 系统数据库的建立在数据库中要用数据模型 7这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类。第一类模型是概念模型,也称
29、信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于 DBMS 的实现。下面,将分别建立该系统的概念模型和数据模型。概念模型 8的方法很多,其中最著名最常见的是实体-联系方法,该方法用 E-R图来描述现实世界的概念模型,E-R 方法也称为 E-R 模型。该系统的 E-R 图如下:1获奖项目课题组人员负责项 目参加阶段检查进行花费1 nn 111 n学术论文登记登记登记 学术著作共 38 页 第 15 页装订线图 4.2 E-R 图课题组人员(人员编号,姓名,性别,民族,出生日期
30、,最后学历,最后学位,行政职务,专业职务,电话,传真,通讯地址)项目(项目编号,项目名称,课题来源,项目类别,研究类型,学科,开始时间,结束时间,申请经费)阶段检查(项目编号,阶段号,研究进度,检查日期,已做工作,阶段性成果,存在问题及改进措施,重要事项变更)经费(项目编号,经费笔数,申请总经费,实到经费,科研业务费,实验材料费,设备费,差旅费,工资,其他)学术论文(项目编号,论文编号,论文题目,论文作者,发表期刊,卷期号)学术著作(项目编号,著作编号,著作名称,作者,出版社,出版年月)获奖项目(项目编号,获奖编号,成果名称,获奖等级,颁奖部委,获奖日期)数据模型是数据库系统的核心和基础,其中
31、最重要的一种是关系模型,以下即该系统关系模型的数据结构。表 4.1 用户表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置用户名 Text 15 可变 否 是 0密码 Text 6 固定 否 是 1身份 Text 10 可变 否 是 2表 4.2 项目人员表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置人员编号 Text 10 可变 否 是 姓名 Text 15 可变 否 是 1性别 Text 6 可变 否 是 出生日期 Date/Time 8 可变 否 是 最后学历 Text 10 可变 是 否 最后学位 Text 15 可变 否 是 行政职务 Text
32、 20 可变 是 否 6专业职务 Text 20 可变 是 否 7经 费n共 38 页 第 16 页装订线电话 Text 10 可变 是 否 8传真 Text 20 可变 是 否 9通讯住址 Text 30 可变 是 否 10表 4.3 项目基本信息表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置项目编号 Text 10 可变 否 是 0项目名称 Text 20 可变 否 是 1课题来源 Text 20 可变 否 是 2项目类别 Text 20 可变 否 是 3研究类型 Text 20 可变 否 是 4研究内容及技术指标 Text 50 可变 是 否 5申请经费 Curre
33、ncy 8 可变 否 是 6开始时间 Date/Time 8 可变 否 是 7结束时间 Date/Time 8 可变 是 否 8学科 Text 15 可变 否 是 9研究内容及意义 Text 50 可变 是 否 10立论依据 Text 50 可变 是 否 11违约责任 Text 50 可变 是 否 12预期成果 Text 50 可变 是 否 13表 4.4 项目进展情况表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置项目编号 Text 10 可变 否 是 0阶段号 Text 10 可变 否 是 1研究进度 Text 10 可变 否 是 2检查日期 Date/Time 8 可
34、变 否 是 3已做工作 Text 50 可变 是 否 4阶段性成果 Text 50 可变 是 否 5存在问题及改进措施 Text 50 可变 是 否 6重要事项变更 Text 50 可变 是 否 7下一步研究计划 Text 50 可变 是 是 8表 4.5 项目经费表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置项目编号 Text 10 可变 否 是 0经费的笔数 Text 10 可变 否 是 1申请总经费 Currency 8 可变 否 是 2实到经费 Currency 8 可变 否 是 3科研业务费 Currency 8 可变 否 否 4实验材料费 Currency 8
35、 可变 否 否 5设备费 Currency 8 可变 否 否 6差旅费 Currency 8 可变 否 否 7工资 Currency 8 可变 否 否 8其他 Currency 8 可变 否 否 9总计 Currency 8 可变 否 否 10共 38 页 第 17 页装订线结余 Currency 8 可变 否 否 11表 4.6 项目获奖情况表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置获奖编号 Text 10 可变 否 是 0成果名称 Text 50 可变 否 是 1获奖等级 Text 15 可变 是 否 2颁奖部委 Text 15 可变 是 否 3获奖日期 Date
36、/time 8 可变 是 否 4项目编号 Text 10 可变 否 是 5表 4.7 学术论文表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置论文编号 Text 10 可变 否 是 0论文题目 Text 20 可变 否 是 1论文作者 Text 15 可变 否 是 2发表期刊 Text 10 可变 否 是 3卷期号 Text 10 可变 否 是 4项目编号 Text 10 可变 是 否 5表 4.8 学术著作表字段名称 类型 大小 字段是否固定 允许零长度 必要字段 顺序位置著作编号 Text 10 可变 否 是 0著作名称 Text 20 可变 否 是 1作者姓名 Tex
37、t 15 可变 否 是 2出版社 Text 20 可变 否 是 3出版年月 Date/Time8 可变 否 是 4共 38 页 第 18 页装订线共 38 页 第 19 页装订线5 系统各模块的设计和实现5.1 用户登录模块的设计及实现在登录窗口中,需要用户输入用户名称和密码,然后通过命令按钮提交登录信息。5.1.1 功能概述验证登录信息的合法性,即检验用户名是否为系统用户,用户密码是否正确。登录后根据用户权限分别启动不同的系统功能,系统管理员登录后的 MDI 窗,普通用户登录后的 MDI 窗体。在用户选择取消登录时结束应用程序。所设计的登录窗体如图 5.1 所示。图 5.1 登录窗体5.1.
38、2 窗体设计(1)在窗体中添加两个 TextBox 控件,txtUserName 和 txtPassword,用以输入用户名和密码。(2)在窗体中添加两个 Label 控件,分别显示用户名称和密码输入文本框的标题。(3)在窗体中添加两个 CommandButton 控件,分别用于提交登录信息和关闭登录窗体。(4)设置窗体和各个控件的属性。5.1.3 流程说明(1)首先,应该在模块中设置一个布尔型变量 LogAdimsucceeded,用以设置用户权限。当 LogAdimsucceeded 的值为 True,则说明是管理员登录,将所有管理员权限赋给该用户,否则,是普通用户登录,只能赋予普通用户权
39、限。(2)在确定按钮的单击事件中,要完成登录信息的合法性验证。本系统使用 DAO 为共 38 页 第 20 页装订线数据存取接口,因此需要将 DAO 引入工程。即在工程的引用菜单选项中选中Microsoft DAO 3.6 Object Library。首先用下面的语句建立数据库连接:Set db = OpenDatabase(App.Path Persist Security Info=False;Data Source=“ & App.Path & “/课题数据库 I.mdb“Adodc1.CommandType = adCmdUnknownsql3 = “SELECT 姓名,性别,出生日
40、期,专业职务,研究专长,学位,学历 FROM 参加人员表 WHERE 项目编号 LIKE “ & txtNum.Text & “%“Set rs3 = db.OpenRecordset(sql3, dbOpenDynaset)Adodc1.RecordSource = sql3Adodc1.Refresh便可将 Adodc1 连接数据库,从而完成 DataGrid 的数据绑定,使它能够显示项目主要参加者的基本信息,而且在 DataGrid 中还可以直接修改、删除、更新信息,减少编程,方便用户。5.3 进程管理模块的设计与实现5.3.1 功能实现该模块也包括两个窗体,项目进展情况录入及修改窗体。
41、各控件分布如 5.5 所示。共 38 页 第 23 页装订线图 5.5 项目进展情况录入窗体与项目基本信息的修改一样,进展情况的录入与修改,都需要首先选择某个项目。当项目被选中以后,项目名称将显示于录入或修改窗体的 txtName 文本框中。对于“录入”窗体,用户就可以在各个信息输入控件中输入该项目的进展情况,保存以后,该项记录将自动添加到 DataGrid 的列表中。而 DataGrid 通过 ADO Data控件与数据库相连,该项记录也将添加到数据库中。 当用户需要了解该项目的具体信息时,点击 按钮,便可查看。对于“修改”窗体,首先要在 DataGrid 列表中选择该项目的某一阶段,当这一
42、阶段的各信息(包括阶段号,研究进度,检查日期,已做工作,阶段性成果,存在问题,重要事项变更,下一步计划)全部显示于该窗体的各相应控件中,用户就可以在其中修改各信息。当然,项目阶段的各条信息都是根据实际情况添加或修改,并不是每个字段名称都有相应的信息输入。5.3.2 流程说明前面提到,当项目被选中以后,项目名称将显示于录入或修改窗体的 txtName文本框中,那么,这一过程是怎样实现的呢?将选择项目的窗体命名为“课题简况” ,窗体中的主要控件是 DataGrid 控件和 ADO Data 控件。通过 Adodc1 连接数据库,共 38 页 第 24 页装订线从而完成 DataGrid 的数据绑定
43、,只需在这两个控件中设置属性即可。将 DataGrid1的 DataSource 属性设为 Adodc1,然后设置 Adodc1 的 ConnectionString 及RecordSource 属性。Adodc1 的 RecordSource 连接的是 “项目基本情况表” 。因为这是一个课题简况,无须将表中所有字段显示于 DataGrid,所以,在 Datagrid1 的属性窗口中只设两列,项目编号和项目名称。当在“课题简况”窗体中选择项目确定以后,通过语句 frmProcEdit.txtName.Text = DataGrid1.Columns(1)便把项目名称显示于录入或修改窗体的 tx
44、tName 文本框中。5.4 经费管理模块的设计与实现5.4.1 功能实现经费管理模块用于实现对每个项目每笔所到经费的操作,窗体设计类似于进程管理模块,也包括录入和修改窗体,如图 5.6 所示。所不同的是,经费需要分配开支与计算,所以窗体中需要添加一个计算按钮,用以计算经费开支的总数以及经费结余。共 38 页 第 25 页装订线图 5.6 项目经费情况修改窗体5.4.2 流程说明在编写“计算”按钮的代码时,需要注意以下问题。首先要用一个变量 s 来累计经费的开支。而 s 只能定义为 Currency 型,否则,如果定义为 Integer 型,只能计算整数的相加减,而不能计算小数的加减。另外,怎
45、样通过编码来实现经费的修改呢?这在进程模块的设计中已简要提到,在这里将详细地说明一下。将通过下面的事件过程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) &“an
46、d 经费笔数=“& DataGrid1.Columns(1).CellText(DataGrid1.Bookmark) & “)End sub来实现这一功能:将 DataGrid 控件表格中的行列内容显示于窗体的文本框或列表框等需要在其中修改信息的控件中。所激发的事件是,单击某行以改变行列内容。在 DataGrid 被连接到一个数据库后,想要监视用户单击了哪一个单元,可以使用 RowColChange 事件,而不是 Click 事件 。共 38 页 第 26 页装订线5.5 科研成果管理模块设计与实现该模块同样具有录入与修改功能,而且它的流程编码也与前面的进程管理和经费管理模块同理。只是窗体的设计与它们有所不同。科研成果的录入与修改窗体分别如图 5.7 和图 5.8 所示:图 5.7 科研成果录入窗体共 38 页 第 27 页