1、沈阳化工学院本科毕业论文 题 目:智能排课系统 院 系:计算机科学和技术学院 专 业:计算机科学和技术 班 级:计0802 学生姓名:孙鹏 指导老师:赵振江 论文提交日期: 年 月 日论文答辩日期: 年 月 日内容摘要排课问题是全部教育行业全部要面正确问题,尤其针对高校纷繁复杂课程和专业,一直没有很好处理方法。但这又是每个学校在每个学期全部会碰到必修课。本文在相关理论指导下,在分析以往部分排课软件基础上,提出一个排课系统设计方法,对部分具体问题给出对应处理方案。期望对于相关部门有所帮助。此系统关键被分为三个部分:界面设计、排课算法设计、和报表自动生成。纵观全局,我们确定用Visual Basi
2、c 语言作为程序设计语言和利用SQL Server 数据库作为后台数据库支持。关键词: 排课、排课系统、设计、高校AbstractCourse arranging Problem is a problem which working in the development of education is facing. Especially, there is no a good solution for this matter of the college. However, it is also a necessary administration task for every school
3、 in every semester. This essay, with the correlative theorys guidance, on the basis of analyzing some courses-arraying software, proposes a design method of commonly used courses arraying information system in college, and solves some of the certain problems. Hoping it is useful for the relative dep
4、artment. The system consist of three parts: the interface design, the algorithm of Course Timetable system, and printing the tables. On the whole, we decided to use VB computer language to design and SQL Server Data Base to support. Key words: courses arranging; courses arrangement management system
5、; design; college目 录 一.绪论11.1背景和意义11.2课题研究内容1二.方案设计和论证22.1可行性研究22.1.1系统目标及任务22.1.2开发工具选择和介绍22.1.3对现有排课系统分析22.1.4系统逻辑模型22.1.5系统可行性22.1.6成本效益分析22.2需求分析22.2.1系统运行环境要求22.2.2系统功效要求22.2.3系统性能要求2三.总体设计23.1模块设计23.2 功效分解23.3 数据库设计23.3.1定义属性表23.4排课系统总构架2四.具体设计24.1用户界面设计34.1.1简单易用和个性化需求24.1.2对数据查询24.1.3系统菜单功效2
6、4.2课程表生成34.2.1班级课程表查询打印设计24.2.2老师课程表查询打印设计24.2.3教室课程表查询打印设计2五.测试25.1排课系统功效测试35.2排课系统课表合理性测试35.3该系统不足和改善方案3六.结论36.1软件设计小结3智能排课系统一. 绪论1.1 背景和意义伴随信息技术飞速发展,各个行业信息化势在必行。正所谓“科学技术是第一生产力”,科技进步大大地提升了生产率。然而,在高校这个知识密集地方,怎样才能提升办学效率,愈加好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前一个迫切问题。应用信息化来改造传统教学管理模式是一个关键路径。近几年来,伴随各高校办公自动化工
7、作推进,教务管理自动化也被摆上了日程。在教务工作中占有很大比重一项就是每学期课程排定工作。因为教工、教室和设备相对担心,怎样进行合理地安排和分配,从而充足利用教学资源是我们不得不面正确问题。而人工进行排课不仅任务重,效率低,而且易犯错,难于维护,想要排出一张各方面全部满意课表很困难。而且伴随高校规模扩大手工排课难度和工作量呈几何级数增加。1.2 课题研究内容排课系统正是为了减轻教务人员工作量,实现教务工作自动化,处理排课这一老大难问题教务办公软件。尤其针对高校排课一直全部没有很好处理方法,不过此问题又是每个学校在每个学期全部会碰到必需行政作业。本文在相关理论指导下,在分析以往部分排课软件基础上
8、,提出一个高校通用排课系统设计方法,并对部分具体问题给出对应处理方案。不过,因为技术、经验有限和数据量过大,现在我们极难做出一个满足全部需要排课系统。因为它不仅要考虑到教室冲突问题和老师冲突问题,还要考虑到分段课、单双周课时资源利用问题;另外因为高校教学特点,还要处理合班课、分班课、体育课和选修课等特殊课程。针对这些问题,在此专门对数据库设计作了部分探索,并于架构选择和模块划分上经过精心调整,在菜单设计上也表现了人性化操作。该设计贴近用户需求,功效完整,架构合理,并用大量框图模型表现了系统计划。本软件使用Microsoft Basic 6.0进行编写和SQL Server 数据库相连接。数据库
9、特点:1.实现数据共享 2.实现数据独立3.降低了数据冗余度 4.避免了数据不一致性5.加强了对数据保护。一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来。二. 方案设计和论证2.1 可行性研究2.1.1 系统目标及任务本软件关键是适适用于高等学校教务部门办公软件,利用此软件,能够免去工作人员繁忙而枯燥手工排课过程,直接经过计算机进行排课。我任务是完成排课系统界面设计和排课后报表生成2.1.2 开发工具选择和介绍针对现在世界上流行大量软件和开发工具,经过认真分析其优缺点,结合排课系统需要和现在硬件环境,我们选择微软WINDOWS平台下Visual
10、 Basic 6.0(简写为VB6.0)作为软件开发工具和SQL Server 数据库进行连接。作为数据库系统开发,Visual Basic是一个很理想选择。Visual Basic是一个可视化、面对对象和条用事件驱动方法结构化高级程序设计,可用于开发Windows环境下应用程序。它简单易学、效率高,且功效强大,能够和Windows专业开发工具SDK相媲美,而且程序开发人员无须含有C/C+编程基础。在Visual Basic环境下,利用事件驱动编程机制、新奇易用可视化设计工具,使用Windows内部应用程序接口(API)函数,和动态链接库(DLL)、动态数据交换(DDE)、对象链接和嵌入(OL
11、E)、开放式数据访问(ODBC)等技术,能够高效、快速地开发出Windows环境下功效强大、图形界面丰富应用软件系统。总来说,Visual Basic含有以下特点:1、可视化编程用传统程序设计语言设计程序时,全部是经过编写程序代码来设计用户界面,在设计过程中看不到界面实际显示效果,必需编译后运行程序才能观察。假如对界面效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改操作可能要反复数次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计复杂性“封装”起来,开发人员无须为界面设计而编写大量程序代码。只需要按设计要求屏幕布局,用系统提供工具,在
12、屏幕上画出多种“部件”,即图形对象,并设置这些图形对象属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功效那部分代码,从而能够大大提升程序设计效率。2、面向对象程序设计4.0版 以后Visual Basic支持面向对象程序设计,但它和通常面向对象程序设计语言(C+)不完全相同。在通常面向对象程序设计语言中,对象由程序代码和数据组成,是抽象概念;而Visual Basic则是应用面向对象程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象给予应有属性,使对象成为实在东西。在设计对象时,无须编写建立和描述每个对象程序代码,而是用工具画在界面上,V
13、isual Basic自动生成对象程序代码并封装起来。每个对象以图形方法显示在界面上,全部是可视。3、结构化程序设计语言Visual Basic是在BASIC语言基础上发展起来,含有高级程序设计语言语句结构,靠近于自然语言和人类逻辑思维方法。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检验,同时含有功效强大且使用灵活调试器和编译器。Visual Basic是解释型语言,在输入代码同时,解释系统将高级语言分解翻译成计算机能够识别机器指令,并判定每个语句语法错误。在设计Visual Basic程序过程中,随时能够运行程序,而在整个程序设计好以后,能够编译生成可实施
14、文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。4、事件驱动编程机制Visual Basic经过事件来实施对象操作。一个对象可能会产生多个事件,每个事件全部能够经过一段程序来响应。比如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将实施一段程序,用来实现指定操作。在用Visual Basic设计大型应用软件时,无须建立含有显著开始和结束程序,而是编写若干个微小子程序,即过程。这些过程分别面向不一样对象,由用户操作引发某个事件来驱动完成某种特定功效,或由事件驱动程序调用通用过程来实施指定操作,这么能够方便编程人
15、员,提升效率。5、访问数据库Visual Basic含有强大数据库管理功效,利用数据控件和数据库管理窗口,能够直接建立或处理SQL Server 数据库,并提供了强大数据存放功效。Visual Basic提供开放式数据连接,即ODBC功效,可经过直接访问或建立连接方法使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,能够使用结构化查询语言SQL数据标准,直接访问服务器上数据库。6、对象链接和嵌入(OLE)对象链接和嵌入(OLE)将每个应用程序全部看作是一个对象(object),将不一样对象链接(link)起来,再嵌入(embed)某个应用程序中,从而能够得到含
16、有声音、影像、图像、动画、文字等多种信息集合式文件。OLE技术是Microsoft企业对象技术战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一个应用程序一体化技术。利用OLE技术,能够方便地建立复合式文档(compound document),这种文档由来自多个不一样应用程序对象组成,文档中每个对象全部和原来应用程序相联络,并可实施和原来应用程序完全相同操作。7、动态链接库(DLL)Visual Basic是一个高级程序设计语言,不含有低级语言功效,对访问机器硬件操作不太轻易实现。但它能够经过动态链接库技术将C/C+或汇编语言编写程序加入到Visual Basi
17、c应用程序中,能够像调用内部函数一样调用其它语言编写函数。另外,经过动态链接库,还能够调用Windows应用程序接口(API)函数,实现SDK所含有功效。2.1.3 对现有排课系统分析伴随中国市场经济快速发展和信息化水平不停提升,怎样利用优异管理手段,提升教育单位教学排课管理水平,是当今社会所面临一个课题。提升教育管理水平,必需全方位地提升教育管理意识。只有高标准、高质量管理才能满足教育事业发展需求。面对信息时代挑战,利用高科技手段来提升教学排课管理无疑是一条行之有效路径。在某种意义上,信息和科技在教学管理和现代化建设中显现出越来越关键地位。教学排课管理方面信息化和科学化,已成为现代化生活水平
18、步入高台阶关键标志。相关排课管理系统软件市面上有不少,教学管理人员也试用过部分,但总认为不是很好用,不能完全满足我们要求,所以全部放弃用这些软件了,改为每次输入数据后,用手工更改数据库存量和安排课程,另外课表也无法用限制条件自动生成.和直接导出到EXCLE表中,所以,迫切期望有一套完全适合排课管理应用软件,以减轻管理人员工作负担。其次因为这类软件大多数是单机版,现在也有不少是网络板,但大部份全部是在当地网络上运行。所以系统开发方向应该是面向网络版排课管理系统开发。这点在以后学习中将不停完善。2.1.4 系统逻辑模型排课系统排课编辑自动生成课表查询打印课表系统数据初始化退出系统帮助编辑班级信息编
19、辑教室信息编辑老师信息编辑教学计划查询班级课程表查询教室课程表 表查询老师课程表系统结构图 图21 系统结构图系统步骤图为了实现管理信息系统计算机化,仅仅用文字来描述信息流动和存放还远远不够,还要深入调查分析舍去物质流,抽象出信息流,绘制出数据步骤图,并对多种数据属性和各项处理功效进行具体分析。系统分析关键结果是系统逻辑模型。本系统关键是以数据流图、数据字典和E-R图为关键描述工具来勾画系统概貌。数据流图(DFD,data flow diagram)是描述数据处理过程有力工具。数据流图从数据传输和加工角度,以图形方法刻画数据流从输入到输出移动变换过程。用户登录功效模块使用数据库 图22 系统步
20、骤图Chart 2-2 System diagram数据字典名字:班级编号描述:唯一地标识班级库表中一个特定班级关键域定义:班级编号=10char位置:编辑班级信息,课程信息,教学计划,班级课程表名字:教室编号描述:唯一地标识教室库表中一个特定教室关键域定义:教室编号=10char位置:编辑教室信息,教室课程表名字:老师编号描述:唯一地标识老师库表中一个特定老师关键域定义:老师编号=10char位置:编辑老师信息,教学计划,老师课程表名字:学院编号描述:唯一地标识学院库表中一个特定学院关键域定义:学院编号=10char位置:编辑老师信息名字:班级课程表描述:每学期一个确定班级上课情况信息表定义
21、:班级课程表=班级名称+课程名称+上课地点位置:输出到打印机名字:课程编号描述:唯一地标识课程库表中一门特定课程关键域定义:课程编号=10char位置:编辑课程信息,教学计划名字:教室课程表描述:每学期一个确定教室上课时间安排情况信息表定义:教室课程表=教室名称+班级名称位置:输出到打印机 名称:老师课程表 描述:每学期每个老师上课情况信息表定义:老师课程表=老师姓名+课程名称+班级名称+教室名称 位置:输出到打印机2.1.5 系统可行性经济可行性分析本系统开发简单但要耗去一定时间,所用开发工具和软件全部差不多是无偿。本系统在以后使用中对于教育办公自动化管理,节省教育人力、物力资源等全部有很大
22、帮助。由此可见,开发此系统在经济上是完全可行。操作可行性分析现在计算机已经走进千家万户,硬件成本下降,造成计算机购置成本降低.我这套系统是利用自己计算机加微软集成开发环境Microsoft Visual Basic6.0作为软件开发平台和SQL Server 数据库连接。使开发出来系统有直观用户界面、有良好安全性设置、有具体操作说明书,这么更使各类用户很快地掌握系统使用方法和操作,所以在操作上是可行。技术可行性分析从现在IT业界比较流行数据库开发、管理软件来看,对于比较简单中小型数据库,VB 和SQL Server 结合无疑是在实际应用中较为成功一个处理方案。为用户提供了业界软件开发一直坚持操
23、作简单用户界面、完善强大数据库操作功效和简练明了数据库接口。所以技术实施起来相对会轻易。2.1.6 成本效益分析本系统开发平台和开发工具全部是无偿提供,所以不存在经济成本问题。因为本软件还处于开发早期,所开发出软件需要不停修改和维护,就效益而言,它替换了传统手工排课方法,节省了人力和时间。假如要发明更高效益需要对系统进行更多优化。2.2 需求分析2.2.1 系统运行环境要求硬件要求1 486/DX66Mhz以上CPU2 内存16M以上(使用Windows NT需要32M以上内存)3 硬盘容量1GB以上(经典安装需要128MB硬盘空间,完全安装须要147MB硬盘空间,外加Microsoft开发者
24、文档67MB硬盘空间)4 VGA以上分辨率显示器.5 一个CD-ROM驱动器6 鼠标、打印机软件要求1 操作系统应使用Microsoft Windows95及以上版本或更高版本。2 安装有Visual Basic语言及SQL Server数据库。2.2.2 系统功效要求利用计算机实现计算机自动排课管理势在必行。对于教育单位来说,利用计算机支持其高效率完成排课管理日常事务,是适应该代教学制度要求、推进教学管理走向科学化、规范化必需条件;而排课管理是一项琐碎、复杂而又十分细致工作,课表信息录入,老师讲课安排,限制条件输入,课表自动生成等管理,通常不许可犯错,假如实施手工操作,须手工填制大量表格,这
25、就会花费教育工作人员大量时间和精力,计算机进行排课工作管理,不仅能够确保各项信息正确无误、快速输出,同时计算机含有手工管理所无法比拟优点.比如:检索快速、查找方便、可靠性高、存放量大、保密性好、寿命长、成本低等。这些优点能够极大地提升排课管理效率,也是教育科学化、正规化管理,和世界接轨关键条件。2.2.3 系统性能要求本系统在性能上应达成以下要求:l 系统软件运行应该速度快、稳定、可靠,含有很高健壮性和容错、纠错能力;l 系统软件操作上应简单、方便,界面简练明了、美观;l 系统软件应能含有较高安全性,对内对外全部有严格身份认证和数据保密方法;l 系统软件在结构上应含有很好可扩展性,便于未来功效
26、扩展和维护;数据计算正确无误,正确度符合业务需要。老师老师编号姓名职称1.老师E-R图 图23 老师E-R 2.班级E-R图班级学院班级编号专业班级人数 图24 班级E-R3.课程E-R图课程课名课时课程编号 图25 课程E-R4.教室E-R图教室名称容纳人数教室编号教室 图2-6 教室E-R三总体设计2.3 模块设计模块是软件结构基础,软件结构好坏完全由模块属性表现出来,把软件模块化目标是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但伴随模块数目标增加,经过接口连接这些模块工作量也随之增加。从这些特征可得出图一条总成本(或工作量)曲线,在考虑模块化时,应尽可能使模块数靠近
27、于图中M,它使得研制成本最小,而且应尽可能避免不足模块化或超量。图31 模块和成本关系图Chart 4-1 Relation between module and cost基于上述原因,在进行总体计划初步设想中,以高校多种资源和资源分配为依据,综合多个相关原因,将该系统划分成以下六个子功效模块:基础信息管理子系统、用户管理子系统、数据管理子系统、教学计划管理子系统、排课管理子系统、课表查询子系统。在数据库设计上,遵照“功效分离,数据共享”标准,将数据库分成基础数据库及目标数据库两大部分,其中,基础数据库又可分为初始设置信息库、基础信息库、用户信息库三个功效子库。目标库关键存放系统运行过程中动态
28、数据,目标方案等。2.4 功效分解基础信息管理子系统功效:班级信息,教室信息和教室信息添加、保留、编辑和删除:1、用户管理子系统功效:用户密码设置和修改,用户权限设置,用户重新登陆;2、数据管理子系统功效:包含对教室、老师、班级、教学计划和课表数据保留、查询、更新、删除;3、教学计划管理子系统功效:某一确定学期教学工作计划,对于班级而言,每门课程课时、开始周、结束周和每门课程任课老师,该子系统对教学计划进行管理和完善;4、排课管理子系统功效:包含自动排课,手动排课两个部分;5、课表查询子系统功效:对于具体班级、老师、教室进行课表查询,打印;2.5 数据库设计排课管理系统是一项复杂系统工程,其间
29、需要大量数据来支撑,从某种程度上来讲,排课管理系统设计过程,其实也就是一个规范和完整数据库设计过程。经过多年发展,关系型数据库系统(RDBMS)是最成熟一个数据库管理模式,也是目前最流行数据库管理系统。故在此也采取该模式(在加部分关系数据库介绍)。2.5.1 定义属性表1.bClass表字段名称类 型说 明ClassID字 符班级编号ClassName文 本班级名称DepID文 本学院编号SpecID文 本专业编号、ClassStuNum整 型班级人数图32 班级表Chart 3-2 Class table2.bClassRoom表字段名称类 型说 明ClassRoomID字 符教室编号,字段
30、大小10ClassRoomName文 本教室名称,字段大小16ClassTypeID字 符教室类型,字段大小16ClassRoomStuNum整 型容纳人数,字段大小4BuildingID字 符教学楼编号,字段大小10ClassRoomFlag整 型教室标识符,字段大小4图33 教室表Chart 3-3 Classroom table3.bCourse表字段名称类 型说 明CourseID字 符课程编号,字段大小10CourseName字 符课程名称,字段大小20CourseYXJ字 符课程优先级,字段大小10ClassID字 符班级编号,字段大小10CourseFlag整 型课程标识符,字段
31、大小4图34 课程表Chart 3-4 Course table4.bTeacher表字段名称类 型说 明TeacherID字 符老师编号,字段大小10TeacherName文 本老师名称,字段大小16DepID文 本学院编号,字段大小16CourseID字 符课程编号,字段大小10图35 老师表5.bTeachPlan表字段名称类 型说 明CourseID字 符课程编号,字段大小10CourseName文 本课程名称,字段大小16TeacherID字 符老师编号,字段大小10TeacherName文 本老师名称,字段大小16WeekNum字 符周课时,字段大小10CourseNum字 符总课
32、时,字段大小10图36 老师计划表Chart 3-6 Reach plan table6.bTempTable表字段名称类 型说 明ClassID字 符班级编号,字段大小10CourseID字 符课程编号,字段大小10TeacherID字 符老师编号,字段大小10ClassRoomID字 符教室编号,字段大小10TTime整 型时间标识,字段大小4Week整 型周数,字段大小4图37 临时表Chart 3-7 Temporary table2.6 排课系统总构架 基础信息录入优先级高先排资源要求设置开始排课检验排课冲突生成课表查询课表打印课表图38 系统总架构Chart 3-8 System
33、frame四.具体设计2.7 用户界面设计伴随视窗操作系统全方面推广和流行,现在GUI已经成为业界用户接口一个标准。在本系统设计过程中,也根据GUI设计标准来设计用户接口,给用户提供一个友好人机交互界面。具体来说,将根据以下几点标准来设计。2.7.1 简单易用和个性化需求不管什么系统,面向什么使用者,全部应该以简单易用而不显枯燥为标准。本系统使用图形化用户界面,整个界面功效键设定和窗体布局,完全含有独特统一风格。2.7.2 对数据查询查询是信息系统中不可缺乏功效。本系统设计是一个可对任意指定表、按全部字段进行查询。查询结果,在本系统中用数据窗口对象显示输出。对于查询结果,用户也能够依据自己需求
34、,选择显示字段和设计自己视图。当然,系统下一步应该提供功效就是依据查询结果,生成各式各类报表。2.7.3在实际系统设计中,菜单可分为两种类型,即下拉式菜单和弹出式菜单,下拉式菜单系统中,通常有一个主菜单,其中包含若干个选择项.主菜单单每一项又可下拉出下一级子菜单.这么用一个个窗口形式弹出在屏幕上,它是经过菜单编辑器建立,其步骤以下:1) 选择要建立菜单窗体2) 从“工具”菜单中,选择“菜单编辑器”建立以下图所表示系统主菜单:图41 菜单编辑Chart 4-1 Menu edit基础信息输入基础信息输入菜单是让录入员输入和修改课程信息、班级信息、老师信息、教室信息基础数据,数据管理包含课程、班级
35、、老师、教室、课表数据查询,打印。班级信息中包含班级编号、班级名称、班级人数和添加、保留、查询、编辑、删除等功效。以下为班级信息界面:图42 班级信息界面Chart 4-2 Interface of class information 老师信息中包含老师编号、老师姓名、职称和添加、保留、查询。2.8 课程表生成2.8.1 班级课程表查询打印设计经过信息录入和复杂排课过程,最终到了生成课程表输出后期阶段,显示出完整课程表是我们最终目标。本系统是直接将课程表到入EXCEL表格中,使表格形式愈加美观,所用工具用户很熟悉。以下是班级课表查询界面:图43 班级课表查询界面Chart 4-3 Interf
36、ace of inquire class table经过输入确定班级编号,来搜索某一具体班级课程表。若你忘记班级编号,能够经过界面上班级编号和班级名称对照表查询班级编号。当确定好你所要查询班级后,点击“查询课程表”按钮,就能够查询该班课程表了。图44 班级课程表界面Chart 4-4 Interface of class table上图就是最终生成班级课程表。其关键代码以下:Private Sub Command1_Click() Dim strCourseID As String Dim strClassRoomID As String Dim i As Integer, j As Inte
37、ger If Combo1.Text = Then MsgBox 请输入要查询班级编号! Exit Sub End If strSQL = SELECT * FROM bTempTableA where classid= & Combo1.Text & order by ttime strtempsql = SELECT courseID,courseName FROM bCourse strclassroomsql = SELECT ClassRoomID,ClassRoomName FROM bclassroom ConenctToDatabase rst.Open strSQL, db,
38、 adOpenKeyset, adLockOptimistic temp.Open strtempsql, db, adOpenKeyset, adLockReadOnly classtemp.Open strclassroomsql, db, adOpenKeyset, adLockReadOnly If rst.RecordCount() 0 Then i = rst.RecordCount() Else MsgBox 无此信息,请重新输入! rst.Close temp.Close classtemp.Close Exit Sub End If Set xlapp = New Excel
39、.ApplicationSet xlbook = xlapp.Workbooks.Open(App.Path & 课程表模板.xlt) xlapp.Visible = True Set xlsheet = xlbook.Worksheets(班级课程表) xlsheet.Activate xlsheet.Cells(5, 1) = Combo1.Text & 级 xlsheet.Cells(5, 6) = Date While i 0 strCourseID = rst.Fields(courseID) temp.Filter = courseID = & strCourseID & strC
40、lassRoomID = rst.Fields(classroomID) classtemp.Filter = classroomID = & strClassRoomID & Select Case rst.Fields(Ttime) Case Is = 1 xlsheet.Cells(9, 3) = temp.Fields(coursename) xlsheet.Cells(11, 3) = classtemp.Fields(classroomName) Case Is = 2 xlsheet.Cells(13, 3) = temp.Fields(coursename) xlsheet.C
41、ells(15, 3) = classtemp.Fields(classroomName) Case Is = 3 xlsheet.Cells(17, 3) = temp.Fields(coursename) xlsheet.Cells(19, 3) = classtemp.Fields(classroomName) Case Is = 4 xlsheet.Cells(21, 3) = temp.Fields(coursename) xlsheet.Cells(23, 3) = classtemp.Fields(classroomName) Case Is = 5 xlsheet.Cells(
42、9, 4) = temp.Fields(coursename) xlsheet.Cells(11, 4) = classtemp.Fields(classroomName) Case Is = 6 xlsheet.Cells(13, 4) = temp.Fields(coursename) xlsheet.Cells(15, 4) = classtemp.Fields(classroomName) Case Is = 7 xlsheet.Cells(17, 4) = temp.Fields(coursename) xlsheet.Cells(19, 4) = classtemp.Fields(classroomName) Case Is = 8 xlsheet.Cells(21, 4) = temp.Fields(coursename) xlsheet.Cells(23, 4) = classtemp.Fields(classroomName) Case Is = 9 xlsheet.Cells(9, 5) = temp.