李伟乔 - 基于Excel的学生成绩管理系统设计(2) - 图文(3)
Application.CommandBars(3).Visible = True Application.CommandBars(4).Visible = True
End Sub
3 各功能模块设计及相应窗体
应用计算机进行信息处理时,需要将手工数据进行编码或规范化,以方便计算机快速查找。由于系统相对繁琐,整体设计出现问题不方便查找改错。基于模块化设计的优点,内聚高、外聚少,出错很容易查找,每一个模块自我包含、自我实现,方便管理。但模块的存在与划分必须以系统平台的整体功能作为前提,做到有层次感、结构感和整体性。
3.1 基础资料模块设计
基础资料模块的设计包含其窗体的设计及相应的代码实现,这里只用到教师的姓名,窗体界面只需录入教师姓名即可,并将删除、保存功能统一在一个窗体方便管理。 3.1.1 窗体设计
窗体界面如图3—1所示。
图3—1 教师名称窗体
在“教师名称”窗体中,左边放置一个列表框,显示教师姓名,单击“添加”按钮将文本框中输入的内容添加到列表框中;选中列表框中的项目后,单击“删除”按钮可删除该项。为了方便管理,将“增加”“删除”等功能都集中于一个窗体,并设有“保存”功能。设置“增加”按钮的Default属性为True,则在该窗体中按Enter键时,将触发该按钮的单击事件;设置“退出”按钮的Cancel属性为True,按Esc键时,将触发该按钮的单击事件。 3.1.2 代码设计
该窗体的代码首先将已有教师的资料显示出来,然后通过对窗体上控件的操作,可完成数据的添加、删除、修改等操作。
首先,在窗体中设置一个模块级变量bSave,当对数据进行了修改(增加或删除),就设置该变量为True,表示需要保存数据。
Dim bSave As Boolean ’保存数据标志
其次,在窗体初始化时,将“基础数据”表中的教师名称添加到列表框中,可通过一下代码实现:
Private Sub UserForm_Initialize()
Dim intRow As Integer, i As Integer
8
With Sheets(\基础数据\
intRow = .[A65536].End(xlUp).Row If intRow < 3 Then Exit Sub For i = 3 To intRow
ListBox1.AddItem .Cells(i, 1) Next End With End Sub
单击“增加”按钮时,将文本框中的内容添加到列表框中。 Private Sub cmdAdd_Click()
Dim i As Integer, strXm As String strXm = Trim(txtXm.Value) If strXm = \
MsgBox \请输入教师姓名!\学生成绩管理系统\ Exit Sub End If
For i = 0 To ListBox1.ListCount - 1 If ListBox1.List(i) = strXm Then
MsgBox \已有教师:“\”的数据!\ vbInformation + vbOKOnly, \学生成绩管理系统\ Exit Sub End If Next
ListBox1.AddItem strXm txtXm.SetFocus txtXm.Value = \ bSave = True End Sub
程序首先对文本框中输入的内容进行判断,如果为空就返回,不添加内容。并对输入的内容比较,如列表框中已有相同的内容,则不添加;若有新的数据添加到列表框后,应将bSave变量置为True,表示有数据需要保存。
“删除”按钮代码:
Private Sub cmdDel_Click()
If ListBox1.ListIndex >= 0 Then ’如果选择了列表框中的项目 ListBox1.RemoveItem ListBox1.ListIndex ’删除选中的项目 bSave = True ’设置需要保存的标志 End If End Sub
“保存”按钮功能实现代码: Private Sub cmdSave_Click() Dim i As Integer
With Sheets(\基础数据\
If ListBox1.ListCount <= 0 Then Exit Sub ’如果列表中没内容,则退出 For i = 0 To ListBox1.ListCount – 1 ’将列表框中的内容逐步写到工作表中 .Cells(i + 3, 1) = ListBox1.List(i) Next End With
bSave = False ’清楚需要保存标志
9
End Sub
“退出”按钮功能实现:
Private Sub cmdQuit_Click() If bSave Then
If MsgBox(\新增加的教师姓名还未保存。\是否保存?\
vbQuestion + vbYesNo + vbDefaultButton1, \学生成绩管理系统\= vbYes Then cmdSave_Click End If End If
Unload Me ’释放窗体 End Sub
单击“退出”按钮时,程序将判断bSave变量,如果其值为True,则表示有数据需要被修改而没有保存,将弹出消息提示,让用户选择是否存盘。
3.2 学期初始化模块设计
同样,学期初始化模块也应具有其操作窗体界面,但对其课程的安排需对课程和教师姓名同时进行管理,其代码相对繁琐,下面在保存功能方面有具体说明。 3.2.1 当前学期设置
通过该子模块设置系统当前操作的学期,后面的课程安排、导入成绩、查询成绩都以此为基础,不再处理其他学期的资料。设置代码与前面所用代码基本相同,并相对简单,这里不做详细的介绍。其窗口界面如图3—2所示。
图3—2 当前学期设置窗体
3.2.2 班级课程安排
班级课程安排模块用来设置各班本学期的课程及任课老师,为后面创建成绩分发表提供数据。窗体界面我们设置左边列表框的ColumnCount属性为2,即列表框显示两列,分别显示课程名称和授课教师姓名。如图3—3所示。
10
图3—3 班级课程安排窗体
代码方面,前面的下拉菜单、增加、删除功能实现已在基础资料模块窗体设计中进行了详细说明,这里只对课程设置的保存功能做下详细介绍,其保存工作流程图如图3—4所示:
开始在“班级课程表”中查找班级找到?是删除本学期原有数据添加本学期课程安排数据结束否添加本学期课程安排数据 图 3—4 保存流程图 完成该功能的代码如下:
Private Sub cmdSave_Click()
Dim i As Integer, j As Integer
Dim intColumn As Integer, intRow As Integer '班级课程表中的行数 With Sheets(\班级课程表\
intColumn = .[IV1].End(xlToLeft).Column ’获取班级课程表的数据列数 For i = 1 To intColumn Step 3
If .Cells(1, i) = strBj Then Exit For ’在班级课程表中查找班级 Next
If i > intColumn Then '班级课程表中没有该班 i = intColumn + 3 .Cells(1, i) = strBj .Cells(2, i) = \学期\ .Cells(2, i + 1) = \课程\ .Cells(2, i + 2) = \教师\
11
intRow = 3
Else '班级课程表中已有该班 intRow = .Cells(65536, i).End(xlUp).Row End If
If intRow > 3 Then '删除原有数据
For j = intRow To 3 Step -1
If .Cells(j, i) = strXq Then .Range(.Cells(j, i), . …… 此处隐藏:2175字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




