专业:信息管理与信息系统 小组成员:解玉龙 408105010210 杜小青 408105010126
安雪娇 408105010201
目录
一. 功能模块设计…………………………………………………1 二. 系统分析概述…………………………………………………2 (一) 系统分析的内容………………………………………2 (二) 系统的目标与任务……………………………………3 三. 详细调查……………………………………………………….3 四. 业务流程分析………………………………………………….7 五. 数据流程分析………………………………………………….8 六. 数据字典……………………………………………………….8
(1)数据项……………………………………………………..8 (2)数据结构…………………………………………………..9 (3)数据流……………………………………………………..9 (4)数据存储………………………………………………….10 (5)处理逻辑………………………………………………….10 (6)外部实体………………………………………………….11 七. 总结………………………………………………………….. 12
教师工作量系统
一. 功能模块设计
系统的总体结构图如下:
录入工作量信息 教师模块 查询工作量信息 主控模块 系部管理员模查询系部教师工作量 统计系部教师工作量 修订系部教师工作量 查询全校教师工作量 系统管理员模汇总全校教师工作量 修改全校教师工作量 数据的备份和维护
系统支持三类用户:系统管理员,系统管理员和普通教师。每类用户均需要通过相应的身份验证才能完成相应的系统功能。 1.教师模块
教师模块主要包括的功能是:每位教师(含实验人员)可以根据自己的工号录入和查询自己在理论教学,试验,实习课程设计,毕业论文指导,研究生指导,答辩,监考等工作量。 2.系统管理员模块 该模块的功能如下:
系统管理员可以查询所有教师的工作量情况。
系统管理员可以对系部教师工作量进行汇总,上报学校教务处。
系部根据自己的学科情况在遵守教务处有关文件精神的基础上对教师教学工作量计算进行适当的修订和折减,主要用于系部的课时费,各种奖金的发送。
3.系统管理员模块
系统管理员按照学校教务处有关文件的规定统计和修改全校教师的教学工作量,主要用于各种考评,检查,教师个人职称评定等。 可对系统的数据进行备份和维护
二.系统分析概述
(一)系统分析的内容
教师教学工作量是教师直接从事与教学相关工作的数量与质量的总构成,是衡量教师教学工作业绩的尺度,也是对教师进行考核的重要指标。
教师工作量统计具体来说包括课程工作量、指导实习工作量、指导论文工作量、评议论文工作量、监考工作量、补考阅卷工作量、命题工作量和其他工作量的统计。统计的关键在于数据的真实性与易取性。
在深化教育改革的过程中,科学合理的教师工作量统计方法是教学改革与人事分配制度改革的重要依据。因此采用科学、合理的计算方法对学校管理工作的建设和发展都有着重要的意义。我校现有排课系统,其中存储的数据是教师工作量统计所需的基础数据,但这在现有的工作流程中并没有得到充分的利用,这无疑形成了一种浪费。利用逐级式推动的统计管理方法,不仅效率低,还易造成不科学,不规范,不准确的弊病,而且不能为管理提供科学的依据。
信息技术的迅速发展,使计算机已经成为人们工作和生活中不可缺少的工具,现在人们越来越依靠计算机来实现自动化办公,应用计算机在数据处理和数据存储方面的优异性能, 可帮助工作人员提高工作的效率、减少错误。同时还能提供快速的查询检索功能以及按要求进行报表打印功能。为实现教师工作量统计工作的科学化,规范化,需要进行教师教学工作量计算机统计工作实现计算机化,从而减少中间环节,提高工作效率,降低统计人员的工作强度,使管理工作实现科学化。
(二)系统的目标与任务:
1.主要用于学院教学管理工作,因此要考虑设计成一个综合性的系统,能够适应教学考核,职位评定及新专业的学位申请,计算课酬和其他各项工作所需要教学量统计数据的支持。由于在软件设计时,不可能准确的预见未来所有的统计需求,因此需设计为一个组合查询统计模块来支持软件的功能。
2.因为教学工作量折算方法首先是遵照学校的有关规定,而目前学校的管理规定仍然处于不断的探索和优化中,因此将会不断的对折算方法和系数作出调整,所以要求本系统中的所有计算公式都必须设计成动态可修改,这样当计算方法发生变化后,不必修改系统源程序,只需由使用者重新定义相关的计算公式即可,这就必须要解决如何较直观的定义表达式并计算求职的问题。
3.对教学工作量的计算,学校有一系列具体规定,这些规定也是教学管理的重要依据,因此也必须在系统设计时加以考虑。
三.详细调查
教师工作量每学期统计一次,年底进行全年汇总,作为教师工作业绩考核和奖励的重要依据。石家庄经济学院的教师工作量统计工作到目前为止一直采用手工操作管理模式。每学期末教研室主任到教学秘书处领取《石家庄经济学院教师工作量登记表》,分发给教研室里的各位教师。教师根据自己的实际情况填写完毕后交给教研室主任审核签字,教研室主任统一核对签字完毕后交与教学秘书,教学秘书再根据存档资料对收到的登记表再次进行核对。若有不一致则返还给教研室主任,重复上述过程。核对一致后再手工输入《教师工作量汇总表》,交与有关部门存档。
这种统计管理方法是逐级推动式的,整个流程中涉及到的人员更多的是基于手工的、纸质资料的操作。纸质资料积累多了之后查询起来就会比较费力,更不必说对数据进行深层挖掘了。整个工作量统计过程中需要进行多重审核,一方面增加了教学秘书和教研室主任的工作负担,另一方面,也使得统计工作所需时间的延长。我校现有排课系统,其中存储的数据是教师工作量统计所需的基础数据,但这在现有的工作流程中并没有得到充分的利用,这无疑形成了一种浪费。这种逐级推动式的统计管理方法,不仅效率低,易造成不科学、不规范、不准确的弊病,而且不能为管理、决策提供科学的依据。
教师工作量计算公式和计算参数由教务处决定,其中公式是固定的,但计算参数可能会根据需要做一些调整。现行的计算方法与计算参数如下: 专业课的工作量计算方法为:学时*(1.25+人数/120); 基础课的计算方法为:学时*(1+人数/120)。 实习的工作量具体计算方法如下:
大一实习:天数*0.5*人数/20; 大二实习:天数*0.6*人数/20; 大三实习:天数*0.7*人数/20; 大四实习:天数*0.7*人数/20; 野外实习:天数*0.9*人数/20。
指导论文工作量计算:指导一份论文8个工作量。 评议论文工作量:评议一份论文1个工作量。 监考工作量:监考一次1个工作量。 补考阅卷工作量:一份0.1个工作量。 命题工作量:一份命题1个工作量。
教师工作量登记表
所在单位
工号
教师姓名 / 学年 第 学期
转储号 工作量合计 备注 理论课名称 课程性质 学时 上课时间 工作量 结课考 试人数 理论课工作量小计 实验课名称 地点 学时 人数 上课时间 工作量 实验课工作量小计 实 习 实习名称 实习地点 联系人 人 数 教师实际指导实习 工作量 起止日期及天数 一年级实习 二年级实习 三年级实习 四年级实习 野外踏勘 实习工作量小计 指导毕业论文(设计) 份数 评议毕业论文(设计) 份数 指导毕业论文(设计)工作量 评议毕业论文(设计)工作量 监考工作量 阅卷工作量 命题工作量 监考次数 补考阅卷份数 命题份数 其他工作 年 月 本人签字: 日 年 月 教研室主任签字: 日 年 月 单位领导签字:
日
四.业务流程分析
院系 教学任务计划 发送
五.数据流程分析
教师 发送 填制 工作量 未通过表 教务审核 通过表 打印 工作量
教学任务 院系 P1 发送 教师 P2 计算工作量 D1 工作量表 D2 未通过表 P3 审核 教务处 P4 打印保存 D3 工作量表 六.数据字典
(1)数据项 数据项名称:教师编号 总编号:1-101 数据项编号:101 有关编码说明: 别名:teacher-no 简要说明:本校教师编码 x x x x x x 类型及长度:数字型。6位 数据值类型:(连续/离散)离散 序列号 院系代码 就职年份 (2)数据结构
数据结构名称:教学任务 总编号:2-01 数据结构编号:01 数据量:约xx份/年 简要说明:新学期下发给教师的教学任务 数据结构组成: 下发时间 姓名 性别 教师编号 出生日期 就职日期 民族
家庭住址 (3)数据流
数据流名称:教师工作量表 数据流编号:08 总编号:3-08 简要说明:学期结束后任课老师填写的工作量表 数据流量:800份/学期 数据流来源:任课老师 数据流去向:P2,P3 数据流组成: 课程名称 任课老师 日期
(4)数据存储
(5)处理逻辑
处理逻辑名称:工作量统计审核 总编号:2-03 处理逻辑编号:12 数据量:XX份/学期 简要说明:教务处审核教师填制的工作量表是否准确属实 输入数据流:工作量表 处 理:查看审核教师填制的工作量表,若审核不通过, 则返回教师重新填写;审核通过则保存并打印。 输出数据流:工作量表 数据存储名称:工作量存储表 总编号:4-15 数据存储编号:15 相关联的处理 简要说明:按教师编号汇总各学期工作量 数据存储组成: 姓名 编号 汇总时间 工作量名称 理论 实验 实习 (6)外部实体
外部实体名称:院系 外部实体编号:01 总编号:6-01 简要说明: 数量:约xx个 输入的数据流: 输出的数据流:教学任务
外部实体名称:教师 外部实体编号:01 总编号:6-11 简要说明: 数量:约xx个 输入的数据流:教学计划 输出的数据流:工作量表
外部实体名称:教务处 外部实体编号: 总编号:6-21 简要说明: 数量:1个 输入的数据流:工作量表 输出的数据流:工作量表
七.总结
高校教务管理工作是高等教育中的一个极为重要的环节,是整个院校管理的核心
和基础。教师工作量管理是教务管理中不可缺少的部分,面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对教务管理工作中的工作量管理提出了更高的要求。尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。
教师教学工作量管理系统实现了教学任务,教学计划的下达,上交的网络管理,同时通过教学任务的管理又方便的实现了各个院系教师教学工作量的统计,具有技术先进,管理科学,性能良好等特点,实现了教师教学工作量管理的办公自动化。为领导决策层提供更加准确可靠的分析数据,促进学习教学管理工作的建设和改革。
教师工作量计算系统设计
闪现窗体截屏
代码
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
Private Sub Timer1_Timer() Label1.Left = Label1.Left + 1000 End Sub
Private Sub Timer2_Timer()
Unload Me 系统说明.Show End Sub
系统说明窗体截屏
代码
Option Explicit
Sub ChangeColor(Ctl As Control, Color1 As Integer, Color2 As Integer, Color3 As Integer, Color4 As Integer)
' 改变字体颜色
If Val(Ctl.Tag) = Color1 Then Ctl.Tag = Color2
ElseIf Val(Ctl.Tag) = Color2 Then
Ctl.Tag = Color3
ElseIf Val(Ctl.Tag) = Color3 Then Ctl.Tag = Color4
ElseIf Val(Ctl.Tag) = Color4 Then Ctl.Tag = Color1 Else
Ctl.Tag = Color1 End If
Ctl.ForeColor = QBColor(Ctl.Tag) End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
Private Sub Timer1_Timer()
If Label1.Left < Me.Width Then '从左到右滚动 Label1.Left = Label1.Left + 100 ElseIf Label1.Left > Me.Width Then Label1.Left = -Label1.Width End If
Call ChangeColor(Label1, 1, 3, 5, 9) '调用自定义函数,改变文字颜色
Label2.Left = Label2.Left - 100 '从右到左滚动 If Label2.Left < -Label2.Width Then Label2.Left = Me.ScaleWidth End If
Call ChangeColor(Label2, 1, 3, 5, 9) '调用自定义函数,改变文字颜色
Label3.Top = Label3.Top - 100 '从下往上滚动 If Label3.Top < -Label3.Height Then Label3.Top = Picture1.ScaleHeight End If End Sub
Private Sub Timer2_Timer() Unload Me 主窗体.Show End Sub 主窗体截屏
代码
Private Sub ActiveBar21_ToolClick(ByVal Tool As ActiveBar2LibraryCtl.Tool) AlignToForm = True Select Case Tool.Name
Case \"系统登录\" 欢迎界面.Show Case \"密码修改\" 密码修改.Show Case \"数据备份和恢复\" 数据备份和恢复.Show Case \"退出\" Unload Me 提示信息.Show Case \"连接数据库\" 连接服务器.Show End Select End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
欢迎登录窗体截屏
代码
Private Sub Command2_Click() Unload Me
管理员登录窗体.Show End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
Private Sub 登录窗体_Click() Unload Me
教师登录窗体.Show End Sub
教师登录窗体截屏
代码
Private Sub Command1_Click()
If Trim(Combo2.Text) = \"\" Then
MsgBox \"请输入用户名!\用户名要填写\" Combo2.SetFocus Else
If Text1.Text = \"\" Then
MsgBox \"请输入密码!\密码为空!\" Else Unload Me 计算工作量.Show End If End If End Sub
Private Sub Form_Load()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordsetcnn.ConnectionString = \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=教师工作量;Data Source=ERP47\" cnn.Open
rst.Open \"select * from 教师表\rst.MoveFirst Do While Not rst.EOF
Combo2.AddItem rst.Fields(\"教师姓名\").Value rst.MoveNext Loop
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
计算工作量窗体截屏
代码
Private Sub Command10_Click() Combo10.Text = \"\" Combo11.Text = \"\" Combo12.Text = \"\" Combo13.Text = \"\" Combo14.Text = \"\" Text7.Text = \"\" Text2.Text = \"\" Text3.Text = \"\" Text8.Text = \"\" Text9.Text = \"\" Text10.Text = \"\" End Sub
Private Sub Command2_Click() Dim xlswrs As Excel.Worksheet
Set xlsapp = CreateObject(\"excel.application\") xlsapp.Visible = True
Set xlswrb = xlsapp.Workbooks.Add Set wksheet = xlswrb.Sheets(1) wksheet.Name = \"工作量登记表\"
'设置表头 wksheet.Cells(1, 1).Value = \"石家庄经济学院教师工作量登记表 \" wksheet.Range(\"a1\").Font.Name = \"宋体\" wksheet.Range(\"a1\").Font.Size = 16 wksheet.Range(\"a1\").Font.Bold = True wksheet.Rows(\"1\").RowHeight = 33
wksheet.Range(\"a1\").HorizontalAlignment = xlCenter '文字水平居中\" wksheet.Range(\"a1\").VerticalAlignment = xlCenter '文字垂直居中
'合并单元格
wksheet.Range(\"d2:f2,a20:e20,b21:c21,b22:c22,d21:e21,d22:e22,b23:e23,d23:e23\").MergeCells = True
wksheet.Range(\"a1:f1,b26:f26,a13:e13,a20:e20\").MergeCells = True
'设置表格中的字体格式
With wksheet
.Range(\"a3,b3,c3,d3,e3,f3,a5,b5,c5,d5,e5,f5,a13,a14,b14,c14,d14,e14,f14,a26,a27,b27,c27,d27,e27,f27 \").Font.Name = \"宋体\"
.Range(\"a3,b3,c3,d3,e3,f3,a5,b5,c5,d5,e5,f5,a13,a14,b14,c14,d14,e14,f14,a26,a27,b27,c27,d27,e27,f27 \").Font.Size = 11
.Range(\"a3,b3,c3,d3,e3,f3,a5,b5,c5,d5,e5,f5,a13,a14,b14,c14,d14,e14,f14,a20,a26,a27,b27,c27,d27,e27,f27 \").Font.Bold = True .Range(\"a32\").Font.Size = 12 End With
wksheet.Cells.HorizontalAlignment = xlCenter '全部文字水平居中\" wksheet.Cells.VerticalAlignment = xlCenter '全部文字垂直居中
'设置行高 With wksheet
.Rows(\"2\").RowHeight = 18.75 .Rows(\"3\").RowHeight = 24 .Rows(\"4\").RowHeight = 21 .Rows(\"5:13\").RowHeight = 27.75 .Rows(\"14\").RowHeight = 15.75 .Rows(\"14\").RowHeight = 15.75 .Rows(\"15:26\").RowHeight = 27.75 .Rows(\"27\").RowHeight = 36.75 .Rows(\"28:29\").RowHeight = 30 .Rows(\"26\").RowHeight = 172.5 End With
'设置列宽
With wksheet
.Columns(\"A\").ColumnWidth = 21.38
.Columns(\"B\").ColumnWidth = 9.13 .Columns(\"C\").ColumnWidth = 8 .Columns(\"D\").ColumnWidth = 8.13 .Columns(\"E\").ColumnWidth = 19.38 .Columns(\"F\").ColumnWidth = 10.75 End With
'设置部分单元格内容为文本格式 wksheet.Range(\"b4,d4\").Select
xlsapp.Selection.NumberFormatLocal = \"@\"
'设置工作量为两位小数
wksheet.Range(\"e4,f6:f13,f15:f26,f28:f33\").Select xlsapp.Selection.NumberFormatLocal = \"0.00_ \"
'为单元格设置边框
wksheet.Range(\"A3:F29\").Select
xlsapp.Selection.Borders(xlDiagonalDown).LineStyle = xlNone xlsapp.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With xlsapp.Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
With xlsapp.Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
With xlsapp.Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
With xlsapp.Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
With xlsapp.Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
With xlsapp.Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin
.ColorIndex = xlAutomatic End With
wksheet.Range(\"a2\").Select
With wksheet
.Cells(2, 4).Value = \"/ 学年 第 学期 \" .Cells(3, 1).Value = \"所在单位\" .Cells(3, 2).Value = \"工号\" .Cells(3, 3).Value = \"教师姓名\" .Cells(3, 4).Value = \"转储号\" .Cells(3, 5).Value = \"工作量合计\"
'填写表格中信息 .Cells(3, 6).Value = \"备注\" .Cells(5, 1).Value = \"课程性质\" .Cells(5, 2).Value = \"结果人数\" .Cells(5, 3).Value = \"天数\" .Cells(5, 4).Value = \"学时\" .Cells(5, 5).Value = \"参数\" .Cells(5, 6).Value = \"工作量\"
.Cells(13, 1).Value = \"课程工作量小记\" .Cells(14, 1).Value = \"实习名称\" .Cells(14, 2).Value = \"实习人数\" .Cells(14, 3).Value = \"实习天数\" .Cells(14, 4).Value = \"\" .Cells(14, 5).Value = \"参数\" .Cells(14, 6).Value = \"工作量\" .Cells(15, 1).Value = \"一年级实习\" .Cells(16, 1).Value = \"二年级实习\" .Cells(17, 1).Value = \"三年级实习\" .Cells(18, 1).Value = \"四年级实习\" .Cells(19, 1).Value = \"野外踏勘\" .Cells(20, 1).Value = \"实习工作量小计\"
.Cells(21, 1).Value = \"指导毕业论文(设计)\" & Chr(10) & \"份数\" .Cells(21, 4).Value = \"指导毕业论文(设计)工作量\"
.Cells(22, 1).Value = \"评议毕业论文(设计)\" & Chr(10) & \"份数\" .Cells(22, 4).Value = \"评议毕业论文(设计)工作量\" .Cells(23, 1).Value = \"监考次数\" .Cells(23, 4).Value = \"监考工作量\" .Cells(24, 1).Value = \"补考阅卷份数\" .Cells(24, 4).Value = \"阅卷工作量\" .Cells(25, 1).Value = \"命题份数\" .Cells(25, 4).Value = \"命题工作量\"
.Cells(26, 1).Value = \"其他工作\" .Cells(27, 1).Value = \"本人签字:\"
.Cells(27, 5).Value = \" 年 月 日\" .Cells(28, 1).Value = \"教研室主任签字:\"
.Cells(28, 5).Value = \" 年 月 日\" .Cells(29, 1).Value = \"单位领导签字:\"
.Cells(29, 5).Value = \" 年 .Cells(6, 1).Value = Combo1.Text .Cells(6, 2).Value = Combo2.Text .Cells(6, 3).Value = Combo4.Text .Cells(6, 4).Value = Combo5.Text .Cells(6, 5).Value = Combo6.Text .Cells(6, 6).Value = Text5.Text .Cells(15, 2).Value = Combo7.Text .Cells(15, 3).Value = Combo8.Text .Cells(15, 5).Value = Combo9.Text .Cells(15, 6).Value = Text6.Text .Cells(21, 2).Value = Combo10.Text .Cells(21, 6).Value = Text2.Text .Cells(22, 2).Value = Combo11.Text .Cells(22, 6).Value = Text3.Text .Cells(23, 2).Value = Combo12.Text .Cells(23, 6).Value = Text8.Text .Cells(24, 2).Value = Combo13.Text .Cells(24, 6).Value = Text9.Text .Cells(25, 2).Value = Combo14.Text .Cells(25, 6).Value = Text10.Text End With
月 日\"
End Sub
Private Sub Command3_Click() Unload Me 欢迎界面.Show End Sub
Private Sub Command5_Click()
Text5.Text = Val(Combo5.Text) * (Val(Combo6.Text) + Val(Combo2.Text) / 120) End Sub
Private Sub Command6_Click() Combo1.Text = \"\" Combo2.Text = \"\" Combo4.Text = \"\" Combo5.Text = \"\" Combo6.Text = \"\" Text5.Text = \"\" End Sub
Private Sub Command8_Click() Combo3.Text = \"\"
Combo7.Text = \"\" Combo8.Text = \"\" Combo9.Text = \"\" Text6.Text = \"\" End Sub
Private Sub Command9_Click()
Text7.Text = Val(Combo10.Text) * 8 + Val(Combo11.Text) * 1 + Val(Combo12.Text) * 1 + Val(Combo13.Text) * 0.1 + Val(Combo14.Text) * 1 Text2.Text = Val(Combo10.Text) * 8 Text3.Text = Val(Combo11.Text) * 1 Text8.Text = Val(Combo12.Text) * 1 Text9.Text = Val(Combo13.Text) * 0.1 Text10.Text = Val(Combo14.Text) * 1 End Sub
Private Sub Form_Load()
Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset
cnn.ConnectionString = \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=教师工作量;Data Source=ERP47\" cnn.Open
rst.Open \"select * from 课程计算表,实习计算表,其他工作量\cnn, adOpenDynamic, adLockOptimistic rst.MoveFirst Do While Not rst.EOF
Combo1.AddItem rst.Fields(\"课程性质\").Value Combo2.AddItem rst.Fields(\"结课人数\").Value Combo4.AddItem rst.Fields(\"天数\").Value Combo5.AddItem rst.Fields(\"学时\").Value
Combo6.AddItem rst.Fields(\"参数\").Value Combo3.AddItem rst.Fields(\"实习名称\").Value Combo7.AddItem rst.Fields(\"实习人数\").Value Combo8.AddItem rst.Fields(\"实习天数\").Value Combo9.AddItem rst.Fields(\"参数\").Value
Combo10.AddItem rst.Fields(\"指导论文数量\").Value Combo11.AddItem rst.Fields(\"评议论文数量\").Value Combo12.AddItem rst.Fields(\"监考次数\").Value Combo13.AddItem rst.Fields(\"补考阅卷份数\").Value Combo14.AddItem rst.Fields(\"命题份数\").Value rst.MoveNext Loop
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
Private Sub Command7_Click()
Text6.Text = Val(Combo8.Text) * (Val(Combo9.Text) + Val(Combo7.Text) / 120) End Sub
生成的Excel表截屏
管理员登录窗体
代码
Private Sub Command1_Click()
If Trim(Text1.Text) = \"\" Then
MsgBox \"请输入用户名!\用户名要填写\" Text1.SetFocus Else
If Text1.Text <> \"admin\" Then
MsgBox \"用户名不正确,请重新输入!\" Text1.Text = \"\": Text2.Text = \"\": Text1.SetFocus Else
If Text2.Text = \"\" Then
MsgBox \"请输入密码!\密码为空!\" Else
If Text2.Text = \"010101\" Then 系统管理员操作.Show Unload Me Else
MsgBox \"密码错误!请重新输入!\" End If End If End If End If End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
系统管理员操作窗体截屏
代码
Private Sub Command1_Click(Index As Integer)
Adodc1.RecordSource = \" select * from 课程计算表\" Adodc1.Refresh Adodc1.ConnectionString ID=sa;Initial '连接数据库
Set DataGrid1.DataSource = Adodc1 End Sub
密码修改窗体截屏
Catalog=
=
\"Provider=SQLOLEDB.1;Persist 教
师
工
作
量
Security ;Data
Info=False;User
Source=ERP47\"
代码
Private Sub Command1_Click() If Text1.Text = \"\" Then
MsgBox \"请输入原始密码!\提示\"
Text1.Text = \"\": Text2.Text = \"\": Text3.Text = \"\": Text1.SetFocus Else
If Text1.Text <> \"010101\" Then
MsgBox \"输入的原始密码无效,你无权更改密码!\警告!\" Else
If Text2.Text = \"\" Then MsgBox \"请输入新密码!\" Text2.SetFocus Else
If Text3.Text = \"\" Then
MsgBox \"请再输入一遍新密码!\提示\" Else
If Text2.Text <> Text3.Text Then
MsgBox \"两次输入的密码不一致,请重新输入!\提示信息\"
Text2.Text = \"\": Text3.Text = \"\": Text2.SetFocus Else p = 1
m0 = Text3.Text
If MsgBox(\"密码修改成功!请重新登陆\") = 1 Then Unload Me 主窗体.Show End If End If End If End If End If End If End Sub
Private Sub Command2_Click() Unload Me End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
连接服务器窗体截屏
代码
Option Explicit
Dim oSQLServerDMOApp As SQLDMO.Application Dim oSQLServer As SQLDMO.SQLServer
Private Sub cboServer_Click() On Error GoTo ErrorHandler
'Disconnect from the server if connected If Not oSQLServer Is Nothing Then oSQLServer.Disconnect Set oSQLServer = Nothing End If
'Connect to the server
Set oSQLServer = New SQLDMO.SQLServer With oSQLServer .LoginTimeout = 10 .Name = cboServer.Text .LoginSecure = True .Connect End With
Exit Sub
ErrorHandler:
Select Case Err.Number
Case -2147221504 'Server is most likely not started 'Attempt to start the server
oSQLServer.Start False, cboServer.Text 'Connect to the server With oSQLServer .LoginTimeout = 10 .Name = cboServer.Text .LoginSecure = True .Connect End With Case Else
MsgBox Err.Description End Select End Sub
Private Sub cboServerGroup_Click()
Dim oRegisteredServer As SQLDMO.RegisteredServer Dim oServerGroup As SQLDMO.ServerGroup
Set oSQLServerDMOApp = New SQLDMO.Application Set oRegisteredServer = New SQLDMO.RegisteredServer
Set oServerGroup = oSQLServerDMOApp.ServerGroups(cboServerGroup.Text) cboServer.Clear
cboServer.AddItem \"(local)\"
For Each oRegisteredServer In oServerGroup.RegisteredServers cboServer.AddItem oRegisteredServer.Name
Next
cboServer.ListIndex = 0
Set oSQLServerDMOApp = Nothing RefreshStatus End Sub
Private Sub cmdRefresh_Click() RefreshStatus End Sub
Private Sub Form_Load() Dim i As Integer
'Use the SQL DMO Application Object to find the available SQL Servers Set oSQLServerDMOApp = New SQLDMO.Application 'Look for the registered server groups Dim oServerGroup As SQLDMO.ServerGroup
For Each oServerGroup In oSQLServerDMOApp.ServerGroups cboServerGroup.AddItem oServerGroup.Name Next
cboServerGroup.ListIndex = 0 Set oSQLServerDMOApp = Nothing RefreshStatus End Sub
Private Sub Timer1_Timer() RefreshStatus End Sub
Private Sub cmdStartContinue_Click() On Error GoTo ErrorHandler
If oSQLServer.Status = SQLDMOSvc_Paused Then oSQLServer.Continue Else
oSQLServer.Start False, cboServer.Text End If RefreshStatus Exit Sub
ErrorHandler:
MsgBox Err.Description End Sub
Private Sub cmdPause_Click() On Error GoTo ErrorHandler
If oSQLServer.Status = SQLDMOSvc_Running Then oSQLServer.Pause End If RefreshStatus Exit Sub
ErrorHandler:
MsgBox Err.Description End Sub
Private Sub cmdStop_Click() On Error GoTo ErrorHandler
If oSQLServer.Status = SQLDMOSvc_Running Then oSQLServer.Stop End If RefreshStatus
Exit Sub
ErrorHandler:
MsgBox Err.Description End Sub
Private Sub RefreshStatus() '
cboServices.Clear
cboServices.AddItem \"SQL Server\" cboServices.ListIndex = 0
SQLServerStatus oSQLServer End Sub
Private Sub SQLServerStatus(oSQLServer As SQLDMO.SQLServer) On Error GoTo ErrorHandler Dim sServerName As String sServerName = cboServer.Text
'The server is disconnected or not running If oSQLServer Is Nothing Then Exit Sub End If
Select Case oSQLServer.Status
'SQLDMOSvc_Continuing = 6 Service execution state in transition from paused to running Case SQLDMOSvc_Continuing
sbrStatus.SimpleText = sServerName & \" - Continuing\" Set imgStatus.Picture = ImageList1.ListImages(0).Picture
'SQLDMOSvc_Paused = 2 Service execution is paused Case SQLDMOSvc_Paused
sbrStatus.SimpleText = sServerName & \" - Paused\" cmdStartContinue.Enabled = True cmdPause.Enabled = False cmdStop.Enabled = True
Set imgStatus.Picture = ImageList1.ListImages(3).Picture
'SQLDMOSvc_Pausing = 7 Service execution state in transition from running to paused Case SQLDMOSvc_Pausing
sbrStatus.SimpleText = sServerName & \" - Pausing\" Set imgStatus.Picture = ImageList1.ListImages(3).Picture
'SQLDMOSvc_Running = 1 Service is running Case SQLDMOSvc_Running
sbrStatus.SimpleText = sServerName & \" - Running\" cmdStartContinue.Enabled = False cmdPause.Enabled = True cmdStop.Enabled = True
Set imgStatus.Picture = ImageList1.ListImages(1).Picture
'SQLDMOSvc_Starting = 4 Service execution state in transition from stopped to running Case SQLDMOSvc_Starting
sbrStatus.SimpleText = sServerName & \" - Starting\" Set imgStatus.Picture = ImageList1.ListImages(1).Picture
'SQLDMOSvc_Stopped = 3 Service is stopped Case SQLDMOSvc_Stopped
sbrStatus.SimpleText = sServerName & \" - Stopped\" cmdStartContinue.Enabled = True cmdPause.Enabled = False cmdStop.Enabled = False
Set imgStatus.Picture = ImageList1.ListImages(2).Picture
'SQLDMOSvc_Stopping = 5 Service execution state in transition from running to stopped Case SQLDMOSvc_Stopping
sbrStatus.SimpleText = sServerName & \" - Stopping\" cmdStartContinue.Enabled = True cmdPause.Enabled = False cmdStop.Enabled = False
Set imgStatus.Picture = ImageList1.ListImages(2).Picture
'SQLDMOSvc_Unknown = 0 Unable to determine service execution state Case SQLDMOSvc_Unknown
sbrStatus.SimpleText = sServerName & \" - Unknown\" Set imgStatus.Picture = ImageList1.ListImages(3).Picture End Select Exit Sub
ErrorHandler:
MsgBox sServerName & \": \" & Err.Description End Sub
Private Sub Form_Unload(Cancel As Integer) If oSQLServer.Status = SQLDMOSvc_Running Then 'Disconnect from the server
oSQLServer.Disconnect 'and clean up
Set oSQLServer = Nothing Set imgStatus.Picture = Nothing End If End Sub
数据备份与恢复窗体截屏
代码
Option Explicit
Dim con As New ADODB.Connection Dim sql As String
Private Sub Command1_Click()
CommonDialog1.Filter = \"备份文件(*.bak)|*.bak|文本文件(*.txt)|*.txt|ALL File(*.*)|*.*\" CommonDialog1.ShowSave
Text1.Text = CommonDialog1.FileName End Sub
Private Sub Command2_Click()
CommonDialog2.Filter = \"备份文件(*.bak)|*.bak|文本文件(*.txt)|*.txt|ALL File(*.*)|*.*\" CommonDialog2.ShowOpen
Text2.Text = CommonDialog2.FileName
End Sub
Private Sub Command3_Click() If Text1.Text = \"\" Then
MsgBox \"请您选择数据库备份的路径!\提示信息\" Else
con.ConnectionString = \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=教师工作量\" con.Open
sql = \"backup DATABASE 教师工作量 TO disk='\" & Text1.Text & \"'\" con.Execute (sql) con.Close
MsgBox \"数据库备份成功!\提示信息\" End If End Sub
Private Sub Command5_Click() On Error GoTo err1 If Text2.Text = \"\" Then
MsgBox \"请您选择数据库恢复的路径!\提示信息\" Else
con.Open \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master\"
sql = \"RESTORE DATABASE 教师工作量 from disk='\" & Text2.Text & \"'\" con.Execute (sql)
MsgBox \"数据库恢复成功!!\提示信息\" End If Exit Sub err1:
MsgBox Err.Description
con.Close End Sub
Private Sub Command6_Click() Unload Me End Sub
Private Sub Command4_Click() Unload Me End Sub
添加数据窗体截屏
代码
Dim c As String
Private Sub Command1_Click()
If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveLast
Text1(0).Text = Format((Val(Right(Trim(Adodc1.Recordset.Fields(\"教师编码\")), 4)) + 1), \"000000\") End If
End Sub
Private Sub Command2_Click() Dim Conn As ADODB.Connection Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Set Conn = New ADODB.Connection
ConnStr = \"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=教师工作量;Data Source=ERP47\" '这是连接SQL数据库的语句 Conn.Open ConnStr
rs.Open \"教师表\ For i = 0 To Text1.UBound If Text1(i).Text = \"\" Then
MsgBox \"输入的信息不许为空!\信息提示\" Text1(0).SetFocus Exit Sub End If Next i
If Adodc1.Recordset.RecordCount > 1000 Then
MsgBox \"该信息已经存在,信息保存不成功\保存信息提示\" Else
c = MsgBox(\"您确认要保存该信息吗?\保存信息提示\") If c = vbOK Then
If Text1(1).Text = \" \" Then
MsgBox \"教师的教师姓名\保存信息提示\" Else
rs.AddNew For i = 0 To Text1.UBound rs.Fields(i) = Text1(i) Next i rs.Update
rs.Close Adodc1.Refresh DataGrid1.Refresh
MsgBox \"数据保存成功!\提示\" End If End If End If End Sub
Private Sub Form_Load()
Adodc1.RecordSource = \" select * from 教师表 order by 教师编码 \" Adodc1.Refresh Adodc1.ConnectionString ID=sa;Initial '连接数据库
Adodc1.RecordSource = \"select * from 教师表\" Set DataGrid1.DataSource = Adodc1 End Sub
Private Sub Command3_Click() Unload Me End Sub
提示信息窗体截屏
Catalog=
=
\"Provider=SQLOLEDB.1;Persist 教
师
工
作
量
Security ;Data
Info=False;User
Source=ERP47\"
代码
Private Sub Command1_Click() '退出系统 End End Sub
Private Sub Command2_Click() '取消操作 Unload Me End Sub
系统设计心得体会
教师工作量系统设计通过了软件和硬件上的调试,我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教师工作量计算系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,
这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我们今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名信息管理与信息系统专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获应该说是相当大的。一开始我们选定了课题,但是后来发现很多程序都不是我们想象中的那么简单,这让我们伤透了脑筋。调试程序经常出现问题,无法达到预期想要的结果。设计这种东西最后还是要靠自己动脑筋,然后我们大家一起齐心协力,从平时做的实验、老师上课的举例、书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务