学生综合管理系统毕业设计.docx
《学生综合管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《学生综合管理系统毕业设计.docx(79页珍藏版)》请在冰豆网上搜索。
学生综合管理系统毕业设计
基于VB和Access的毕业设计
(学生综合管理系统)
未找到目录项。
第1章设计的目的和意义
系统是对高校教师及管理人员提供的对在校学生有效管理的一个信息系统。
系统设计的目的是实现纪录、查询和修改学生档案信息;对于学生缴费情况能有效的处理,以及设置课程信息及考试相关信息。
本系统的开发具有很强的使用价值及实践意义。
开发本系统不仅能很好的巩固我们在学习中的所掌握的知识,而且系统本身就是应用于实践,为学校教学管理提供了很大的方便性,提高了工作效率;同时方便了我们自己。
第2章系统功能流程图
图2.1系统功能流程图
第3章数据库的设计
本系统的数据库是Access数据库,在Access环境下创建数据库Stud.mdb文件。
该数据库包括学生档案表、班级信息表、各专业学生学费表、管理人员表用于纪录学生的基本信息数据库表结构如下所示:
字段名
类型
大小
说明
学号
文本
10
学生学号
姓名
文本
8
学生姓名
性别
文本
2
学生性别
班级
文本
10
班级
出生年月
日期/时间
家庭住址
文本
30
入学时间
日期/时间
学生入学时间
表3.1学生档案表
字段名
类型
大小
说明
年级
文本
16
班级
文本
20
年制
文本
8
学习年限
班主任
文本
8
备注
备注
表3.2班级信息表
字段名
类型
大小
说明
课程名称
文本
20
纪录课程名称
教材
文本
30
所使用教材
表3.3课程种类表
字段名
类型
大小
说明
学号
文本
10
学生学号
学期
文本
50
类型
文本
16
期中/期末
课程名称
文本
20
分数
数字
单精度型
考试成绩
表3.4学生成绩表
字段名
类型
大小
说明
年级
文本
16
专业
文本
12
专业类型
年制
文本
8
学习年限
学期
文本
50
课程名称
文本
20
开设课程
表3.4课程信息表
字段名
类型
大小
说明
username
文本
20
用户名
uerpassword
文本
20
密码
admin
文本
2
是否为管理员
readonly
文本
2
是否为只读用户
qx1
文本
2
是否有系统管理权限
qx2
文本
2
是否有档案管理权限
qx3
文本
2
是否有交费管理权限
qx4
文本
2
是否有成绩管理权限
表3.4管理人员表
字段名
类型
大小
说明
年级
文本
16
专业
文本
50
年制
文本
20
学习年限
学期
文本
40
学费
货币
应缴纳学费
表3.4学费表
字段名
类型
大小
说明
学号
文本
10
学期
文本
50
缴费
货币
货币
已交纳费用
欠费
货币
货币
欠费额
日期
日期
日期/时间
纪录时间
操作员
文本
10
添加纪录人员
表3.4学身缴费情况
第4章主要内容
4.1登录窗体
图4.1登录窗体
设计过程:
用于输入用户名和密码登录,提示中写可以以用户名和密码都为guest进入系统,不过是只读用户。
点击确定判断数据库中的用户是否为合法用户。
设计代码:
PrivateSubcmdCancel_Click()
End
EndSub
PrivateSubcmdOK_Click()
DimsqlAsString
'使用sql语言进行数据库的查找
sql="selectuserpasswordfromusewhereusername='"&txtUserName&"'"
'使用find语句查找数据库;(不能刷新)
'Adodc1.Recordset.Find"username='"&txtUserName&"'",,adSearchForward,1
Adodc1.RecordSource=sql
Adodc1.Refresh
IfNotAdodc1.Recordset.EOFThen
IfAdodc1.Recordset!
userpassword<>txtPasswordThen
MsgBox"密码错误!
"
txtPassword.SetFocus
txtPassword=""
ElseIfAdodc1.Recordset!
userpassword=txtPasswordThen
MsgBox"登陆成功,欢迎进入本系统!
",vbOKOnly+vbInformation,"提示"
MDIForm1.Show
Me.Hide
EndIf
ElseIfAdodc1.Recordset.EOFThen
MsgBox"无此用户"
txtUserName.SetFocus
txtUserName=""
txtPassword=""
EndIf
EndSub
PrivateSubCommand1_Click()
MsgBox"可以以用户名和密码均为guest进入",vbOKOnly+vbInformation,"提示"
txtUserName.SetFocus
EndSub
PrivateSubForm_Load()
OpenTableAdodc1,"use"
Adodc1.Refresh
EndSub
4.2主控界面
图4.2主控界面
设计过程:
所有功能都在菜单中打开来实现,在最下面添加了工具栏,来显示时间,操作员,状态等信息。
在代码中判断登陆时的用户权限,不同权限有不同的权限来浏览各个窗体。
设计代码:
PrivateSubadddangan_Click()
IfQX2=TrueThen
Form1.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubaddjiaofei_Click()
IfQX3=TrueThen
Form10.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubbanjikechengliulan_Click()
Form13.Show
EndSub
PrivateSubcengdie_Click()
MDIForm1.Arrange0
EndSub
PrivateSubchengji_Click()
EndSub
PrivateSubchengjiadd_Click()
IfQX4=TrueThen
flAg=True
Form6.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubchongpai_Click()
MDIForm1.Arrange3
EndSub
PrivateSubchuizhi_Click()
MDIForm1.Arrange2
EndSub
PrivateSubclasskechengset_Click()
IfQX4=TrueThen
Form15.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubdanganfind_Click()
Form4.Show
EndSub
PrivateSubliulanbiao_Click()
Form2.Show
EndSub
PrivateSubjiaofeifind_Click()
Form12.Show
EndSub
PrivateSubjiaofeiliulan_Click()
Form11.Show
EndSub
PrivateSubjibenkechengset_Click()
IfQX4=TrueThen
Form14.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubkecheng_Click()
Form13.Show
EndSub
PrivateSubliulanchengjibiao_Click()
Form5.Show
EndSub
PrivateSubliulandanganbiao_Click()
Form2.Show
EndSub
PrivateSubMDIForm_Load()
StatusBar1.Panels
(2)=Now
OpenTableAdodc1,"use"
Adodc1.Refresh
Adodc1.RecordSource="select*fromusewhereusername='"&frmLogin.txtUserName&"'"
Adodc1.Refresh
IfAdodc1.Recordset!
admin="y"Then
QXstr="admin"
ElseIfAdodc1.Recordset!
userreadonly="y"Then
QXstr="userreadonly"
EndIf
IfAdodc1.Recordset!
QX1="y"Then
QX1=True
EndIf
IfAdodc1.Recordset!
QX2="y"Then
QX2=True
EndIf
IfAdodc1.Recordset!
QX3="y"Then
QX3=True
EndIf
IfAdodc1.Recordset!
QX4="y"Then
QX4=True
EndIf
StatusBar1.Panels(3)="当前操作员:
"&frmLogin.txtUserName
IfQXstr="admin"Then
ZhuangTai="超级管理员"
ElseIfQXstr="userreadonly"Then
ZhuangTai="只读用户"
Else
ZhuangTai="普通用户"
EndIf
StatusBar1.Panels(4)="状态:
"&ZhuangTai
EndSub
PrivateSubMDIForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
'弹出式菜单
IfButton=2Then
PopupMenutan
EndIf
EndSub
PrivateSubMDIForm_Unload(CancelAsInteger)
Callquit_Click
EndSub
PrivateSubquit_Click()
IfMsgBox("确定要要退出本系统么?
",vbOKCancel+vbExclamation,"警告")=vbOKThen
End
EndIf
EndSub
PrivateSubshuiping_Click()
MDIForm1.Arrange1
EndSub
PrivateSubtextleixing_Click()
IfQX4=TrueThen
Form7.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubTimer1_Timer()
StatusBar1.Panels
(2)=Now
EndSub
PrivateSubuseradd_Click()
IfQX1=TrueThen
Form16.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubviewchengji_Click()
Form5.Show
EndSub
PrivateSubviewdangan_Click()
Form2.Show
EndSub
PrivateSubviewjiaofei_Click()
Form11.Show
EndSub
PrivateSubxiugaimima_Click()
Form17.Show
EndSub
PrivateSubxuefeiadd_Click()
IfQX3=TrueThen
Form9.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubxuefeishezhi_Click()
Form8.Show
EndSub
4.3档案管理
4.3.1档案浏览
图4.3.1档案浏览
设计过程:
用控件可以实现档案的浏览,在此窗体所有上用户可以浏览,查找,有权限的用户可以进行修改和删除。
此窗体与数据轮中的student表进行连接。
设计代码:
PrivateSubCommand1_Click()
Form4.Show
EndSub
PrivateSubCommand2_Click()
IfQX2=TrueThen
Form3.Show
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubCommand3_Click()
IfQX2=TrueThen
'删除语句
IfMsgBox("确定要删除学号为"&Adodc1.Recordset!
学号&"的记录么?
"&Chr(10)+Chr(13)&"会导致该学生的信息丢失!
"&Chr(10)+Chr(13)&"确定么?
",vbYesNo+vbExclamation,"警告")=vbYesThen
IfMsgBox("真的要删除么?
",vbYesNo+vbExclamation,"警告!
")=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
MsgBox"删除成功!
",vbOKOnly+vbInformation,"提示!
"
EndIf
EndIf
Else
MsgBox"对不起,您没有权限!
",vbOKOnly+vbExclamation,"警告!
"
EndIf
EndSub
PrivateSubCommand4_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
'打开数据库中的student表
OpenTableAdodc1,"student"
Adodc1.Refresh
'连接DataGrid1表到数据库
SetDataGrid1.DataSource=Adodc1
DataGrid1.Refresh
EndSub
4.3.2档案添加
图4.3.2档案登记
设计过程:
用于档案的登记,此窗体和档案浏览窗体中的数据表进行了连接,可以直接进行添加,前提是必须有权限,加入了text和combo控件的keypress事件,让用户可以更轻松的进行添加。
设计代码:
PrivateSubcombo1_KeyPress(KeyAsciiAsInteger)
'回车换下一个输入项目
IfKeyAscii=13Then
SendKeys"{TAB}"
EndIf
EndSub
PrivateSubcombo2_KeyPress(KeyAsciiAsInteger)
'回车换下一个输入项目
IfKeyAscii=13Then
SendKeys"{TAB}"
EndIf
EndSub
PrivateSubCommand1_Click()
'定义变量
Dimmsg
DimfAsBoolean
DimgAsBoolean
DimjAsInteger
f=True
g=True
'判断文本框是否为空
Forj=0To4
IfText1(j).Text=""Then
MsgBoxLabel2(j).Caption&"不能为空!
",vbExclamation+vbOKOnly,"警告"
f=False
Text1(j).SetFocus
ExitSub
EndIf
Nextj
'判断出生年月是否为日期
IfNotIsDate(Text1
(2).Text)Then
MsgBox"应输入日期yy-mm-dd",vbOKOnly+vbInformation,"提示"
g=False
'反白错误的框
Text1
(2).SetFocus
Text1
(2).SelStart=0
Text1
(2).SelLength=10
ExitSub
EndIf
'判断入学时间是否为日期
IfNotIsDate(Text1(4).Text)Then
MsgBox"应输入日期yy-mm-dd",vbOKOnly+vbInformation,"提示"
g=False
'反白错误的框
Text1(4).SetFocus
Text1(4).SelStart=0
Text1(4).SelLength=10
EndIf
'判断是否要保存
Iff=TrueAndg=TrueThen
msg=MsgBox("确定要添加么?
",vbYesNo+vbInformation,"提示")
EndIf
'确定后执行的语句
Ifmsg=vbYesThen
MsgBox"添加成功!
",vbOKOnly+vbInformation,"提示"
Adodc1.Recordset.AddNew
'数据传递到数据库
Adodc1.Recordset!
学号=Text1(0).Text
Adodc1.Recordset!
姓名=Text1
(1).Text
Adodc1.Recordset!
出生年月=Text1
(2).Text
Adodc1.Recordset!
家庭住址=Text1(3).Text
Adodc1.Recordset!
入学时间=Text1(4).Text
Adodc1.Recordset!
备注=Text1(5).Text
Adodc1.Recordset!
性别=Combo1.Text
Adodc1.Recordset!
班级=Combo2.Text
Adodc1.Recordset.Update
'添加保存后清空文本
Forj=0To5
Text1(j).Text=""
Nextj
EndIf
Form2.Show
EndSub
PrivateSubCommand2_Click()
'退出该窗体
UnloadMe
EndSub
PrivateSubForm_Load()
'打开数据库中的student表
OpenTableAdodc1,"student"
'初始化combo的初值
Combo1.Text=Combo1.List(ListIndex)
Combo2.Text=Combo2.List(ListIndex)
EndSub
PrivateSubtext1_KeyPress(IndexAsInteger,KeyAsciiAsInteger)
'回车换下一个输入项目
IfKeyAscii=13Then
SendKeys"{TAB}"
EndIf
EndSub
PrivateSubForm_Activate()
Text1(0).SetFocus
EndSub
4.3.3档案查询
图4.3.3学生信息查找
设计过程:
用户可以根据自己的需要按学号,姓名,班级查找,查找的学生信息会显示在档案浏览的窗体上,用的是sql语言。
在此窗体上必须输入至少一条记录,不然会提示。
若没有找到一条符合的记录,则会提示无此记录。
设计代码:
PrivateSubCommand1_Click()
'定义sql语言
DimsqlxuehaoAsString
DimsqlxingmingAsString
DimsqlbanjiAsString
sqlxuehao="select*fromstudentwhere学号='"&Text1.Text&"'"
sqlxingming="select*fromstudentwhere姓名='"&Text2.Text&"'"
sqlbanji="select*fromstudentwhere班级='"&Combo1.Text&"'"
IfCombo1.Text=""AndText1.Text=""AndText2.Text=""Then
Label1.Caption="至少一条记录不空"
ExitSub
EndIf
IfText1.Text<>""Then
Form2.Adodc1.RecordSource=sqlxuehao
Form2.Adodc1.Refresh
Form2.DataGrid1.Refresh
End