电子教务管理系统毕业设计
摘 要 i
Abstract ii
第一章 引言 1
1.1 背景 1
1.1.1电子教务管理系统 1
1.2开发电子教务管理系统的目的和原则 3
1.3开发环境介绍 3
1.3.1 开发平台 4
1.3.2数据库设计工具——ACCESS数据库管理系统 7
第二章 系统设计 9
2.1 系统分析 9
2.2 系统流程和操作方式设计 11
第三章 系统界面设计 12
3.1系统界面设计以及代码分析 12
第四章 数据库的设计 30
4.1数据库设计 30
4.2 数据库概念和发展 30
4.3系统测试与评价 38
总 结 39
致 谢 40
参考文献 41
第一章 引言
对于一个学校来说,大量教师信息,学生管理信息,教职工日常工资管理,学生成绩管理,以及学生评语的生成还有基本数据的维护都难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理这些日常管理.电子教务管理系统是管理信息系统的一个典型用例.
1.1背景
1.1.1电子教务管理系统
开发电子教务管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教务管理实践活动两者之间架设桥梁。
1.2开发电子教务管理系统的目的和原则
电子教务系统只要服务于高校管理者方便管理本校教职员工,学生的基本信息如教师工资福利,学生成绩信息学籍管理等.
1.3开发环境介绍
1.3.1开发平台
本电子教务管理系统的开发平台为微软windows xp visual basic 6.0 以及微软的Access作为操作数据库.
1.3.2数据库设计工具——ACCESS数据库管理系统
Microsoft Access介绍:
使用Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
第二章 系统设计
2.1 系统分析
本电子教务管理系统主要由以下几大模块构成.
一. 通用模块(教工信息管理,学生信息管理,评语管系统,考试管理系统,基础数据维护,窗口,操作员命令)
二. .超级信史,系统助手
2.2 系统流程和操作方式设计
窗口
第三章 系统界面设计
3.1系统界面设计
1.登陆界面
代码设计:
Private Sub CmbUser_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then cmdOK_Click
End Sub
Private Sub cmdCancel_Click()
Me.Hide
End Sub
Private Sub cmdOK_Click()
Dim txtSQL As String
Set mrc = New ADODB.Recordset
If Trim(CmbUser.Text) = "" Then
CmbUser.SetFocus
Else
txtSQL = "select * from Login where 登录姓名 = '" & CmbUser.Text & "'"
mrc.Open Trim$(txtSQL), Con, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = mrc
If mrc.EOF = True Then
CmbUser.SetFocus
Else
If Trim(mrc!密码) = Trim(Txtpassword.Text) Then
LoginUser = mrc!登录姓名
Permission = mrc!权限
If Check1.Value = 1 Then
r = WritePrivateProfileString("用户信息", "姓名", CmbUser.Text, App.Path + "\电子教务系统.ini")
s = WritePrivateProfileString("用户信息", "密码", Txtpassword.Text, App.Path + "\电子教务系统.ini")
If r <> 1 Or s <> 1 Then
MsgBox "写基本信息出错!", 48, App.Title
End If
Else
r = WritePrivateProfileString("用户信息", "姓名", "", App.Path + "\电子教务系统.ini")
s = WritePrivateProfileString("用户信息", "密码", "", App.Path + "\电子教务系统.ini")
End If
mrc.Close
Me.Hide
Exit Sub
Else
Txtpassword.SetFocus
Txtpassword.Text = ""
End If
End If
End If
miCount = miCount + 1
MsgBox "登录错误,你还有" & 3 - miCount & "次机会!", vbOKOnly + vbExclamation, "警告"
If miCount = 3 Then
Me.Hide
End If
Exit Sub
End Sub
Private Sub Form_Load()
If Len(GetFromINI("用户信息", "姓名", App.Path + "\电子教务系统.ini")) = 0 Or Len(GetFromINI("用户信息", "密码", App.Path + "\电子教务系统.ini")) = 0 Then
Else
CmbUser.Text = GetFromINI("用户信息", "姓名", App.Path + "\电子教务系统.ini")
Txtpassword.Text = GetFromINI("用户信息", "密码", App.Path + "\电子教务系统.ini")
End If
Dim Rs1 As ADODB.Recordset
Set Rs1 = New ADODB.Recordset
Rs1.Open "Login", Con, adOpenStatic, adCmdTable
iCount = 0
If Rs1.BOF And Rs1.EOF Then
MsgBox "请用管理员账号登录"
Exit Sub
End If
Rs1.MoveFirst
Do While Rs1.EOF = False
CmbUser.AddItem Rs1!登录姓名, i
i = i + 1
Rs1.MoveNext
Loop
End Sub
Private Sub Txtpassword_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then cmdOK_Click
End Sub
2.智能成绩添加界面设计
界面设计:
代码设计:
Dim Ksxz As String
Dim Xxkbl As Double
Dim Bj As Integer
Dim i As Integer
Dim iCount As Integer
Dim AddFlg As Boolean
Dim RSCount As Integer
Dim rs As ADODB.Recordset
Dim Rs1 As ADODB.Recordset
Dim CmdExe As ADODB.Command
Private Sub Command13_Click()
SSTab1.Tab = 0
End Sub
Private Sub Command5_Click()
Unload Me
End Sub
Private Sub Command7_Click()
Pass
rs.Open "select * from 学籍表 where 班级='" & Trim(Combo1.Text) & "' order by 学号", Con, adOpenStatic, adLockPessimistic, adCmdText
If rs.EOF = True And rs.BOF = True Then
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command13.Enabled = False
rs.Close
MsgBox "请到学籍表中添加学生名单!", , "此班没有学生:"
Exit Sub
Else
Frame1.Enabled = False
Frame2.Enabled = False
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command7.Enabled = False
Command8.Enabled = True
Command9.Enabled = True
Command13.Enabled = True
MsgBox Trim(Combo1.Text) & " 登分:" & Chr(13) & "考试性质:" & Trim(Text1.Text) & Chr(13) & "可以开始输入成绩了!", , App.Title
Command13.SetFocus
End If
List1.Clear
List1.AddItem "学号" & "-" & "姓名"
If rs.BOF And rs.EOF Then
Else
rs.MoveFirst
Do While rs.EOF = False
If Len(rs!学号) = 1 Then
List1.AddItem " 0" & rs!学号 & "--" & rs!姓名
Else
List1.AddItem " " & rs!学号 & "--" & rs!姓名
End If
rs.MoveNext
Loop
rs.MoveFirst
End If
List1.ListIndex = 1
Display
End Sub
Private Sub Command8_Click()
rs.Close
List1.Clear
Frame1.Enabled = True
Frame2.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command7.Enabled = True
Command8.Enabled = False
Command9.Enabled = False
Command13.Enabled = False
For i = 0 To 8
txtcj(i).Enabled = True
txtcj(i).Text = ""
Next i
End Sub
Private Sub Command9_Click()
On Error GoTo err
For i = 0 To 8
If Trim(txtcj(i).Text) > Text3.Text * 1 Then
MsgBox "成绩大于预定值!", , "成绩第" & i + 1 & "项错误"
Exit Sub
End If
Next i
txtcj(9).Text = txtcj(0) * 1 + txtcj(1) * 1 + txtcj(2) * 1 + txtcj(3) * 1 + txtcj(4) * 1 + txtcj(5) * 1 * (Text2.Text * 1) + txtcj(6) * 1 * (Text2.Text * 1) + txtcj(7) * 1 * (Text2.Text * 1) + txtcj(8) * 1 * (Text2.Text * 1)
If AddFlg = False Then
Rs1.Open "select 语文,数学,英语,物理,化学,政治,历史,地理,生物,总分 from 成绩表 where 考试号='" & Trim(KSH.Caption) & "' and 考试性质='" & Text1.Text & "'", Con, adOpenStatic, adLockPessimistic, adCmdText
Rs1!语文 = Trim(txtcj(0).Text)
Rs1!数学 = Trim(txtcj(1).Text)
Rs1!英语 = Trim(txtcj(2).Text)
Rs1!物理 = Trim(txtcj(3).Text)
Rs1!化学 = Trim(txtcj(4).Text)
Rs1!政治 = Trim(txtcj(5).Text) * 1 * (Text2.Text * 1)
Rs1!历史 = Trim(txtcj(6).Text) * 1 * (Text2.Text * 1)
Rs1!地理 = Trim(txtcj(7).Text) * 1 * (Text2.Text * 1)
Rs1!生物 = Trim(txtcj(8).Text) * 1 * (Text2.Text * 1)
Rs1!总分 = Trim(txtcj(9).Text)
Rs1.UpdateBatch adAffectAllChapters
SBar1.Panels.Item(1) = "修改成功保存!"
Rs1.Close
Else
CmdExe.ActiveConnection = Con
CmdExe.CommandText = "insert into 成绩表(考试号,语文,数学,英语,物理,化学,政治,历史,地理,生物,总分,考试性质) values " & "(" & KSH.Caption & "," & txtcj(0).Text & "," & txtcj(1).Text & "," & txtcj(2).Text & "," & txtcj(3).Text & "," & txtcj(4).Text & "," & txtcj(5).Text * 1 * (Text2.Text * 1) & "," & txtcj(6).Text * 1 * (Text2.Text * 1) & "," & txtcj(7).Text * 1 * (Text2.Text * 1) & "," & txtcj(8).Text * 1 * (Text2.Text * 1) & "," & txtcj(9).Text & ",'" & Text1.Text & "')"
CmdExe.Execute
SBar1.Panels.Item(1) = "添加成功保存!"
iCount = iCount + 1
End If
Label3.Caption = "共添加" & iCount & "条记录"
rs.MoveNext
If List1.ListIndex + 1 < List1.ListCount Then
List1.ListIndex = List1.ListIndex + 1
End If
Display
Exit Sub
err:
Call ExecErr(Date, Me.Caption, err.Number, err.Source, err.Description)
End Sub
Private Sub Form_Load()
AddFlg = False
iCount = 0
Set rs = New ADODB.Recordset
Set Rs1 = New ADODB.Recordset
Set CmdExe = New ADODB.Command
Dim rsbj As ADODB.Recordset
Set rsbj = New ADODB.Recordset
rsbj.Open "班级表", Con, adOpenStatic, adLockPessimistic, adCmdTable
Combo1.Clear
Do While Not rsbj.EOF
Combo1.AddItem rsbj!班级
rsbj.MoveNext
Loop
If Combo1.ListCount > 0 Then
Combo1.ListIndex = 0
End If
End Sub
Private Sub Command1_Click()
rs.MoveFirst
List1.ListIndex = 1
Display
End Sub
Private Sub Command2_Click()
With rs
.MovePrevious
If .BOF Then
.MoveFirst
Else
List1.ListIndex = List1.ListIndex - 1
End If
End With
Display
End Sub
Private Sub Command3_Click()
With rs
.MoveNext
If rs.EOF Then
rs.MoveLast
Else
List1.ListIndex = List1.ListIndex + 1
End If
End With
Display
End Sub
Private Sub Command4_Click()
rs.MoveLast
List1.ListIndex = List1.ListCount - 1
Display
End Sub
Private Sub List1_Click()
If List1.ListIndex < 1 Then
Else
rs.Move List1.ListIndex - 1, adBookmarkFirst
End If
Display
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) Then
KeyAscii = 0
End If
End Sub
Private Sub txtcj_GotFocus(Index As Integer)
For i = 0 To 8
If txtcj(i).Text = "0" Then
txtcj(i).Text = ""
End If
Next i
SBar1.Panels.Item(1) = "处于更改成绩状态!"
本文来源:https://www.2haoxitong.net/k/doc/3385e3bdaff8941ea76e58fafab069dc50224796.html
文档为doc格式