VB学生成绩管理系统
学生信息管理系统VB

河北联合大学《软件设计基础(VB)》课程设计报告设计名称:学生信息管理系统姓名:学号:专业班级:学院:设计时间:设计地点:学校机房目录1.课程设计目的 ···············································································2.课程设计任务与要求 ······································································3.课程设计说明书 ············································································4.课程设计成果 ···············································································5.程序调试过程 ···············································································6.设计问题的不足和改进方案 ·····························································7.课程设计心得 ···············································································8.附录 ···························································································9.参考文献 ·····················································································4.课程设计成果运行结果(可用屏幕抓图的方法说明)(五号,宋体)(多页)图1图2图3图41.登陆界面有账号和密码保护功能如图12.学生信息管理界面如图23.保存界面如图34.学生信息查询界面如图4。
VB课程设计-学生成绩处理系统

长江大学Yangtze universityVB课程设计实习报告专业班级﹕储运11001学生学号﹕201007078学生姓名﹕彭壮班级序号﹕16指导老师﹕冯翠丽完成时间﹕2011-12—22一.设计题目学生成绩管理系统二.设计思路从文本中读取文件数据,利用VB的顺序结构,选择结构,循环结构编写程序代码,最终将各代码写入界面设计中的各菜单下.三.程序实现的目标本程序将实现从文本中读取数据,赋值数据,运算数据,实现对学生的加权平均值,名次,全班每门课的分数段,不及格同学名单,优等生名单等运算,并写入文件。
四.程序设计框图五。
运行结果原始成绩课程学分原始成绩和原始课程学分文件读取原始课程文件加权平均分成绩排名每门课程的班级平均分加权平均分分布每门课程及分布成绩条优等生名单不及格学生名单成绩查询系统按姓名查找示例﹕按学号查找示例﹕按名次查找示例﹕六.源程序模块代码:Type xscjbxh As Stringxm As Stringcj(1 To5)AsIntegeraver As SinglemcAs IntegerEndTypeType kechen编号AsInteger课程名As String学分As SingleEnd TypePublic stu() As xscjbPublic ke() AskechenPublicN%, M%,Zxf%Public str As String窗体代码:①Form1:Public Function space1(ByVal sssAs String)Dimx%x =InStr(sss, "")DoWhilex> 0sss=Replace(sss,”", ”")x = InStr(sss," ”)Loopspace1 = sssEndFunctionPrivate Sub ajqfspm_Click()Dim t!, k As SingleForm1.ClsForm1.FontSize= 12Form1。
巧用ExcelVBA统计学生成绩

巧用ExcelVBA统计学生成绩说明:这是本人刚开始学VBA的时候为学校做的学生成绩统计模板,在末用VBA以前,每次学校考试的成绩统计都是用公式重复操作,非常麻烦,耗时长而且很容易出错,用VBA程序做的成绩统计不仅快而且非常准确,现在把它公布出来,与大家分享。
内容包括计算总分、统计三率、统计语数外三科总和、按年级及班级排名次、生成年级报表、排考场等等。
Option ExplicitSub 成绩统计()'**************************************************变量声明部分**************************************************Dim i As Integer, j As Integer, k As Integer '定义循环变量Dim MFBZ As Integer, ZF As Integer, SZ As Integer '满分标准、总分变量、三总变量Dim Ddbj As Integer, MC As Integer, Dkf As Integer '断点标记、年级名次、单科分总和Dim PJF, JGL, LHL, YXL '三率变量Dim QK As Integer, JGRS As Integer, LHRS As Integer, YXRS As Integer '缺考、及格、良好、优秀人数Dim BJS As Integer, BJRS As Integer '班级数、班级人数Dim YBendrow As Integer, TJBendrow As Integer, BBendrow As Integer '各工作表最大行数Dim endcol As Integer, Shtcount As Integer '各工作表最大列数及工作表总数Dim YB As String, TJB As String, BB As String, S As Variant '定义工作表名变量Dim StateTime As Single, EndTime As Single '程序开始、结束时间Dim M As String '考试次数'************************************************************** *********************************************On Error Resume Next '错误处理Application.ScreenUpdating = False '关闭屏幕刷新'M = InputBox("这是本学期第几次考试:")YB = InputBox("请输入您要进行统计的工作表名:") '取得所要操作的工作表名If YB = "" ThenExit SubEnd IfShtcount = ActiveWorkbook.Sheets.Count '当前工作薄中的工作表总数Sheets(YB).Select '选定工作表TJB = YB & "统计"BB = YB & "报表"StateTime = Timer '开始时间'*****************删除旧工作表*****************Application.DisplayAlerts = False '屏蔽删除对话框For Each S In Sheets '删除旧表,准备统计If = TJB Or = BB ThenS.DeleteEnd IfNext SApplication.DisplayAlerts = True '打开对话框显示YBendrow = ActiveSheet.Range("c65536").End(xlUp).Row '当前工作表最大行数Range(Cells(3, 15), Cells(YBendrow, 19)).ClearContents '删除以前统计结果,为新的统计做准备'*****************计算总分*****************For i = 3 To YBendrow '行循环ZF = 0For j = 6 To 14 '列循环If Cells(i, j).Value <> "" And Cells(i, j).Value <> -1 ThenZF = ZF + Cells(i, j).ValueEnd IfNext jCells(i, 15).Value = ZFNext i'*****************计算三总*****************For i = 3 To YBendrowSZ = 0For j = 7 To 9If Not Cells(i, j) = "" And Not Cells(i, j) = -1 ThenSZ = SZ + Cells(i, j)End IfNext jCells(i, 18) = SZNext i'*****************排年级名次*****************For i = 3 To YBendrowMC = Application.WorksheetFunction.Rank(Cells(i, 15), _Range(Cells(3, 15), Cells(YBendrow, 15)), 0) '调用工作表函数计算当前总分在总分列的位次Cells(i, 16).Value = MC '将位次填入相应的单元格Next i'*****************排班级名次*****************Range("A2").CurrentRegion.Select '选定排序区域Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range _("O3"), Order2:=xlDescending, Header:=xlGuess,OrderCustom:=1, MatchCase _:=False, Orientation:=xlT opToBottom, SortMethod:=xlPinYin, DataOption1:= _xlSortNormal,DataOption2:=xlSortNormal '按班级升序和总分降序自动排序BJS = Application.WorksheetFunction.Max(Range(Cells(3, 2), Cells(YBendrow, 2))) '计算班级数For i = 3 To YBendrow '开始循环If Cells(i, 2).Value <> Cells(i - 1, 2) Then '设置转换班级时的标记点Ddbj = Cells(i - 1, 2).Row '当班级改变时,定义一个行变量(标记点)End IfIf Cells(i, 2) = Cells(i - 1, 2) ThenIf Cells(i, 15) <> Cells(i - 1, 15) ThenCells(i, 17) = i - Ddbj '行号减标记点即为名次ElseCells(i, 17) = Cells(i - 1, 17) '如果当前总分等于上一个总分,则名次相同End IfElseCells(i, 17) = 1 '各班第一个人的名次为1End IfNext i'*****************排三总名次*****************For i = 3 To YBendrow '开始循环MC = Application.WorksheetFunction.Rank(Cells(i, 18), Range(Cells(3, 18), Cells(YBendrow, 18)), 0) '调用工作表函数Cells(i, 19).Value = MCNext i'**********************************统计三率**********************************Sheets.Add after:=Worksheets(YB) = TJBWorksheets(TJB).Select'设计表头Cells(2, 1) = "班级"Cells(2, 2) = "项目"Cells(2, 3) = "政治"Cells(2, 4) = "语文"Cells(2, 5) = "数学"Cells(2, 6) = "英语"Cells(2, 7) = "物理"Cells(2, 8) = "化学"Cells(2, 9) = "生物"Cells(2, 10) = "历史"Cells(2, 11) = "地理"Range("a1:k1").MergeRange("a1").FormulaR1C1 = YB & "成绩(三率)统计表"Range("A1").Font.Size = 22endcol = Range("A2").End(xlToRight).ColumnFor j = 1 To BJS '行循环Cells(j + 2, 1) = jCells(j + 2, 2) = "平均分"Cells(j + BJS + 2, 1) = jCells(j + BJS + 2, 2) = "及格率(%)"Cells(j + BJS * 2 + 2, 1) = jCells(j + BJS * 2 + 2, 2) = "良好率(%)"Cells(j + BJS * 3 + 2, 1) = jCells(j + BJS * 3 + 2, 2) = "优秀率(%)"For k = 3 To endcol '列循环If k = 3 Then '判断总分MFBZ = 100ElseIf k < 7 ThenMFBZ = 150ElseMFBZ = 100End IfWorksheets(YB).Select '对源表进行统计QK = 0 '设置初始值BJRS = 0Dkf = 0JGRS = 0LHRS = 0YXRS = 0For i = 3 To YBendrow '行循环If Cells(i, 2) = j ThenBJRS = BJRS + 1If Cells(i, k + 3) = -1 Then '统计缺考人数QK = QK + 1ElseDkf = Dkf + Cells(i, k + 3) '计算班级单科总分End IfIf Cells(i, k + 3) >= MFBZ * 0.6 Then '及格人数统计JGRS = JGRS + 1End IfIf Cells(i, k + 3) >= MFBZ * 0.7 Then '良好人数统计LHRS = LHRS + 1End IfIf Cells(i, k + 3) >= MFBZ * 0.85 Then '优秀人数统计YXRS = YXRS + 1End IfEnd IfNext iIf BJRS = 0 Or Dkf = 0 Then '筛选空班级PJF = ""JGL = ""LHL = ""YXL = ""ElsePJF = Dkf / (BJRS - QK) '计算三率JGL = JGRS / (BJRS - QK) * 100LHL = LHRS / (BJRS - QK) * 100YXL = YXRS / (BJRS - QK) * 100End IfWorksheets(TJB).Select '填入目标表相应位置If BJRS = 0 Or Dkf = 0 ThenCells(j + 2, k) = ""Cells(j + BJS + 2, k) = ""Cells(j + BJS * 2 + 2, k) = ""Cells(j + BJS * 3 + 2, k) = ""ElseCells(j + 2, k) = PJFCells(j + 2, k).NumberFormatLocal = "0.00" '设置结果显示格式(保留两位小数)Cells(j + BJS + 2, k) = JGLCells(j + BJS + 2, k).NumberFormatLocal = "0.00"Cells(j + BJS * 2 + 2, k) = LHLCells(j + BJS * 2 + 2, k).NumberFormatLocal = "0.00"Cells(j + BJS * 3 + 2, k) = YXLCells(j + BJS * 3 + 2, k).NumberFormatLocal = "0.00"End IfNext kNext j'删除空班级行Worksheets(TJB).SelectTJBendrow = Range("A65536").End(xlUp).RowFor i = TJBendrow To 3 Step -1If Cells(i, 4).Value = "" ThenCells(i, 4).EntireRow.DeleteEnd IfNext i'设置“统计”表的格式Range("A3").SelectActiveWindow.FreezePanes = True '冻结窗格Cells.HorizontalAlignment = xlCenter '居中对齐Columns("A:A").ColumnWidth = 3.5 '列宽Columns("B:B").ColumnWidth = 8.38 '列宽Columns("C:E").ColumnWidth = 6.88 '列宽Columns("F:K").ColumnWidth = 5.63 '列宽'选中全部单元格,将单元格内部图案改为白色Cells.SelectWith Selection.Interior.ColorIndex = 2.Pattern = xlSolid.PatternColorIndex = xlAutomaticEnd With'设置数据区域外边框为粗线,内部为细线TJBendrow = Range("a65536").End(xlUp).RowRange(Cells(2, 1), Cells(TJBendrow, endcol)).SelectCall 设置边框 '调用“设置边框”子过程Cells(1, 1).Select'********************生成年级报表*********************Sheets.Add after:=Worksheets(TJB) = BBWorksheets(YB).SelectRange("a2").CurrentRegion.CopyWorksheets(BB).SelectRange("a2").PasteSpecialColumns("d:e").Delete shift:=xlT oLeftColumns("a:a").Delete shift:=xlT oLeftBBendrow = Range("a65536").End(xlUp).Row + 1Worksheets(TJB).Selectendcol = Cells(2, 256).End(xlToLeft).ColumnTJBendrow = Cells(2, 1).End(xlDown).RowRange(Cells(3, 1), Cells(TJBendrow, endcol)).Copy Worksheets(BB).Cells(BBendrow, 1) '将统计表中的数据拷到报表中Worksheets(BB).SelectRange("A3").SelectActiveWindow.FreezePanes = True '冻结窗格Cells.HorizontalAlignment = xlCenter '居中对齐Columns("A:A").ColumnWidth = 3.5 '设置列宽Columns("B:B").ColumnWidth = 8.38Columns("C:K").ColumnWidth = 6.88Columns("L:L").ColumnWidth = 3.5Columns("M:N").ColumnWidth = 4.63Columns("O:O").ColumnWidth = 3.5Columns("P:P").ColumnWidth = 4.88Cells.Select '选中全部单元格,将单元格内部图案改为白色With Selection.Interior.ColorIndex = 2.Pattern = xlSolid '设置内部图案.PatternColorIndex = xlAutomatic '内部颜色设为自动End WithBBendrow = Range("A65536").End(xlUp).Rowendcol = Range("IV2").End(xlToLeft).ColumnRange(Cells(2, 1), Cells(BBendrow, endcol)).SelectSelection.Sort Key1:=Cells(3, 13), Order1:=xlAscending, Header:=xlGuess, _MatchCase:=False '对报表按总名次升序排列Range("A1:P1").Merge '合并单元格Range("A1").Font.Size = 22Range("A1").NumberFormatLocal = Left(YB, 2) & "##" & "班期末调研考试成绩报表"ActiveSheet.Spinners.Add(2.25, 1.5, 18.75, 24).Select '添加微调项,控制表头显示格式With Selection.Value = 0.Min = 0.Max = 10.SmallChange = 1.LinkedCell = "$A$1".Display3DShading = True.Placement = xlMoveAndSize.PrintObject = FalseEnd WithBBendrow = Range("a65536").End(xlUp).Rowendcol = Range("IV2").End(xlToLeft).ColumnRange(Cells(2, 1), Cells(BBendrow, endcol)).SelectCall 设置边框 '调用“设置边框”子过程For k = 11 To 3 Step -1 '删除空列If Cells(3, k) = "" ThenCells(3, k).EntireColumn.DeleteEnd IfNext k'************************************************************** *********************************************'恢复统计前顺序Sheets(YB).SelectRange("a2").CurrentRegion.SelectSelection.Sort Key1:=Range("D3"), Order1:=xlAscending, Key2:=Range _("E3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _:=False, Orientation:=xlT opToBottom, SortMethod:=xlPinYin, DataOption1:= _xlSortNormal, DataOption2:=xlSortNormal '按考场升序和座号升序排序Cells(1, 1).SelectEndTime = TimerMsgBox "运行程序共用时:" & EndTime - StateTime & "秒"Application.ScreenUpdating = TrueEnd SubSub 编排考场()Dim i As Integer, j As Integer, k As Integer, l As IntegerDim M As StringDim endrow1 As Integer, endrow2 As IntegerSheets("考场编排").Selectendrow2 = Range("b65536").End(xlUp).Rowk = Application.WorksheetFunction.Sum(Range(Cells(2, 2), Cells(endrow2, 2)))M = InputBox("请输入您准备编排考场的工作表名:")If M = "" ThenExit SubElseSheets(M).SelectEnd IfRange("A2").CurrentRegion.Select '选定排序区域Selection.Sort Key1:=Range("O3"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase _:=False, Orientation:=xlT opToBottom, SortMethod:=xlPinYin, DataOption1:= _xlSortNormal,DataOption2:=xlSortNormal '按总分降序自动排序endrow1 = Range("c3").End(xlDown).Rowl = Application.WorksheetFunction.CountA(Range(Cells(3, 3), Cells(endrow1, 3)))If l <> k ThenMsgBox "您的考场编排工作表未准备好!" & Chr(13) & Chr(10) & "请编排好后再运行此程序!"Exit SubEnd IfRange(Cells(3, 4), Cells(endrow1, 5)).ClearContentsFor i = 1 To endrow2 - 1For j = 1 To Sheets("考场编排").Cells(i + 1, 2).Value endrow1 = Range("e65536").End(xlUp).Row Cells(endrow1 + 1, 4) = iCells(endrow1 + 1, 5) = jNext jNext iEnd SubSub 设置边框() '子过程With Selection.Borders(xlEdgeLeft) '设置边框.LineStyle = xlContinuous.Weight = xlThick.ColorIndex = 3End WithWith Selection.Borders(xlEdgeT op).LineStyle = xlContinuous.Weight = xlThick.ColorIndex = 3End WithWith Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous.Weight = xlThick.ColorIndex = 3End WithWith Selection.Borders(xlEdgeRight).LineStyle = xlContinuous.Weight = xlThick.ColorIndex = 3End WithWith Selection.Borders(xlInsideVertical).LineStyle = xlContinuous.Weight = xlThin.ColorIndex = 3End WithWith Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous.Weight = xlThin.ColorIndex = 3End WithCells.Select '选中全部单元格,将单元格内部图案改为白色With Selection.Interior.ColorIndex = 2'.Pattern = xlSolid '设置内部图案'.PatternColorIndex = xlAutomatic '内部颜色设为自动End WithEnd SubSub 删除工作表()Dim i As WorksheetApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseFor Each i In SheetsIf <> "高一" ThenIf <> "高二理科" ThenIf <> "高二文科" ThenIf <> "考场编排" ThenIf <> "总分分布统计表" Theni.DeleteEnd IfEnd IfEnd IfEnd IfEnd IfNext iApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub想开源文件的朋友请告诉我,我可以发给你。
基于VB的学生成绩管理系统设计

S LSre 在数据挖掘和分析 服务领域 的应用。 Q e r v
V B使用 了可 以简单建立应用程序 的 G I U 系统 ,但是又可 以开发相 当复杂 的程序 。V B的程序是一种基 于窗体 的可视化 组件 安排 的联合 ,并且 增加代 码来 指定 组建 的属性 和方 法 。 因为 默认的属性 和方法 已经 有一部分 定义在 了组件 内 ,所 以 程序 员不用写 多少 代码就可 以完成一个 简单 的程序 。窗体控 件 的增 加和改 变可以用拖放 技术实现 。一个排 列满控 件 的工
Ab t a t h s p p rd v lp t d n c iv me tma a e n y t m,t c i v h t d n n g me ts se t , sr c :T i a e e e o s a su e ta h e e n n g me t s s e o a h e e t e su e tma a e n y t ma i c sa d r iai n a d a t mai n. sma n f n t n i e u e o o ue sfrsu e t c iv me t n g me t t n a dz t n uo t o o I i c i st s fc mp t r t d n h e e n t u o h o a ma a e n . Ke r s t d n c iv me t; n o main ma a e n S se d sg y wo d :S u e ta h e e n If r t n g me t; y t m e in o
种 面向对象 的开发工具 ,尤 其是数据 窗 口这一 能方便 而简 洁 操纵 数据库 的智能化对象 ,首先在短 时间 内建 立 系统 应用原
vb项目开发案例全程实录

vb项目开发案例全程实录以VB项目开发案例全程实录为题,我将为您列举10个案例,每个案例包含至少800字的详细描述。
1. 学生成绩管理系统这个案例是一个简单的学生成绩管理系统,使用VB开发。
系统包括学生信息的录入、成绩的录入和查询等功能。
首先,用户可以通过界面输入学生的基本信息,包括姓名、学号、性别等。
然后,用户可以输入学生的各科成绩,并计算出总分和平均分。
最后,用户可以通过学号或姓名查询学生的成绩。
该系统使用VB的窗体和控件进行界面设计,通过VB的数据库连接功能实现与数据库的交互。
2. 酒店管理系统这个案例是一个酒店管理系统,使用VB开发。
系统包括客房管理、客户管理、订单管理等功能。
首先,用户可以通过界面查看酒店的各类客房信息,并进行预订和入住操作。
然后,用户可以管理客户信息,包括添加、修改和删除客户信息。
最后,用户可以查看订单信息,包括已预订和已入住的订单,并进行退房操作。
该系统使用VB的窗体和控件进行界面设计,通过VB的数据库连接功能实现与数据库的交互。
3. 超市收银系统这个案例是一个超市收银系统,使用VB开发。
系统包括商品管理、库存管理、销售管理等功能。
首先,用户可以通过界面添加、修改和删除商品信息,并查看商品的库存情况。
然后,用户可以进行销售操作,包括添加购物车、结算和打印小票。
最后,用户可以查看销售统计信息,包括每日销售额、每月销售额等。
该系统使用VB的窗体和控件进行界面设计,通过VB的数据库连接功能实现与数据库的交互。
4. 图书管理系统这个案例是一个图书管理系统,使用VB开发。
系统包括图书的录入、借阅和归还等功能。
首先,用户可以通过界面添加、修改和删除图书信息,并查看图书的借阅情况。
然后,用户可以进行借阅操作,包括选择图书和输入借阅者信息。
最后,用户可以归还图书,并更新图书的借阅情况。
该系统使用VB的窗体和控件进行界面设计,通过VB的数据库连接功能实现与数据库的交互。
5. 学生选课系统这个案例是一个学生选课系统,使用VB开发。
VB学生成绩查询统计系统实验报告

学生成绩查询系统一、实习任务 (2)二、系统分析 (3)三、系统设计 (4)四、调试、排错、测试、试运行过程 (7)五、源程序完整或主要代码 (10)六、总结与体会 (17)七、参考文献 (18)一、实习任务1实习任务介绍:熟悉软件工程学的基本思想进行软件开发的原则和方法;结构化分析方法和步骤;结构化编程方法;面向对象的思想和程序设计方法。
按照软件开发的一般方法和步骤动手设计一个《学生成绩查询统计系统》。
2基本要求:①登录界面:密码最多尝试3次,连续3次均输入错误系统自动退出。
②具有录入成绩、添加记录、删除记录、修改记录功能。
③具有成绩查询功能,可以按照学号、课程号、课程名、分数段进行查询。
为便于查询,所有的学号和课程号可考虑以下拉列表的形式给出。
④具有全部成绩浏览功能,且能与数据库表最新数据同步。
⑤具有统计功能,能以直方图、饼图、折线图、散点图、立体直方图直观表示各成绩段的分布情况。
⑥具有打印学生成绩报表的功能。
⑦具有菜单和工具条的双重操作功能。
3 实习目的:掌握常用控件的使用,学会使用通用对话框控件进行编程,掌握创建多重窗体程序的有关技术,了解鼠标和键盘事件及事件过程的编写,综合应用了所学知识,加深对VB的理解。
4 选题的背景及意义:VB是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。
在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
vb学生成绩管理系统{完整版}

目录摘要 (3)关键字: (3)引言 (3)一、系统的理论与技术基础 (4)1.1管理信息系统基础 (4)1.2 软件工程理论的概述 (4)1.3 软件工程理论对本系统的指导 (4)二、系统的需求分析 (5)2.1项目开发的背景分析 (5)2.2 项目开发的目标 (5)2.3项目提出的意义 (6)2.4 国内外研究现状 (6)三、系统的开发工具及编程环境 (9)3.1 开发工具的选择 (9)3.3编程环境的选择 (10)3.5 Visual Basic 系统实现菜单选项 (12)3.5 Visual Basic 系统实现菜单选项 (12)四、系统数据库的使用 (13)4.1 系统数据库的选择 (13)4.2 数据的保存和读取 (13)4.3 数据库文件的易用性 (13)4.4 数据库文件格式 (14)4.5教师管理界面编码设计 (16)五、系统代码及开发过程 (18)5.1系统的开发 (18)5.2功能需求描述 (18)5.3代码及图示 (18)5.3.2.主窗口: (18)5.3.3.管理系统: (19)5.3.4.属性: (20)5.3.5.打开系统显示的界面 (20)5.3.6.窗体的尺寸 (21)结论 (22)致谢 (23)参考文献 (24)学生成绩管理系统摘要学生信息管理系统是典型的信息管理系统,经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:数据库,智能化,面向对象ABSTRACT:The abstract student information management system is the typical information management system, the process analysis, We use MICROSOFT Corporation VISUAL the BASIC development kit, uses each kind of object-oriented development kit which it provides, especially first in a short time establishes the system application prototype, then, carries on the demand iteration to the initial prototype system, revises and the improvement unceasingly, until forms user satisfaction the feasible system.Key words:Database,intelligence,object-oriented引言随着学校规模的不断扩大,学生数量急剧增加,有关学生的各科成绩信息量也成倍增长。
用VB开发学生成绩管理系统

、
系统功 能 设 计
( 1 ) 系统 主 要 功 能描 述 。① 用 户 管理 : 用来 管理 系 统 用 户 , 可 数 , 如果 超 出 指定 的次数 , 则 自动 关 闭程 序 。
以添加用户名 、 修改用户密码。 ②学生信息管理: 学生基本情况汇 总与管理 , 主要包括对学生 成绩 的添加 、 修改 、 删除和查 询等操 括对学生成绩的添加 、 修改 、 删除 、 查询和统计等操作 。④课 程管
表 2学生信 息表结构
字 段 名 数 据 类 型 S N o 文 本 S n a me 文 本 S s e x 文 本 S a g a 数 字
S p l a c e 文 本
字 段 大 小 7 1 2 2 整 型
3 2
说 明 学号 , 主键 , 必填 字 段 姓名, 必 填 字段 性别 , 必填 字段 年龄 , 必 填 字 段
子 模 块 的设 计 , 最后 再将 制 作 好 的代 码 打 包为 安 装程 序 等 , 详 细描 述 学生成 绩 管 理 系统 的 开 发过 程 。 关键词: Ⅶ 语言 ; A c c e s s 数据库; 成绩管理; 模块 设 计
在中职学校, 对于学生基本信息和成绩 的管理是学校的一项基
一
不匹配 , 则根据具体情况 弹出相应的警告对话框。为了使系统更
加 安全 , 加 人 一个 窗 口级公 共 对 象 , 用 来 记 录密 码 输 入错 误 的 次 ( 2 ) MDI 窗1 3 r 菜单 栏 设计 。在 系统 中添加 MD I 窗 口作 为系 统 主窗 口 , 为 其 加 入菜 单 栏 。根 据系 统 设 计 中 的各 功 能 模 块 设 计 菜 C l i c k事件 过 程 。当选 择 菜 单命 令 时 , 显 示 相应 的功 能 窗 口或 实 现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字段名称数据类型字段大小学号文本10姓名文本10性别文本 2年龄数字 2联系数字50班级文本50 家庭住址文本50表1.基本信息表4详细设计4.1.1登入界面实现第一个登陆界面选择用户类型,分为教师和学生。
具体图形及相关代码如下所示:核心代码:核心代码如下:Private Sub Command1_Click()UserName = ""If Trim(Text1.Text) = "" ThenMsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusElseData1.RecordSource = "select * from 密码表where 用户名='" & Text1.Text & "' and 密码='" & Text2.Text & "'"Data1.RefreshIf Data1.Recordset.BOF = True And Data1.Recordset.EOF = True ThenMsgBox "用户名或密码输入错误,请重新输入!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusText2.SetFocusElseUserName = Text1.TextText2.Text = ""Me.HideForm4.ShowEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""End SubPrivate Sub Timer1_Timer()If Label1.Left + Label1.Width >= 0 ThenLabel1.Left = Label1.Left - 50ElseLabel1.Left = dl.ScaleWidthEnd IfEnd Sub4.1.3教师登陆界面:核心代码如下所示;该界面代码与上个界面基本一致。
Private Sub Command1_Click()UserName = ""If Trim(Text1.Text) = "" ThenMsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusElseData1.RecordSource = "select * from 教师密码表where 用户名='" & Text1.Text & "' and 密码='" & Text2.Text & "'"Data1.RefreshIf Data1.Recordset.BOF = True And Data1.Recordset.EOF = True ThenMsgBox "用户名或密码输入错误,请重新输入!", vbOKOnly + vbExclamation, "警告"Text1.SetFocusText2.SetFocusElseUserName = Text1.TextMe.Hidemain.ShowEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Text2.Text = ""4.1.5学生密码修改界面:代码如下:Private Sub Command1_Click()If Trim(Text1.Text) <> Trim(Text2.Text) ThenMsgBox "密码输入不正确!", vbOKOnly + vbExclamation, "信息提示"Text1.SetFocusText1.Text = ""ElseData1.RecordSource = "select * from 密码表where 用户名='" & xsdl.Text1.Text & " '" Data1.RefreshData1.Recordset.EditData1.Recordset.Fields("密码") = Text1.TextData1.Recordset.UpdateMsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码" End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""End SubPrivate Sub Command3_Click()Me.HideForm4.ShowEnd Sub4.1.6主窗体界面:代码如下:Private Sub tcxt_Click()EndEnd SubPrivate Sub tjyh_Click()Me.Hidetianjiayonghu.ShowEnd SubPrivate Sub xgmm_Click()代码如下:Private Sub Command1_Click()If Trim(Text1.Text) = "" ThenMsgBox "请输入用户名!", vbOKOnly + vbExclamation, "信息提示"Text1.SetFocusExit SubElseData1.RecordSource = "select * from 教师密码表where 用户名='" & Text1.Text & "'" Data1.RefreshIf Not Data1.Recordset.EOF ThenMsgBox "用户已存在,请重新输入用户名!", vbOKOnly + vbExclamation, "提示信息" Text1.SetFocusText1.Text = "": Text2.Text = "": Text3.Text = ""Exit SubEnd IfEnd IfIf Trim(Text2.Text) <> Trim(Text3.Text) ThenMsgBox "两次输入的密码不一样,请确认!", vbOKOnly + vbExclamation, "警告" Text2.SetFocusText2.Text = ""Text3.Text = ""Exit SubElseWith Data1.Recordset.AddNew.Recordset.Fields(0) = Trim(Text1.Text).Recordset.Fields(1) = Trim(Text2.Text).Recordset.UpdateEnd WithMsgBox "添加用户成功!", vbOKOnly + vbExclamation, "添加用户"End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""End SubPrivate Sub Command3_Click()Me.Hidemain.ShowEnd Sub4.1.8修改密码界面:代码如下:Private Sub Command1_Click()If Trim(Text1.Text) <> Trim(Text2.Text) ThenMsgBox "密码输入不正确!", vbOKOnly + vbExclamation, "信息提示"Text1.SetFocusText1.Text = ""ElseData1.RecordSource = "select * from 密码表where 用户名='" & xsdl.Text1.Text & " '"Data1.RefreshData1.Recordset.EditData1.Recordset.Fields("密码") = Text1.TextData1.Recordset.UpdateMsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""End SubPrivate Sub Command3_Click()Me.HideForm4.ShowEnd Sub4.1.9添加学生信息界面:代码如下:Private Sub Command1_Click()If Text2.Text = "" Or Text3.Text = "" ThenMsgBox "学号和姓名不能为空!", vbOKOnly + vbExclamation, "警告"Exit SubElseData1.RecordSource = "select * from 基本信息表where 学号='" & Trim(Text2.Text) & " ' " Data1.RefreshIf Data1.Recordset.BOF = False And Data1.Recordset.EOF = False ThenMsgBox "输入的学号已经存在,请重新输入!", vbOKOnly + vbExclamation, "警告"Text2.Text = ""Text3.Text = ""Text2.SetFocusElse代码如下:Private Sub Command1_Click()If Text1.Text = "" ThenMsgBox "请输入容!"ElseData1.Recordset.EditData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Text5.TextData1.Recordset.Fields(4) = Text6.TextData1.Recordset.Fields(5) = Text7.TextData1.Recordset.Fields(6) = Text8.TextText9.Text = Str((Val(Text6.Text) + Val(Text8.Text) + Val(Text7.Text)) / 3) Data1.Recordset.Fields(7) = Text9.TextData1.Recordset.UpdateMsgBox "修改成功"End IfEnd SubPrivate Sub Command10_Click()If Trim(Text1.Text) = "" ThenMsgBox "学号不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告" Text1.SetFocusElseData1.RecordSource = "select * from 成绩表where 学号='" & Text1.Text & " '"Text9.Text = ""End IfEnd IfEnd Sub4.2.1学生信息查询界面:代码如下:Private Sub Command1_Click()If Combo1.Text = "按学号" ThenData1.RecordSource = "select * from 基本信息表where 学号='" & Text1.Text & "'" Data1.RefreshElseData1.RecordSource = "select * from 基本信息表where 姓名='" & Text1.Text & "'" Data1.RefreshEnd IfIf Text1.Text = "" ThenData1.RecordSource = "select * from 基本信息表"Data1.RefreshEnd IfEnd SubPrivate Sub Command2_Click()Me.Hidemain.Show4.2.2学生成绩录入界面:代码如下:Private Sub Command1_Click()If Text2.Text = "" Or Text3.Text = "" Or text4.Text = "" Or Text5.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" ThenMsgBox "容不能为空,请重新输入!"ElseData1.Recordset.EditData1.Recordset.Fields(0) = Text2.TextData1.Recordset.Fields(1) = Text3.TextData1.Recordset.Fields(2) = text4.TextData1.Recordset.Fields(3) = Val(Text5.Text)Data1.Recordset.Fields(4) = Val(Text7.Text)Data1.Recordset.Fields(5) = Val(Text8.Text)Data1.Recordset.Fields(6) = Val(Text9.Text)Text1.Text = Str((Val(Text7.Text) + Val(Text8.Text) + Val(Text9.Text)) / 3)Data1.Recordset.Fields(7) = Text1.TextData1.Recordset.UpdateMsgBox "添加成功!"End If'Text2.Text = "": Text3.Text = "": text4.Text = "": Text5.Text = "": Text7.Text = "": Text8.Text = "": Text9.Text = ""End SubPrivate Sub Command2_Click() Me.Hidemain.ShowEnd SubPrivate Sub Command3_Click() Data1.Recordset.MoveFirst End SubPrivate Sub Command4_Click() Data1.Recordset.MovePrevious If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst End IfEnd SubPrivate Sub Command5_Click() Data1.Recordset.MoveNextIf Data1.Recordset.EOF Then Data1.Recordset.MoveLast End IfEnd SubPrivate Sub Command6_Click() Data1.Recordset.MoveLast End Sub4.2.3成绩修改界面:代码如下:Private Sub Command1_Click()If Combo1.Text = "按学号" ThenData1.RecordSource = "select * from 成绩表where 学号='" & Text1.Text & "'" Data1.RefreshElseData1.RecordSource = "select * from 成绩表where 姓名='" & Text1.Text & "'" Data1.RefreshEnd IfIf Text1.Text = "" ThenData1.RecordSource = "select * from 成绩表order by 平均成绩desc"Data1.RefreshEnd IfEnd SubPrivate Sub Command2_Click()Me.Hidemain.ShowEnd SubPrivate Sub Form_Load()Data1.RecordSource = "select * from 成绩表order by 平均成绩desc"Data1.RefreshEnd Sub4.2.5项目统计界面:代码如下:Private Sub Command1_Click()Data1.RecordSource = "select count(*) from 成绩表where 性别='男'"Data1.RefreshText1.Text = Data1.Recordset.Fields(0)Data1.RecordSource = "select count(*) from 成绩表where 性别='女'"Data1.RefreshText2.Text = Data1.Recordset.Fields(0)Data1.RecordSource = "select count(*) from 成绩表where 平均成绩< 60 "Data1.RefreshText3.Text = Data1.Recordset.Fields(0)End SubPrivate Sub Command2_Click()Me.Hidemain.ShowEnd Sub5. 效果及存在问题主要问题1:数据库建立以后无法与控件绑定,在系统运行时,无法通过系统对数据库的信息进行编辑,修改,删除。