VB成绩管理系统报告及代码
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。
vb教程编程实例详解
vb教程编程实例详解VB教程编程实例详解VB(Visual Basic)是一种面向对象的编程语言,它可以用于开发Windows应用程序。
在这里,我们将详细解释一些VB 编程实例,以帮助初学者更好地理解和掌握这门语言。
编程实例1:计算器首先,让我们创建一个计算器的VB程序。
我们将使用VB的窗体和按钮来实现这个功能。
首先,我们需要在窗体上添加一些按钮,如"1"、"2"、"+"、"="等。
然后,我们需要用一个文本框来显示计算结果。
在窗体上双击"+"按钮并添加以下代码:```Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.ClickDim num1 As IntegerDim num2 As IntegerDim result As Integernum1 = Integer.Parse(TextBoxNum1.Text)num2 = Integer.Parse(TextBoxNum2.Text)result = num1 + num2TextBoxResult.Text = result.ToString()End Sub```在这个代码中,我们首先定义了三个变量:num1、num2和result,用于存储计算结果。
然后,我们使用Integer.Parse方法将文本框中输入的文本转换为整数类型,并将其赋值给num1和num2。
接下来,我们将num1和num2相加,将结果赋值给result,并使用result.ToString()方法将结果转换为字符串类型并显示在结果文本框中。
编程实例2:学生成绩管理系统接下来,让我们创建一个学生成绩管理系统的VB程序。
巧用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学生成绩查询统计系统实验报告
学生成绩查询系统一、实习任务 (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事件 过 程 。当选 择 菜 单命 令 时 , 显 示 相应 的功 能 窗 口或 实 现
VB程序设计案例教程
VB程序设计案例教程VB(Visual Basic)是一种基于事件驱动的编程语言,常用于开发Windows平台下的应用程序。
本文将介绍一个VB程序设计案例教程,帮助读者快速入门并了解VB的基本编程概念和技巧。
这个案例教程将演示如何创建一个简单的学生成绩管理系统。
该系统具有以下功能:添加学生信息、查询学生信息、修改学生成绩和删除学生信息。
首先,我们需要创建一个新的VB项目。
打开VB IDE(集成开发环境),点击"新建项目",选择"Windows应用程序",并命名为"学生成绩管理系统"。
接下来,我们将设计系统界面。
在窗体上添加一些控件,例如标签(Label)、文本框(TextBox)、按钮(Button)和列表框(ListBox),用于显示学生信息和操作按钮。
我们可以使用窗体设计器工具在窗体上拖拽这些控件并设置它们的名称、位置和大小。
然后,我们需要为按钮的点击事件编写相应的代码。
例如,在"添加学生"按钮的Click事件中,我们可以通过获取文本框中的学生信息,将其添加到列表框中。
这需要使用VB的语法和内置的函数、属性和方法来实现。
在查询学生信息的功能中,我们可以通过遍历列表框中的学生信息,根据用户输入的关键字查询匹配的学生并显示在一个新的窗体上。
在修改学生成绩的功能中,我们可以通过选择列表框中的学生,然后弹出一个对话框,让用户输入新的成绩,并更新列表框中学生的成绩。
最后,在删除学生信息的功能中,我们可以通过选择列表框中的学生,然后通过调用删除函数,将选定的学生从列表框中删除。
完成以上功能后,我们可以运行程序,并使用这个简单的学生成绩管理系统来添加、查询、修改和删除学生信息。
通过这个案例教程,读者可以掌握VB程序设计的基本步骤和技巧,了解VB的基本语法和常用控件的使用。
读者还可以进一步扩展和改进这个学生成绩管理系统,增加更多的功能和界面设计,提升学习和应用VB的能力。
一种基于VB的成绩管理系统开发
一
种基 于
VB
的 成 绩 管 理 系统 开 发
。
一
龙雄辉
( 1 广 东工 业 大 学
.
,
李克 天
。
,
广 东广 州
5 10 0 0 6
;
2
.
广 州铁 路 职 业 技 术 学院
,
广 东广 州
5 10 4 3 0
)
一
以来
,
言 篡
;
巢 ?
浏 览 器 /服 务 器
:
绩 管理 系统
给 出 了总 体 设 计 方 案
信息 。
多 次 调 试 后 ,程 序 中使 用 了 两种 方法 解 决 该 问 题 :
1 把 所 有 需 在 D tgi 件 中 显 示 的 数 据 先 用 S L ) aar d控 Q
。
这 些 优 点 能够 极 大 地 提 高学 生 成
一
绩管理 的效率
有必要
,
因此
,
开发
套 学 生 成绩 管理 系 统 软件 很
同 时 要 求 它 能 够 为 用 户 提 供 充 足 的信 息 和 方 便 的
。
操作方式
以 下 是 结 合本校 管 理 模 式 开 发 学 生 成绩管 理 系统 的过
程
,
介 绍 了 开 发 中遇 到 的 数 据 库 选 用
之 改 变 。将 D t r a gi 件 放 置 在 窗 体 中之 后 ,把 D t r a d控 aa ,使 D tg d控 件 与 要 处 理 的 数 D D aar i 据 库 之 间建 立 联 系 。 在 D tgi 修 改 数 据 后 ,更 新 多 个 a r a d中 数 据 表 时 会 出 现 “n uf i t k y c l nom t n f I sf c n e ou i e mn i r ai o f o r
学生成绩管理系统源代码
学生成绩管理系统源代码#include<stdio.h>#include<stdlib.h>int main(){typedef struct LNode{char name[6];int no;int yw;int sx;int yy;struct LNode *next;}LinkList;struct NameNo{int no;int yw;int sx;int total;char name[6];}st[10];FILE *fp,*fp1;char ch,sname[6];int x,i,j;NameNo tmp;LinkList *p,*s;printf("\n");printf("-------------------------------");printf("学生成绩管理系统");printf("--------------------------------");printf("\n\n");printf("在您的C盘根目录下是否有cj1.txt和cj2.txt文件?如果有请输入,1");printf("否则输入0;如果没有,那么程序将终止!1 or 0?");scanf("%d",&i);if(i==0) return 0;printf("\n\n");printf("对cj1.txt和cj2.txt进行合成请按‘1’");scanf("%d",&i);if(i!=1) return 0;printf("正在把cj1.txt和cj2.txt中的数据进行合并\n");printf("......\n.....\n....\n...\n..\n.\n");if((fp=fopen("c:\\cj1.txt","rt"))==NULL){printf("无cj1.txt文本文件,程序结束。
学生成绩管理系统需求分析报告
学生成绩管理系统需求分析报告一、摘要计算机的发展将人类带到了信息技术时代,人们的生活发生了巨大的变化。
使用计算机进行庞大的数据库管理是应用最广泛的一种。
《学生成绩管理系统》是用可视化的面向对象的程序设计语言Visual Basic 6.0和数据库管理系统Access开发的一个学生成绩管理系统。
主窗口使用了类似于Word的多文档窗口。
通过ADO对象的数据环境控件连接Access数据库。
具有一般数据库管理系统的输入、删除、修改等基本功能,界面友好,操作简单。
学生成绩管理信息系统可以有效提高学校管理成绩的效率与准确性,是学校办公自动化的重要组成部分。
VB具有可视化集成开发环境,以事件驱动、图形用户界面等为特点,在设计学生成绩管理系统方面有着独特的优越性.通过学生成绩管理系统的研制,对基于VB建立成绩管理系统的一般方法,成绩管理系统的结构及功能模块、特点进行研究.该系统简便实用、通用性强,具有很好的可移植性.二、前言对于一所学校来说,如何利用计算机改变每次考试结束后老师们统计大量的学生成绩时的繁重任务?如何消除因时间紧所产生的统计结果错误百出?设计出学生成绩管理系统就是一个很好的解决方法。
本文通过用VB面向对象的编程环境编写学生成绩管理系统,利用软件工程原理,采用生命周期方法学,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现的功能,详细地定义了各个模块的具体功能。
开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生成绩数据库的创建及学生成绩的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点.在设计学生成绩管理系统过程中,得到了各位老师的指导,在此表示感谢。
由于本人水平有限,程序中不足之处在所难免,敬请各位老师批评指正.第一章系统的设计目标与需求分析1、开发语言简介Visual Basic,简称VB,是Microsoft公司推出的一种Windows应用程序开发工具。
学生成绩管理系统的设计与实现代码
学生成绩管理系统的设计与实现代码本系统有增加学生记录、修改学生记录、删除学生记录、按姓名查询学生记录、按C语言成绩对学生进行排序、退出系统6大功能。
能够对学生的姓名,学号,c语言成绩做相应的操作。
在检测到输入成绩大于55时,会自动加上5。
该管理系统设计功能模块图:下面是源代码:#include "stdio.h"#include "string.h"/*定义学生结构体*/struct Student{char ID[20]; //学号char Name[20]; //姓名float C_Mark; //C语言成绩};/*声明学生数组及学生数量*/struct Student students[1000];int num=0;/*通过学号返回数组下标*/int Student_SearchByIndex(char id[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].ID,id)==0) {return i;}}return -1;}/*通过姓名返回数组下标*/int Student_SearchByName(char name[]) {int i;for (i=0;i<num;i++){if (strcmp(students[i].Name,name)==0){return i;}}return -1;}/*显示单条学生记录*/void Student_DisplaySingle(int index){printf("%10s%10s%8s\n","学号","姓名","C语言成绩");printf("-------------------------------------------------------------\n");printf("%10s%10s%8.2f\n",students[index].ID,students[index] .Name,students[index].C_Mark);}/****1、增加学生记录*****/void Student_Insert(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);getchar();printf("请输入姓名:");scanf("%s",&students[num].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[num].C_Mark);getchar();if (54<students[num].C_Mark && students[num].C_Mark< 60) //把55~59分之间的成绩都加上5分{students[num].C_Mark += 5;}num++;printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******2、修改学生信息**********/void Student_Modify(){while(1){char id[20];int index;printf("请输入要修改的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("该学生不存在!\n");}else{printf("你要修改的学生信息为:\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入C语言成绩:");scanf("%f",&students[index].C_Mark);getchar();}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****3、删除学生信息****/void Student_Delete(){int i;while(1){char id[20];int index;printf("请输入要删除的学生的学号:");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if (index==-1){printf("学生不存在!\n");}else{printf("你要删除的学生信息为:\n");Student_DisplaySingle(index);printf("是否真的要删除?(Y/N)");if (getchar()=='Y'){for (i=index;i<num-1;i++){students[i]=students[i+1];//把后边的对象都向前移动}num--;}getchar();printf("已删除\n");}printf("是否继续删除?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/****4、按姓名查询******/void Student_Select(){while(1){char name[20];int index;printf("请输入要查询的学生的姓名:");scanf("%s",&name);getchar();index=Student_SearchByName(name);if (index==-1){printf("学生不存在!\n");}else{printf("你要查询的学生信息为:\n");Student_DisplaySingle(index);}printf("是否继续?(Y/N),继续请按任意键,否则输入N:");if (getchar()=='N'){break;}}}/******5、按C语言成绩排序*******/void Student_SortByAverage(){int i,j;struct Student tmp;for (i=0;i<num;i++){for (j=1;j<num-i;j++){if (students[j-1].C_Mark<students[j].C_Mark){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}/*显示学生信息*/void Student_Display(){int i;printf("%10s%10s%8s\n","学号","姓名","成绩");printf("-------------------------------------------------------------\n");for (i=0;i<num;i++){printf("%10s%10s%8.2f\n",students[i].ID,students[i].Name ,students[i].C_Mark);}}/*将学生信息从文件(Database.txt)中读出*/void IO_ReadInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if (fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(struct Student),1,fp);}}fclose(fp);}/*将学生信息写入文件(Database.txt)*/void IO_WriteInfo(){FILE *fp;int i;if ((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if (fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for (i=0;i<num;i++){if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);}/***********主程序*********/void main(){int choice;IO_ReadInfo(); //读取文件while(1){/*主菜单*/printf("\n------ 学生成绩管理系统------\n");printf("1. 增加学生记录\n");printf("2. 修改学生记录\n");printf("3. 删除学生记录\n");printf("4. 按姓名查询学生记录\n");printf("5. 按C语言成绩排序\n");printf("6. 退出\n");printf("请选择(1-6):");scanf("%d",&choice);getchar();switch(choice){case 1:Student_Insert();break;case 2:Student_Modify();break;case 3:Student_Delete();break;case 4:Student_Select();break;case 5:Student_SortByAverage();Student_Display();break;case 6:exit(0);break;}IO_WriteInfo();}}1234567891011121415161718192021222324252627282930313233343637383940414243444546474849505152535455565859606162636465666768697071727374757677788081828384858687888990919293949596979899 100102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320322323324325326327328329330331332333334335336337338运行结果:测试第一个功能,输入四个学生的成绩:测试第二个功能,修改学生记录:测试第三个功能,删除学生记录:测试第四个功能,按姓名查询学生记录:测试第五个功能,显示所有学生的成绩,按照C语言成绩由高到底排序:我们可以看到,各项功能的实现,在第2个步骤中,将赵的成绩改为80,而第3个步骤删除了李的成绩。
学生成绩管理系统设计与代码实现完整版
学生成绩管理系统案例描述案例要求模拟开发一个学生成绩管理系统,此系统具有以下功能:(1)添加学生信息,包括学号、姓名、语文、数学成绩;(2)显示学生信息,将所有学生信息打印输出;(3)修改学生信息,可以根据姓名查找到学生,然后可以修改学生姓名、成绩项;(4)删除学生信息,根据学号查找到学生,将其信息删除;(5)查找学生信息,根据学生姓名,将其信息打印输出;(6)按学生总成绩进行从高到低排序。
请通过编程完成此系统的开发。
案例分析因为学生信息包括学号、姓名和成绩等不同数据类型的属性,所以需要定义一个学生类型的结构体。
在存储学生信息时,可选用数组或链表,考虑到学生要根据总成绩来排序,为方便排序,我们选用数组来存储学生信息。
案例实现功能模块1500558349275功能函数实现添加记录—add()函数;显示记录—showAll()函数;修改记录—modify()函数;删除记录—del()函数;查找记录—search()函数;排序—sort()函数。
案例代码Student.h#ifndef STUDENT //先测试STUDENT是否被宏定义过,避免重新使用#define STUDENT //定义STUDENT#include <stdio.h>#include <string.h>#include <stdlib.h>#define HH printf("%-10s%-10s%-10s%-10s%-10s\n","学号", "姓名", "语文成绩", "数学成绩", "总分")struct student //学生记录{int id; //学号char n ame[8]; //姓名int chinese; //语文成绩int math; //数学成绩int sum; //总分};static int n; //记录学生信息条数void menu();void add(struct student stu[]); //函数声明void show(struct student stu[], int i);void showAll(struct student stu[]);void modify(struct student stu[]);void del(struct student stu[]);void search(struct student stu[]);void sort(struct student stu[]); //函数声明#endif //结束条件编译Student.c#define _CRT_SECURE_NO_WARNINGS#include "Student.h"void menu(){system("cls");//清空屏幕printf("\n");printf("\t\t --------------学生成绩管理系统--------------\n");printf("\t\t︱\t\t 1 添加记录︱\n");printf("\t\t︱\t\t 2 显示记录︱\n");printf("\t\t︱\t\t 3 修改记录︱\n");printf("\t\t︱\t\t 4 删除记录︱\n");printf("\t\t︱\t\t 5 查找记录︱\n");printf("\t\t︱\t\t 6 排序记录︱\n");printf("\t\t︱\t\t 0 退出系统︱\n");printf("\t\t --------------------------------------------\n");printf("\t\t请选择(0-6):");}void add(struct student stu[]){int i, id = 0; //i作为循环变量,id用来保存新学号char quit; //保存是否退出的选择do{printf("学号:");scanf("%d", &id);for (i = 0; i < n; i++){if (id == stu[i].id) //假如新学号等于数组中某生的学号{printf("此学号存在!\n");return;}}stu[i].id = id;printf("姓名:");scanf("%s", &stu[i].name);printf("语文成绩:");scanf("%d", &stu[i].chinese);printf("数学成绩:");scanf("%d", &stu[i].math);stu[i].sum = stu[i].chinese + stu[i].math; //计算出总成绩n++; //记录条数加1printf("是否继续添加?(Y/N)");scanf("\t%c", &quit);} while (quit != 'N');}void show(struct student stu[], int i){printf("%-10d", stu[i].id);printf("%-10s", stu[i].name);printf("%-10d", stu[i].chinese);printf("%-10d", stu[i].math);printf("%-10d\n", stu[i].sum);}void showAll(struct student stu[]){int i;HH;for (i = 0; i < n; i++){show(stu, i);}}void modify(struct student stu[]){char name[8], ch; //name用来保存姓名,ch用来保存是否退出的选择int i;printf("修改学生的记录。
基于VB6 0学生成绩管理系统的设计与实现
基于VB6.0学生成绩管理系统的设计与实现摘要:本论文叙述了学校学生成绩管理的现状以及Visual basic6.0语言的简单介绍。
重点介绍了学生成绩管理系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统实现、系统测试和调试。
本系统主要功能有用户管理、班级管理、成绩信息管理、学生信息注册、学生成绩排名管理、优秀学生管理、处分学生管理等,重点论述了功能需求、数据库设计等内容。
关键词:学生成绩管理系统功能实现 VB6.0目录第1章引言 (1)1.1成绩管理系统设计概述 ......................... 错误!未定义书签。
1.2设计意义 (1)1.3学生成绩管理系统的目标 (1)第2章设计分析 (1)2设计中要解决的问题............................. 错误!未定义书签。
2.1系统需求分析 (1)2.2.1 系统功能需求分析 (2)2.2.1.1 系统功能体系图 (2)2.1.2 系统基本功能主要模块及功能 (2)2.2.2数据流分析 (3)第3章系统设计 (6)3系统设计原则 (6)3.1系统总体结构设计 (6)3.2系统数据模型设计 (7)3.2.1 E-R图 (7)3.2.2 关系模型 (7)3.3数据字典 (7)3.4系统开发与运行环境确定 (8)3.4.1 系统开发 (8)3.4.2 系统开发环境 (8)3.4.3运行环境简介 (10)第4章学生成绩管理系统主界面设计、详细设计 (11)4学生成绩管理系统用户管理模块界面设计和详细设计 (11)4.1班级管理模块界面设计、详细设计 (12)4.2学生档案信息管理模块界面设计、详细设计 (12)4.3成绩管理模块界面设计、详细设计 (13)第5章系统评价 (14)5系统主要功能、特点评价 (14)5.1系统存在不足与改进方案 (14)5.1.1系统存在的不足 (14)5.1.2 系统改进方案 (14)结束语 (15)致谢 (16)参考文献 (17)第1章引言自上个世纪90年代以来,计算机技术的迅猛发展和推广普及,为各行各业突飞猛进的发展带来了新生的动力,推动了其他各个行业向更高的层次进步。
vb学生成绩管理系统
vb学生成绩管理系统一、需求分析为了方便教师管理学生成绩,同时减轻教师的工作量,我们设计开发了一套vb学生成绩管理系统。
本系统的主要目标是为学校的师生提供一套方便、快捷、高效的管理系统。
系统包括学生管理、教师管理、课程管理和成绩管理等模块。
学生模块主要管理学生的基本信息,包括学生姓名、性别、年龄、所在班级、学号等。
教师模块主要管理教师的基本信息,包括教师姓名、性别、年龄、所在院系、职称等。
课程模块主要管理课程的基本信息,包括课程名称、学分、考试时间等。
成绩模块主要管理学生成绩信息,包括成绩编号、学生姓名、课程名称、成绩等。
二、系统设计1.功能模块(1)学生管理模块该模块主要用于实现对学生信息进行管理。
包括学生信息的添加、删除、修改和查询等功能。
同时该模块还提供了一个查询学生成绩单的功能。
(2)教师管理模块该模块主要用于实现对教师信息进行管理。
包括教师信息的添加、删除、修改和查询等功能。
同时该模块还提供了一个查询教师所教授的课程的功能。
(3)课程管理模块该模块主要用于实现对课程信息进行管理。
包括课程信息的添加、删除、修改和查询等功能。
同时该模块还提供了一个查询课程的学生名单的功能。
(4)成绩管理模块该模块主要用于实现对学生成绩信息进行管理。
包括学生成绩信息的添加、删除、修改和查询等功能。
同时该模块还提供了一个查询某一学生和某一课程的成绩的功能。
(5)登录模块该模块主要用于实现用户的登录和退出功能。
2.系统架构(1)系统主界面系统主界面分为三部分:菜单栏、工具栏和主窗口。
菜单栏提供了系统的主要功能,工具栏提供了快速访问系统功能的按钮,主窗口用于显示各个模块的内容。
(2)模块窗口每个模块都有一个单独的窗口,用于显示该模块所包含的功能。
在每个窗口中,都有一个菜单栏和一个工具栏。
菜单栏和工具栏提供了该模块的主要功能和快速访问方式。
三、系统实现1.数据库设计该系统使用了Access数据库,数据库包含四张表格,分别为“student”、“teacher”、“course”和“score”表格。
第12章 用VB+SQL Server 2005开发学生成绩管理系统
成绩表(T_CJB) 初始记录
成绩 80 69 78 89 54 67 66 87 97 91 69
16
3.实验步骤 (1)打开SQL Server Management Studio管理 控制台(企业管理器),在对象资源管理器的树形 目录中找到xscjglxt数据库并展开它,选择数据库 对象“表”,右击“表”对象,则弹出其快捷菜单, 如图12-6所示。 (2)从弹出的快捷菜单中选择“新建表”命令, 则在对象资源管理器窗口的右面弹出“表结构设 计”(表设计器)面板,如图12-7所示。该设计器的 上半部分是一个表格,在这个表格中输入“学号”、 “姓名”、“性别”、“出生日期”、“院系”等 列的属性,表格的每一行对应一个列定义,其含义 如下:
26
图12-11 “关系图”快捷菜单
27
(2)在弹出的快捷菜单中选择“新建 数据库关系图”命令,则弹出“添加表” 对话框,在这个“对话框”内可以选择要 建立关系图的相关表,如图12-12所示。在 这个对话框中选择表T_XSB、T_KCB和T_CJB, 并单击“添加”按钮进行表添加操作,然 后关闭“添加表”对话框。 (3)在SQL Server Management Studio管理控制台(企业管理器)中关闭 “对象资源管理器”和“属性”面板,会 完整出现“关系图”窗口,如图12-13所示。
17
图12-6 “表”快捷菜单
18
图12-7 表结构设计窗口
19
①列名:合法的列名称,如“学号”、 “姓名”等。 ② 数据类型:数据类型是一个下拉列表 框,包括了所有的系统数据类型和用户自定 义的数据类型,可从中选择需要定义的数据 类型。数据类型后括号内数值表示该字段选 择数据类型需要占用内存的字节数。 ③ 允许空:单击可以切换是否允许该列 数值为空值的状态,勾选说明允许为空值, 空白表示不允许为空值,默认状态表示允许 为空值。
运动会成绩管理系统-主要代码
窗体代码Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then '监听键盘回车Command1.Value = TrueEnd IfEnd Sub(Text1是账号,Text2是密码)登陆Private Sub Command1_Click()If Text1.Text <> "" And Text2.Text <> "" Thenstrsql = "select * from 用户信息where 用户名='" & Text1.Text & "' and 密码='" & Text2.Text & "'"Set rs = cnn.Execute(strsql)If Not rs.EOF Then '输入的登录信息正确,则进入系统主界面.ShowUnload 登陆界面ElseMsgBox "您输入的登录信息有误,请重新输入!", vbOKOnly + vbExclamation, "提示"Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd IfElseMsgBox "您输入的帐号或密码有误!", vbOKOnly + vbExclamation, "警告"Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd IfEnd Sub退出Private Sub Command2_Click()i = MsgBox("确实要退出系统吗?", vbYesNo + vbExclamation, "系统警告")If i = vbYes ThenEndElseMsgBox "欢迎继续使用!", vbOKOnly, "系统提示"End IfEnd Sub主界面Private Sub mnuedititem_Click(Index As Integer)项目定义.Show 1End SubPrivate Sub mnusearchitem_Click(Index As Integer)查询输出.SSTab1.Tab = 1查询输出.Show 1End Sub(mnu#####是项目定义的属性名称,其他的菜单省略了,都是****.Show1。
VB制作学生成绩统计分析系统
用VB制作学生成绩统计分析系统一.程设计的目的和意义每个学校都要举行考试,有的班级更是经常考试。
为了掌握学生的学习情况,老师们不得不花费大量时间和精力对考试成绩进行统计分析,因此,开发一个统计分析软件,具有重要的意义。
为强化和巩固所学的知识,本文所采用的程序是建立在以教材《VB程序设计使用教程》所涉及内容为基础之上的。
二.系统功能设计在本系统中,将主要实现如下的一些功能:1.对各分数段的人数及所占比例进行统计2.对最高分、最低分、平均分进行查询3.对不及格人数及所占比例进行统计4.将成绩分布用直方图表示出来三.设计思路在对课程项目进行分析以后,认为系统应有如下几条要求:1.要有系统登录界面2.要有成绩录入框3.要有统计结果显示界面4.要能对成绩进行保存四.设计流程图五.设计界面、基本控件使用方法简介:1.按退出键,关闭界面,退出程序。
2.按进入键,进入成绩输入界面,如下图所示。
3.建议在1028*768显示分辨率下使用。
1.因文件写入和读出之间有“系统误差”,所以用逗号开头,以消除“误差”2.按确定键,系统自动将成绩保存在“d:\kcsj\cjb.txt”文件,并对文件数据进行读入和运算处理,将统计结果显示在显示界面。
3.按取消键,则返回登录界面。
1.本界面为统计结果显示界面。
2.按返回键,关闭本界面,返回上一界面,即成绩输入界面。
3.按退出键,关闭各界面,结束程序。
六.关键程序//后为该程序段解释Private Sub Form_load()Dim sg() As Single, im(9) As IntegerDim int1, int2, int3 As Integer: Dim x, y, sb, sg1 As SingleDim n, m, z As IntegerDim a, b, c As IntegerOpen "d:\kcsj\cjb.txt" For Input As #1 //打开文件im(0) = -1n = 0Do While Not EOF(1)n = n + 1ReDim Preserve sg(n)Input #1, sg(n)Loop //读入数据Close #1 //关闭文件m = 2Do While m <= nSelect Case sg(m)Case Is >= 90im(9) = im(9) + 1Case Is >= 80im(8) = im(8) + 1Case Is >= 70im(7) = im(7) + 1Case Is >= 60im(6) = im(6) + 1Case Is >= 50im(5) = im(5) + 1Case Is >= 40im(4) = im(4) + 1Case Is >= 30im(3) = im(3) + 1Case Is >= 20im(2) = im(2) + 1Case Is >= 10im(1) = im(1) + 1Case Is >= 0im(0) = im(0) + 1Case Elsea = 1End Selectm = m + 1Loop //将各成绩按分数段分类统计L15.Caption = n – 2 //显示班级人数int2 = 0Do Until int2 > 9L1(int2).Caption = im(int2) //显示各分数段人数sb = im(int2) * 100 / (n - 2)L1(int2 + 10).Caption = Format(sb, "0.0") //显示各分数段人数比例int2 = int2 + 1Loopa = 1:b = 0Dob = b + sg(a)a = a + 1Loop While a <= n - 1Lav.Caption = Format(b / (n - 2), "0.0") //显示平均分For int1 = 2 To n - 2For int2 = int1 + 1 To n - 1If sg(int1) > sg(int2) Thensg1 = sg(int1)sg(int1) = sg(int2)sg(int2) = sg1End IfNextNextLmax.Caption = sg(n - 1) //显示最高分Lmin.Caption = sg(2) //显示最低分z = im(0) + im(1) + im(2) + im(3) + im(4) + im(5)Lren.Caption = z //显示不及格人数Lbi.Caption = Format(z / n, "0") //显示不及格人数所占比例Shape1(0).Height = 0: Shape1(1).Height = 0: Shape1(2).Height = 0: Shape1(3).Height = 0 Shape1(4).Height = 0: Shape1(5).Height = 0: Shape1(6).Height = 0: Shape1(7).Height = 0 Shape1(8).Height = 0: Shape1(9).Height = 0int2 = 0Do Until int2 > 9sb = im(int2) / (n - 2)Shape1(int2).Height = sb * Label7.HeightShape1(int2).Top = Line23.Y1 - Shape1(int2).HeightIf Shape1(int2).Height = 0 ThenShape1(int2).V isible = FalseElse: Shape1(int2).FillStyle = 0End Ifint2 = int2 + 1Loop //显示直方图End Sub七.心得本系统在最简程度上实现了对学生成绩的统计分析,所涉及的也都是基础性的知识。
学生成绩管理系统VB+SQL
课程设计任务书题目学生成绩管理系统系 (部) 数理系专业班级学生学号12 月 21 日至 12 月 25 日共 1 周指导教师(签字)系主任(签字)年月日学生成绩管理系统通过完成从用户需求分析、概念结构设计,逻辑结构设计等一系列的数据库设计到上机编程、调试和应用等全过程,进一步理解和掌握教材中的相关容。
一.实验要求(1)先对选定的实验做简单的需求分析;(2)做出数据流图和数据字典;(3)在数据流图和字典的基础上做出E-R图(概念结构设计);(4)在E-R图基础上进行关系模式设计(至少满足3NF)(逻辑结构设计); (5)根据需求分析的各种数据请求得出各种视图以及各种约束、规则、触发器脚本描述;(6)根据第(5)的容在SQL-SERVER中设计中实例的数据库;(7)用自己熟悉的一门语言进行设计的功能的实现(8)整理前面几步的文档和程序源码,可执行程序,形成最终的实验报告。
(9)实验报告的最后写出本次实验完成中遇到的问题及解决方法二.需求分析1.功能需求本系统开发的目的,就是通过系统开发,实现课程管理有关工作的计算机化,提高关键环节的处理速度和规化,并对有关的工作进行集成和重组,通过网络系统实现集中管理、分散操作,提高选课管理工作的质量和效率。
通过对学校的选课及成绩管理工作进行实际调查,学生可以自由选择课程、选老师,学生注册的行政班和教学班是游离的,开发工作需要涉及任课教师、学生、管理员(教务工作人员)三种用户。
2.学生需求在学校规定的选课期间,学生通过任何一台连接因特网计算机的浏览器就能进行网上选课。
学生以用户名和密码进入选课系统。
选课系统会根据用户名和密码自动识别所在的系,然后显示出与学生有关的课程列表。
系统必须控制某一门课程在学期间只能选一次。
在学生选课时能自动进行有关逻辑判断,如:是否选课超过了规定的门数,是否选择了不符合预修条件的课程,是否选择的课程超过此课程最大选择人数,只有符合要求的选择才能选课成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院08软件技术课题设计报告课程:Visual Basic程序设计题目:学生成绩查询统计系统学号: Z08050834 姓名:班级:软件8班指导老师:苗专生完成时间:2009年12月30日目录一、课题内容 (1)1.1了解信息 (1)1.2实验目的 (1)1.3选题的背景和意义 (1)1.4软件工具和需要掌握的知识 (1)二、系统分析 (2)2.1系统功能模块示意图 (2)2.2设计思路、算法描述 (2)三、系统设计 (2)3.1主要算法的实现 (2)3.2程序流程图 (2)四、调试、测试、试运行过程 (3)4.1运行记录及调试效果 (4)五、源程序主要代码 (11)5.1密码判断 (11)5.2添加信息 (11)5.3删除信息 (12)5.4修改信息 (13)5.5绘制直方图 (13)5.6绘制饼图 (14)5.7保存文件 (15)5.8按条件查询 (16)5.9打开帮助文件 (16)5.10工具条按钮代码 (16)5.11工具条下拉菜单代码 (17)六、课设总结 (17)七、参考文献 (18)一、课题内容1.了解信息:了解用软件工程学的基本思想进行软件开发的原则和方法;结构化分析方法和步骤。
结构化编程方法;面向对象的思想和程序设计方法。
2.实验目的:掌握数组,函数,过程的定义和使用掌握do、while、for等循环语句的运用掌握了解vb的图形功能,及图形的绘制掌握常用函数的使用(绘图函数:line,circle等)掌握vb文件系统的操作(打开,读写,关闭等)熟练掌握键盘事件,鼠标事件及其事件过程的编程技巧掌握逻辑表达式,单分支,双分支及多分支条件语句的运用掌握vb常用控件的运用(通用对话框,inputbox,combox,工具栏,状态栏等)3.选题的背景和意义:计算机不可避免的成为了当今社会的主流学科,计算机的广泛应用性、高效率以及其强大的计算能力注定了其发展潜力,虽然计算机现在的能力不可想象,但不要忽视了其出世还不足半个世纪,然而在这半个世纪里它带领着世界创造一个个奇迹。
随着计算机的广泛使用,它的灵魂——软件也得到了快速发展,但是人们的需求永远大于现实,各行各业都需求他们自己所最需要的各种软件,导致了社会需要大批的软件编辑者,VB作为几大编程语言之一,其语言易学易用的特点广大初学者学习学习计算机语言的首选,我们经过了半个学期的学习,对VB有了初步的了解,学生成绩管理器这是一个实用性很强,技术要求不太高的应用程序,很适合初学者练习,再者其要求全面,很适合对我们这学期的学习考察,虽然其中有一些书本上没有老师也没有讲过的内容,但通过网络学习也能完成,更能考察学生的自学能力。
4 软件工具和需要掌握的知识:1、软件工具:Visual Basic 6.0英文版、中文版,easy chm,Photoshop2、需要掌握的知识:(1) 视窗(Form)视窗是进行人机交互的界面或接口,也叫窗体。
VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。
(2) 对象 (Object)对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。
本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。
当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。
用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。
正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。
(3) 属性 (Properties)属性是VB系统提供的有关对象的参数或数据接口。
用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。
比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。
(4) Visual Basic中的事件 (Events)事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。
VB系统常用事件来引导计算机执行一段程序。
程序所用的键盘事件有KeyPress(按键)事件,KeyDown 事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。
(5) Visual Basic中的方法 (Method)方法主要是指对一个对象使用某种作用的过程。
它是在程序执行的过程中要计算机执行的某种操作。
其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
(6) Visual Basic中的过程 (Procedure)过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。
(7) Visual Basic中的模块 (Module)模块是指一些运算量或过程进行声明或定义的一个集合。
系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
二、系统分析(设计思路、算法描述)1.系统功能模块示意图:2.课题设计的思路、方法:本系统主要包括学生信息查询、信息修改、学生信息保存和帮助四部分。
其功能主要有:⒈有关学生信息的输入,包括输入学生学号、姓名、性别、课程号、和成绩。
⒉学生信息的查询,包括查询学生学号、姓名、课程成绩和成绩的分数段。
⒊学生信息的修改。
三、系统设计:1、主要算法的实现方法主菜单有:1.编辑(增、删、改、退出),2.查询(按姓名、学号、成绩、高于某分、低于某分查找),3.统计绘图(饼图、直方图),4.报表,5.帮助(关于、帮助)五个菜单项。
添加信息主要是使用数据库将记录的增加记录的AddNew方法。
删除主要是调用delete方法。
查询可以通过输入要查询的学号,如果没有要查找的信息,给予提示。
通过姓名、学号和分数查询的代码与通过学号查询的代码类似。
统计绘图通过记录的增删改动态的显示统计图的变化和要显示的记录数。
2.程序流程图:Zhujiemian主界面添加删除姓名查询学号查询直方图饼图报表制作打印预览课程号五、源程序主要代码(加详细注释)(1)密码判断Private Sub Form_Load()i = 3End SubPrivate Sub Command1_Click()If (Text2 <> "wwz314") Or (Text1 <> "wwz314") Theni = i - 1If i = 0 Thena = MsgBox("不要再做无谓的尝试!再见!", , "提示")EndElsea = MsgBox("密码错误,你还有" & i & "次机会", , "提示")End IfElseUnload Form1Form2.ShowEnd IfEnd Sub(2)添加信息mandType = adCmdUnknown 定义命令类型Form2.Adodc1.RecordSource = "select * from filename where 学号='" & Text0 & "' and 课程号='" & Text3 & "'" 从学号和课程号中查找Form2.Adodc1.RefreshIf Not Form2.Adodc1.Recordset.EOF ThenMsgBox "已存在"Exit SubEnd IfForm2.Adodc1.Recordset.AddNew 新增一条空白记录Form2.Adodc1.Recordset.Fields("学号") = Text0Form2.Adodc1.Recordset.Fields("姓名") = Text1Form2.Adodc1.Recordset.Fields("性别") = Text2Form2.Adodc1.Recordset.Fields("课程号") = Text3Form2.Adodc1.Recordset.Fields("课程名") = Text4Form2.Adodc1.Recordset.Fields("成绩") = Text5Form2.Adodc1.Recordset.UpdateForm2.Adodc1.Recordset.MoveFirstMsgBox "记录已成功添加。
"(3)删除信息Private Sub Combo1_Click()Form2.Adodc1.Recordset.MoveFirstst = Combo1.TextForm2.Adodc1.Recordset.find "学号='" & st & "'"If Form2.Adodc1.Recordset.EOF Then 如果记录到达末尾则未查找到Combo1.ListIndex = 0ElseText1 = Form2.Adodc1.Recordset.Fields("姓名") 显示姓名Text2 = Form2.Adodc1.Recordset.Fields("学号") 显示学号End IfEnd SubPrivate Sub Command1_Click()j = Combo1.ListIndexCombo1.RemoveItem jj = j + 1Form2.Adodc1.Recordset.Delete 删除记录Form2.Adodc1.Recordset.MoveNextIf Form2.Adodc1.Recordset.EOF Then Form2.Adodc1.Recordset.MoveLastIf j > Combo1.ListCount - 1 Then j = Combo1.ListCount - 1Combo1.ListIndex = jText1 = Form2.Adodc1.Recordset.Fields("姓名") 显示姓名Text2 = Form2.Adodc1.Recordset.Fields("学号") 显示学号End SubPrivate Sub Command2_Click()i = MsgBox("继续?" & vbCrLf & "—点击确定返回删除界面" & vbCrLf & "—点击取消直接返回主界面", vbOKCancel, "思考中……")If i = 2 Then Unload Me 关闭删除窗体End SubPrivate Sub Command3_Click()Unload Me 关闭删除窗体End SubPrivate Sub Form_Load()mandType = adCmdTable 指定命令类型为adCmdTableForm2.Adodc1.RecordSource = "filename" 数据源为全部数据(filename)Form2.Adodc1.RefreshForm2.Adodc1.Recordset.MoveFirst 移动到第一条记录Do While Not (Form2.Adodc1.Recordset.EOF)Combo1.AddItem Form2.Adodc1.Recordset.Fields("学号") 列表框中添加全部学号Form2.Adodc1.Recordset.MoveNext 记录下移一条LoopForm2.Adodc1.Recordset.MoveFirstCombo1.ListIndex = 0End Sub(4)修改信息Private Sub Command1_Click()s = MsgBox("确定修改此学生信息?", vbOKCancel)If s = vbOK ThenForm2.Adodc1.Recordset.Fields("姓名") = Text1 修改姓名Form2.Adodc1.Recordset.Fields("性别") = Text3 修改性别Form2.Adodc1.Recordset.Fields("课程号") = Text4 修改课程号Form2.Adodc1.Recordset.Fields("课程名") = Text5 修改课程名Form2.Adodc1.Recordset.Fields("成绩") = Text6 修改成绩MsgBox "修改成功!"ElseForm2.Adodc1.Recordset.CancelUpdate 更新记录End IfEnd Sub绘图Public a As Single, b As Single, c As Single, d As Single, e As Single, num As Single (5)绘制直方图Sub Creat()Form6.Scale (-12, -8)-(8, 8) 'Form6.Scale (-6, 8)-(12, -2)Form6.Line (-5, 4)-(8, 4), vbBlueForm6.Line (-5, 4)-(-5, -5), vbRedForm6.CurrentX = 2: Form6.CurrentY = -2a1 = 12 * a / numb1 = 12 * b / numc1 = 12 * c / numd1 = 12 * d / nume1 = 12 * e / numForm6.Line (-4.5, 4)-(-3, -a1 + 4), vbRed, BFForm6.Line (-2.5, 4)-(-1, -b1 + 4), vbGreen, BFForm6.Line (-0.5, 4)-(1, -c1 + 4), vbBlue, BFForm6.Line (1.5, 4)-(3, -d1 + 4), RGB(210, 0, 200), BFForm6.Line (3.5, 4)-(5, -e1 + 4), RGB(170, 180, 0), BFEnd SubSub litizf()Creat ‘调用create函数Dim i%, x1 As Single, y1 As Single, x2 As Single, y2 As Single, x3 As Single Form6.Line (-11, -7)-(-9, -6.5), vbRed, BF 绘制红色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -7: Form6.Print "90-100分"Form6.Line (-11, -6.5)-(-9, -6), vbGreen, BF 绘制绿色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -6.5: Form6.Print "80-89 分"Form6.Line (-11, -6)-(-9, -5.5), vbBlue, BF 绘制蓝色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -6: Form6.Print "70-79 分"Form6.Line (-11, -5.5)-(-9, -5), RGB(210, 0, 200), BF 绘制紫红色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -5.5: Form6.Print "60-69 分"Form6.Line (-11, -5)-(-9, -4.5), RGB(170, 180, 0), BF 绘制草绿色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -5: Form6.Print "00-59 分"End Sub(6)绘制饼图Sub bingtu()Form6.Scale (-12, -8)-(8, 8)Dim Xs As SingleConst Pi = 3.141593Form6.ShowForm6.FillStyle = 0Xs = 2 * Pi / numIf a > 0 ThenForm6.FillColor = vbRedForm6.Circle (0, 0), 6, 0, -2 * Pi, -a * XsEnd If 绘制红色扇形If b > 0 ThenForm6.FillColor = vbGreenForm6.Circle (0, 0), 6, vbGreen, -a * Xs, -(a + b) * XsEnd If 绘制绿色扇形If c > 0 ThenForm6.FillColor = vbBlueForm6.Circle (0, 0), 6, 0, -(a + b) * Xs, -(a + c + b) * XsEnd If 绘制蓝色扇形If d > 0 ThenForm6.FillColor = RGB(210, 0, 200)Form6.Circle (0, 0), 6, 0, -(a + b + c) * Xs, -(a + c + b + d) * XsEnd If 绘制紫红色扇形If e > 0 ThenForm6.FillColor = RGB(170, 180, 0)Form6.Circle (0, 0), 6, 0, -(a + b + c + d) * Xs, -(a + c + b + d + e) * Xs End If 绘制草绿色扇形Form6.Line (-11, -7)-(-9, -6.5), vbRed, BF 绘制红色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -7: Form6.Print "90-100分"Form6.Line (-11, -6.5)-(-9, -6), vbGreen, BF绘制绿色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -6.5: Form6.Print "80-89 分"Form6.Line (-11, -6)-(-9, -5.5), vbBlue, BF绘制蓝色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -6: Form6.Print "70-79 分"Form6.Line (-11, -5.5)-(-9, -5), RGB(210, 0, 200), BF绘制紫红色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -5.5: Form6.Print "60-69 分"Form6.Line (-11, -5)-(-9, -4.5), RGB(170, 180, 0), BF绘制草绿色矩形Form6.CurrentX = -8.9: Form6.CurrentY = -5: Form6.Print "00-59 分"End Sub(7)保存文件Sub baocun()On Error GoTo abcDim stud As xinxifn = App.Path 当前文件所在路径CommonDialog1.InitDir = fn 指定默认路径CommonDialog1.FileName = ""CommonDialog1.Filter = "*.txt|*.txt|*.*|*.*" 打开文本文件和所有文件CommonDialog1.ShowSave 显示保存对话框Open CommonDialog1.FileName For Random As #1 随机打开文件Adodc1.Recordset.MoveFirst 记录位于首记录With studDo While Not Adodc1.Recordset.EOF 判断是否到达末尾.xuehao = Adodc1.Recordset.Fields("学号"): .xingming = Adodc1.Recordset.Fields("姓名").xingbie = Adodc1.Recordset.Fields("性别"): .kch = Adodc1.Recordset.Fields("课程号") 将信息存入变量中.kcm = Adodc1.Recordset.Fields("课程名"): .cj = Adodc1. Recordset. Fields("成绩")Put #1, , stud 写入文件保存变量studAdodc1.Recordset.MoveNextLoopEnd WithClose #1Adodc1.Recordset.MoveFirsta = MsgBox("文件写入成功!", , "提示")abc:End Sub查询信息代码:(8)按学号查询:Private Sub anxh_Click()Dim num$num = InputBox("请输入要查询的学号", "学号查询")If num <> "" ThenmandType = adCmdUnknownAdodc1.RecordSource = "Select * From filename Where 学号 ='" & num & "'" Adodc1.RefreshIf Adodc1.Recordset.EOF Thena = MsgBox("未找到!请确认输入的学号是否正确。