




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE 第PAGE 63页/共47页北*学课程设计报告课程名称: VB程序设计课设 项目名称: 学籍管理系统 学 院: 管理学院 专 业: 信息管理与信息系统 姓 名: 学 号: 指导教师: 成 绩: 2010年6月 22 日目 录 TOC o 1-2 h z HYPERLINK l _Toc296542260 第1部分 实训题目与要求 PAGEREF _Toc296542260 h 1 HYPERLINK l _Toc296542261 1问题提出 PAGEREF _Toc296542261 h 1 HYPERLINK l _Toc296542262 2功能要求 PAGEREF _Toc2
2、96542262 h 1 HYPERLINK l _Toc296542263 第2部分 设计实训题目功能 PAGEREF _Toc296542263 h 8 HYPERLINK l _Toc296542264 1算法设计 PAGEREF _Toc296542264 h 8 HYPERLINK l _Toc296542265 2流程图设计 PAGEREF _Toc296542265 h 11 HYPERLINK l _Toc296542266 3数据结构 PAGEREF _Toc296542266 h 15 HYPERLINK l _Toc296542267 4程序代码设计 PAGEREF _T
3、oc296542267 h 15 HYPERLINK l _Toc296542268 5测试与调试 PAGEREF _Toc296542268 h 18 HYPERLINK l _Toc296542269 第3部分 实训总结 PAGEREF _Toc296542269 h 19 HYPERLINK l _Toc296542270 1个人总结 PAGEREF _Toc296542270 h 19 HYPERLINK l _Toc296542271 2结束语 PAGEREF _Toc296542271 h 20 HYPERLINK l _Toc296542272 附录 程序清单 PAGEREF _
4、Toc296542272 h 21 HYPERLINK l _Toc296542273 附录 用户使用说明书 PAGEREF _Toc296542273 h 46 HYPERLINK l _Toc296542274 参考文献 PAGEREF _Toc296542274 h 47第1部分 实训题目与要求问题提出“学籍管理系统”一款主要是对学生的基本信息、课程信息以及成绩信息等进行管理的系统软件。该系统软件能够实现对学生基本信息的添加、修改、删除和查询等,能对课程信息进行添加、修改、删除和查询等功能,同时能对学生的课程成绩进行添加、修改、删除和查询的功能。另外,系统还提供了对学生课程成绩的排名和统
5、计等功能。图:系统结构图功能要求“学籍管理系统”主要是对学生的基本信息、课程信息以及成绩信息等进行管理。工程包括“加载展示窗体”、“登录窗体”、“系统主窗体”、“学生信息编辑窗体”、“课程信息编辑窗体”、“成绩编辑窗体”、“学生信息查询窗体”、“成绩查询窗体”、“成绩排名窗体”、“更改密码窗体”和“关于窗体”。各窗体功能如下:(1)加载展示窗体创新功能程序启动时,首先出现的是程序加载展示窗体,显示本实训的实训题目、小组成员姓名、完成时间、指导老师等信息。同时进度条加载,待加载至满后,进入登录窗体。图:加载展示窗体(2)登录窗体提高功能该窗体在系统展示窗体加载完之后显示,用于验证用户信息和权限,
6、用户需要选择用户是普通用户或管理员,并输入账号和密码进入系统。如果用户账号或密码输入出错达到3次,为保护系统账号等信息的安全,系统会自动退出。图:登录窗体(3)系统主窗体创新功能用户输入正常的账号密码后,便进入了系统主窗体,用户可以系统主窗体 中选择要进行操作的功能,并进入相应的窗体。图:系统主窗体(4)学生信息编辑窗体用户在此窗体中可以对学生的基本信息进行相应的操作,如添加、搜索、修改和删除学生的基本信息。图:学生信息编辑窗体(5)课程信息编辑窗体用户在此窗体中可以对课程的信息对行相应的操作,如添加、搜索、修改和删除课程的信息。图:课程信息编辑窗体(6)成绩编辑窗体用户在此窗体 中可以对学生
7、的每一个课程成绩进行添加、修改和删除等功能操作。图:成绩编辑窗体(7)学生信息查询窗体用户在此窗体中可以通过查询条件查询学生的基本信息。图:学生信息查询窗体(8)成绩查询窗体用户在此窗体中可以通过查询条件查询学生的课程成绩。图:成绩查询窗体(9)成绩排名窗体创新功能用户在此窗体中可以通过选择条件查看院系、专业、班级、课程等学生的成绩排名。图:成绩排名窗体(10)更改密码窗体提高功能用户可以在此窗体中修改该用户的密码。图:更改密码窗体(11)关于窗体创新功能用户在此窗体中可以查看系统程序作者的相关信息。图:关于窗体本系统软件由北京联合大学管理学院0911030201班A和B共同完成。其中B负责学
8、生信息编辑窗体(Frm_Edit_xs窗体)和课程信息编辑窗体(Frm_Edit_kc窗体),其余部分由A完成。第2部分 设计实训题目功能算法设计(1)基础功能Frm_Edit_Xs窗体中添加过程(Command1_Click)的添加及保存算法第一步:判断Command1控件此时caption属性值是“添加”还是“保存”。If Command1.Caption = 添加 Then添加算法,执行第二步;Else保存算法,执行第四步;End If第二步:判断Adodc_xs中是否有记录,没有就直接添加记录,跳到第三步;否则判断输入的学号是否为空,不为空时,在Adodc_xs记录中查找条件为“学号=
9、s”的记录。并置于循环过程中,直至输入学号与Adodc_xs记录中学号不重复。If Adodc_xs.Recordset.RecordCount 0 ThenDos = InputBox(请输入学号, 输入)If s = Then Exit SubAdodc_xs.Recordset.MoveFirstAdodc_xs.Recordset.Find 学号= & s & If Adodc_xs.Recordset.EOF = False ThenMsgBox 学号重复,请重新输入End IfLoop While Adodc_xs.Recordset.EOF = FalseEnd If执行第三步。
10、第三步:将Adodc_xs指针移到新的空记录上,并置Command1控件Caption属性值为“保存”,Text1(0).Text = s,同时置Command2,Command3,.,Command6的Enabled属性为False。【添加】过程结束!Command1.Caption = 保存Command2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseCommand5.Enabled = FalseCommand6.Enabled = FalseAdodc_xs.Recordset.AddNewText1(0
11、).Text = s因为Text1(i)控件已经与Adodc_xs绑定,此时可以直接在Text1(i)控件中直接输入数据,添加记录。第四步:此时Text1(i)控件已经输入了数据。置Command1的Caption值为“添加”,同时更新保存Adodc_xs。同时置Command2,Command3,.,Command6的Enabled属性为True,并弹出消息框,提示“保存成功”。Command1.Caption = 添加Command2.Enabled = TrueCommand3.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled =
12、 TrueCommand6.Enabled = TrueAdodc_xs.Recordset.UpdateMsgBox 保存成功, , 保存(2)提高功能Frm_Login窗体中登录过程(cmddl_Click)的验证密码算法第一步:在Adodc_user中查找条件为“账号=Text1.Text”的记录,并将该记录中的账号字段、管理员字段值赋给username和glqx。如果没找到,弹出消息框提示,同时退出过程。Adodc_user.Recordset.MoveFirstAdodc_user.Recordset.Find 账号= & Text1.Text & If Adodc_user.Rec
13、ordset.EOF = True ThenMsgBox 用户账号错误,请重新输入!, vbCritical, 错误Exit SubEnd Ifusername = Adodc_user.Recordset!账号glqx = Adodc_user.Recordset!管理员第二步:判断该账号在Adodc_user中相对应的管理员类型与用户登录时所选的账号类型是否一致。不一致时,跳到Cuowu。If glqx = True ThenIf Option2.Value = False ThenGoTo CuowuExit Sub End IfElseIf Option1.Value = False
14、ThenGoTo CuowuExit SubEnd IfEnd If第三步:判断该账号的密码与Adodc_user中对应的密码字段是否一致,一致时,关闭本窗体同时显示系统主窗体。否则,跳Cuowu。If .Recordset!密码 Text2.Text ThenGoTo CuowuExit SubEnd IfFrm_Main.ShowUnload Me(3)创新功能Frm_ChengjiPaiming窗体中Command1_Click的排序算法第一步:找出i个数据(stu(1).avestu(i).ave)的最大值,并与第一个数据交换。第二步:在剩下的i-1个数据(stu(2).avestu(
15、i).ave)在找到最大值,并与第二个数据交换。第n步:在剩下的i-n+1个数据(stu(n).avestu(i).ave)在找到最大值,并与第n个数据交换。第i-1步:在剩下的两个数据(stu(i-1).ave)和(stu(i).ave)中找出最大值,并与第i-1个数据(stu(i-1).ave)交换。此时,剩下的第i个数据一定是最小值,排序结束。整个过程可以概括如下:For n=1 To i-1找出stu(n).ave到stu(i).ave中的最大值将最大值与第n个数据stu(n).ave交换Next n详细代码如下:For n = 1 To ik = nFor j = n + 1 To
16、iIf stu(j).ave stu(k).ave Thenk = jEnd IfNext jIf k n Thentemp = stu(n)stu(n) = stu(k)stu(k) = tempEnd IfNext n流程图设计(1)Frm_Login窗体中的登录事件的流程图:(2)Frm_Caxun_Cj窗体中的查询事件的流程图:(3)Frm_Caxun_Xs窗体中的查询事件的流程图:(4)Frm_ChengjiPaiming窗体中的确定事件的流程图:数据结构Type xuesheng 自定义学生总分成绩数据结构体 num As String 学号 name As String 姓名 s
17、um As Integer 总分 ave As Double 平均分 xjqk As String 学籍情况 End TypeType xuesheng2 自定义学生课程成绩数据结构体 num As String 学号 name As String 姓名 kcmq As String 课程名称 kcfs As interger 课程分数 xjqk As String 及格情况 End TypeDim i as Integer 定义i为动态、窗体级、数值型的简单变量Dim n as Integer 定义n为动态、窗体级、数值型的简单变量Dim s as String 定义s为动态、过程级、字符型
18、的简单变量Public username As String 定义username为动态、程序级、字符型的简单变量Public glqx As Boolean 定义glqx为动态、程序级、布尔型的简单变量Dim stu(1 To 1000) As xuesheng 定义stu为动态、过程级、xuesheng型的数组变量Dim stu2(1 To 1000) As xuesheng2 定义stu2为动态、过程级、xuesheng2型的数组变量程序代码设计(1)基础功能Frm_Edit_Kc窗体中的Command1_Click过程先判断Command1控件此时caption属性值是“添加”还是“保
19、存”。如果是则判断Adodc_xs中是否有记录,没有就直接添加记录;否则判断输入的学号是否为空,不为空时,在Adodc_xs记录中查找条件为“学号=s”的记录。并置于循环过程中,直至输入学号与Adodc_xs记录中学号不重复。将Adodc_xs指针移到新的空记录上,并置Command1控件Caption属性值为“保存”。置Command1的Caption值为“添加”,同时更新保存Adodc_xs。具体代码如下Dim s As StringIf Command1.Caption = 添加 Then With Adodc_kc If .Recordset.RecordCount 0 Then Do
20、 s = InputBox(请输入课程号, 输入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 课程号= & s & If .Recordset.EOF = False Then MsgBox 课程号重复,请重新输入 End If Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.E
21、nabled = False Command6.Enabled = False .Recordset.AddNew Text1.Text = s End With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_kc.Recordset.Update MsgBox 保存成功, , 保存 End If(2)提高功能Frm_User窗体中的Co
22、mmand1_Click过程先找到该账号在数据库中的位置,并判断Text1.Text与数据库中的密码是否一致,然后再判断新的密码与确认密码是否一致。都一致,刚修改成功。With Adodc1 .Recordset.MoveFirst .Recordset.Find 账号= & username & If .Recordset!密码 Text1.Text Then MsgBox 原密码错误!, vbCritical, 错误 Exit Sub End If If Text2.Text Text3.Text Then MsgBox 新的密码与确认密码不致,请重新输入!, vbCritical, 错误
23、 Exit Sub End If .Recordset!密码 = Text2.Text .Recordset.Update End With MsgBox 密码修改成功!, vbInformation, 成功 Unload Me(3)创新功能Frm_ChengjiPaiming窗体中的Command1_Click过程定义stu(1 To 1000)为xuesheng类型数组数据,用于储存所查找到的学生的信息及成绩。首先在学生数据表中一个一个的向stu(1 To 1000)写入学生的信息,同时,再向成绩表中查询该学生的所有课程的总分及平均分,并写入stu(1 To 1000)。然后,再利用排序算
24、法对stu(1 To 1000)进行排序,然后输入到List1。Dim stu(1 To 1000) As xuesheng, temp As xueshengWith Adodc1 .Refresh .Recordset.MoveFirst i = 1 Do stu(i).num = .Recordset!学号 stu(i).name = .Recordset!姓名 With Adodc2 .Refresh .Recordset.Filter = (学号= & stu(i).num & ) k = 0 .Recordset.MoveFirst Do stu(i).sum = stu(i).s
25、um + .Recordset!成绩 .Recordset.MoveNext k = k + 1 Loop While .Recordset.EOF = False stu(i).ave = stu(i).sum / k If stu(i).ave = 60 Then stu(i).xjqk = 正常 Else stu(i).xjqk = 留级 End If End With i = i + 1 .Recordset.MoveNext Loop While .Recordset.EOF = False End With完整程序请见附录。测试与调试Frm_Edit_xs窗体中添加新学生信息的测试
26、与调试。表1:数据测试测试数据类型测试数据预期结果实测结果合法数据200911030213420091103021342009110302134091103020109110302010911030201AAA非法数据学号201120105201120105学号重复,请重新输入出生日期1231212112312121实时错误-2147217887第3部分 实训总结个人总结(1)A总结忙碌了一个多星期,我们总算将程序设计出来,同时还将报告写完了,这真是一个坚苦而又漫长的过程啊,在我们学了半年了VB语言之后编写这么大的程序啊,看着我们自己做的程序,自己的劳动成果,觉得特别有成就感和自豪感。我很荣幸
27、成为我们组的组长,因为我们组组员的水平参差不齐,所以做为组长,我需要根据组员的具体情况合理地为他们分配任务,由于B同学在此方面比较弱,所以我给他们分配比较简单的任务,而自己则负责比较复杂的任务。通过此次VB语言程序设计实践,我觉得受益非浅,学到了很多东西,也得到了很大的煅烧。刚开始的时候,最主要的就是构思,所以一开始的时候,进展并不是很顺利,结果,一个上午时间内,没做多少东西。在整个程序的构思和数据库基本完成之后,终于慢慢的,就有了一些眉目了,后来慢慢的也就把整个程序都做出来的,我们组兴奋不已。虽然整个程序都做出来了,但是我们发现了很多的问题,我们慢慢的细心的仔细寻找问题出错的原因,最后,在我
28、们的努力下,将错误都解决了。为了找出问题的所在,也为了能让程序更完美,我查阅了很多的资料,每一次程序成功的运行,都让我们感到由衷的欢喜。也曾经因为做了半天的东西,结果VB死机,而要重新做。通过这次实训,我学到了很多东西,也让我对VB语言程序有了一个更深层次的了解和认识,它不仅让我对过去一学期所学的知识得到了巩固,也让我认识到自己的不足,它让我知道了分工合作的快乐和意义,让我们的知识有了更一步的拓展,这次的实训就像是人生中的一次磨炼,让我成熟了很多。在今后,我还会再努力。路漫漫其修远兮,吾将上下而求索。(2)B总结通过本次实训对VB学科的学习,我掌握了许多有关VB学科的知识。在本次实训中,我的V
29、B学科知识更加丰富了,比如,对代码和窗体的调用有了更深一部的了解,但是还是发现有些知识点掌握不是很牢,所以我会努力学习,掌握所学知识。在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。首先,它锻炼了我做项目的能力,提高了自己独立思考问题、自己动手操作的能力,在编写调试运行程序的过程中,我掌握了很多应用知识的技巧。其次,实训中的项目作业也使我更加有团队精神,我们小组每个人都有自己分配到的任务,但我们又是一个联系在一起的整体,需要大家共同的合作,在以后的工作学习中我会更加努力培养自己的团队精神。在实训中,我发现其实错误并不可怕,而且他是通往成功的必经之路,我在刚开始编写程序时,刚编完一小部
30、分,试着运行试试竟然漏洞百出,当时我就不值所措了,还好我组同学积极帮助我,给我讲解,帮我改正错误。就这样,我在同组同学的帮助下顺利完成了我的编程工作,所以我意识到团队的合作也是非常重要的,我们有了坚定的团队理念,我们有着同样的勇气,因此我们也选择了更大的挑战。只有团队的合作好了,小组的水平才能得到最大的发挥,让每一个人的到最大的提高。工欲善其事必先利其器。在项目开发中,我们团队也出现了一些意见不和,但是我们的团队的理念告诉我们:集思广益,海纳百川。正是由于我们对问题有着不同的想法,这样才能真正的集思广益,通过大家的不断沟通,很多问题我们都解决了,这是对我们自己的鼓舞,也是对我们沟通能力和理解能
31、力的提升。山高人为峰,我们真正了解到了这句话的含义。困难像弹簧,你强它就弱。你弱它就强。当我们不畏困难时,勇于挑战困难,挑战自己时,我们才发现我们又成长了。我认为学校组织实训的目的有两个,第一是让我们更好的掌握所学的知识,因为之后实践才能更好的让我们把所学的东西记住,之后达到掌握。第二是增强团队意识,学会与人合作,团队合作是一件非常重要的事情,一个团队的人要学会如何发挥每一个队员的长处,每一个人的力量是微薄的,但是一个团队的人的力量合起来就很大,不论是现在的学习还是今后走向社会,团队合作意识是不可缺少的,个人之后完美的融入团队才能发挥出个人的最大力量。可以说这次实训不仅使我学到了知识,也帮助我
32、缩小了实践和理论的差距,这次实训将会有利于我更好的适应以后的工作。我会把握和珍惜实训的机会,在未来的工作中我会把学到的理论知识和实践经验不断的应用到实际工作中,为实现理想而努力。以上就是我在这次实训中学到的东西,今后我还会继续努力学习。结束语在两个星期的学习过程中,我们学习到了很多,在我们设计程序的时候,我们的辅导老师张利霞老师给了我们很大的帮助和支持;同时,在此也向我们的学校北京联合大学表示感谢,感谢学校为我们提供一个可以煅烧的机会的平台。在此特向他们表示真挚的感谢。附录 程序清单(1)Module_XJGL模块代码Type xuesheng 自定义学生部分成绩数据结构体 num As St
33、ring 学号 name As String 姓名 sum As Integer 总分 ave As Double 平均分 xjqk As String 学籍情况End TypeType xuesheng2 自定义学生课程成绩数据结构体 num As String 学号 name As String 姓名 kcmq As String 课程名称 kcfs As Integer 课程分数 jgqk As String 及格情况End TypePublic username As String 用户名Public glqx As Boolean 判断用户是否是管理员Sub main() Frm_S
34、tart.ShowEnd Sub(2)Frm_Start窗体代码Private Sub Form_Load() 初始化进度条 ProgressBar1.Min = 0 ProgressBar1.Max = 1000 ProgressBar1.Value = 0End SubPrivate Sub Timer1_Timer() 计时器 ProgressBar1.Value = ProgressBar1.Value + 100 If ProgressBar1.Value = 1000 Then Unload Me Frm_Login.Show End IfEnd Sub(3)Frm_Login窗体
35、代码Dim n As IntegerPrivate Sub cmddl_Click() 【登录事件】 If Text1.Text = Then MsgBox 请输入用户名!, vbCritical, 错误 Exit Sub End If With Adodc_user .Recordset.MoveFirst .Recordset.Find 账号= & Text1.Text & If .Recordset.EOF = True Then MsgBox 用户账号错误,请重新输入!, vbCritical, 错误 Exit Sub End If username = .Recordset!账号 g
36、lqx = .Recordset!管理员 If glqx = True Then If Option2.Value = False Then GoTo Cuowu Exit Sub End If Else If Option1.Value = False Then GoTo Cuowu Exit Sub End If End If If .Recordset!密码 Text2.Text Then GoTo Cuowu Exit Sub End If End With Frm_Main.Show Unload Me Exit SubCuowu: 密码错误情况 n = n + 1 MsgBox 密
37、码错误,请重新输入!, vbCritical, 错误 Text2.Text = If n = 3 Then MsgBox 您输入错误达到3次,为了保护账号安全,系统将自动退出, vbCritical, 系统将自动退出 End End IfEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cmddl_ClickEnd SubPrivate Sub cmdexit_Click() 【退出事件】 EndEnd SubPrivate Sub Text2_KeyPress(KeyAscii As In
38、teger) If KeyAscii = 13 Then cmddl_ClickEnd SubPrivate Sub Form_Activate() Text1.SetFocusEnd Sub(4)Frm_Main窗体代码Private Sub cjpm_Click() 【打开成绩排名窗体】 Frm_ChengjiPaiming.Show vbModal, MeEnd SubPrivate Sub cx_cj_Click() 【打开查询成绩窗体】 Frm_Caxun_Cj.Show vbModal, MeEnd SubPrivate Sub cx_xs_Click() 【打开查询学生窗体】 F
39、rm_Caxun_Xs.Show vbModal, MeEnd SubPrivate Sub edit_cj_Click() 【打开编辑成绩窗体】 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit Sub End If Frm_Edit_Cj.Show vbModal, MeEnd SubPrivate Sub edit_kc_Click() 【打开编辑课程信息窗体】 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit Sub End If Frm_Edit_Kc.
40、Show vbModal, MeEnd SubPrivate Sub edit_xs_Click() 【打开编辑学生信息窗体】 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit Sub End If Frm_Edit_Xs.Show vbModal, MeEnd SubPrivate Sub Form_Load() If glqx = True Then Label1.Caption = 学籍管理-管理员 Else Label1.Caption = 学籍管理-普通用户 End If StatusBar1.Panels(1) =
41、您好! & usernameEnd SubPrivate Sub ggmm_Click() 【打开设置密码窗体】 Frm_User.Show vbModal, MeEnd SubPrivate Sub guanyu_Click() 【打开关于窗体】 Frm_About.Show vbModal, MeEnd SubPrivate Sub Timer1_Timer() StatusBar1.Panels(2) = & TimeEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 【图标栏】 Sele
42、ct Case Button.Key Case tu1 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit Sub End If Frm_Edit_Xs.Show vbModal, Me Case tu2 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit Sub End If Frm_Edit_Kc.Show vbModal, Me Case tu3 If glqx = False Then MsgBox 您没有相应的权限, vbCritical, 错误 Exit
43、Sub End If Frm_Edit_Cj.Show vbModal, Me Case tu4 Frm_Caxun_Xs.Show vbModal, Me Case tu5 Frm_Caxun_Cj.Show vbModal, Me Case tu6 Frm_ChengjiPaiming.Show vbModal, Me End SelectEnd SubPrivate Sub tuichu_Click() 【退出】 EndEnd SubPrivate Sub zhuxiao_Click() 【更改用户】 Unload Me Frm_Login.ShowEnd Sub(5)Frm_User窗
44、体代码Private Sub Command1_Click() 【修改密码】With Adodc1 .Recordset.MoveFirst .Recordset.Find 账号= & username & If .Recordset!密码 Text1.Text Then MsgBox 原密码错误!, vbCritical, 错误 Exit Sub End If If Text2.Text Text3.Text Then MsgBox 新的密码与确认密码不致,请重新输入!, vbCritical, 错误 Exit Sub End If .Recordset!密码 = Text2.Text .R
45、ecordset.Update End With MsgBox 密码修改成功!, vbInformation, 成功 Unload MeEnd SubPrivate Sub Command2_Click() 【取消】 Unload MeEnd SubPrivate Sub Form_Load() With Adodc1 .Recordset.MoveFirst .Recordset.Find 账号= & username & If .Recordset!密码 = Then Label1.Visible = False Text1.Visible = False End If End WithE
46、nd Sub(6)Frm_Edit_Xs窗体代码Private Sub Command1_Click() 【添加】Dim s As StringIf Command1.Caption = 添加 Then With Adodc_xs If .Recordset.RecordCount 0 Then Do s = InputBox(请输入学号, 输入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 学号= & s & If .Recordset.EOF = False Then MsgBox 学号重复,请重新输入 End If
47、Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False .Recordset.AddNew Text1(0).Text = s End With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled
48、 = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_xs.Recordset.Update MsgBox 保存成功, , 保存 End IfEnd SubPrivate Sub Command2_Click() 【上一条】 With Adodc_xs .Recordset.MovePrevious If .Recordset.BOF = True Then .Recordset.MoveFirst Command2.Enabled = False MsgBox 已经是第一条记
49、录 Else Command3.Enabled = True Command2.Enabled = True End If End WithEnd SubPrivate Sub Command3_Click() 【下一条】 With Adodc_xs .Recordset.MoveNext If .Recordset.EOF = True Then .Recordset.MoveLast Command3.Enabled = False MsgBox 已经 是最后一条记录 Else Command3.Enabled = True Command2.Enabled = True End If E
50、nd WithEnd SubPrivate Sub Command4_Click() 【搜索】 Dim s As String With Adodc_xs s = InputBox(请输入要查询的学号) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 学号= & s & If .Recordset.EOF = True Then .Recordset.MoveFirst MsgBox 没有找到! End If End WithEnd SubPrivate Sub Command5_Click() 【修改】 With Adodc
51、_xs If Command5.Caption = 修改 Then Command5.Caption = 保存 Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command6.Enabled = False Else Command5.Caption = 修改 .Recordset.Update Command1.Enabled = True Command2.Enabled = True Command3.Enabled = True Co
52、mmand4.Enabled = True Command6.Enabled = True End If End WithEnd SubPrivate Sub Command6_Click() 【删除】 With Adodc_xs If MsgBox(您确定要删除该记录吗?, vbYesNo + vbQuestion, 确定) = vbYes Then If .Recordset.EOF = False Then .Recordset.Delete .Recordset.Update .Recordset.MoveFirst Else MsgBox 没有记录! End If End If En
53、d WithEnd SubPrivate Sub Command7_Click() 【返回】 Unload MeEnd Sub(7)Frm_Edit_Kc窗体代码Private Sub Command1_Click() 【添加】Dim s As StringIf Command1.Caption = 添加 Then With Adodc_kc If .Recordset.RecordCount 0 Then Do s = InputBox(请输入课程号, 输入) If s = Then Exit Sub .Recordset.MoveFirst .Recordset.Find 课程号= & s
54、 & If .Recordset.EOF = False Then MsgBox 课程号重复,重新输入, vbCritical, 错误 End If Loop While .Recordset.EOF = False End If Command1.Caption = 保存 Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False .Recordset.AddNew Text1.Text = s End
55、With Else Command1.Caption = 添加 Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command5.Enabled = True Command6.Enabled = True Adodc_kc.Recordset.Update MsgBox 保存成功, , 保存 End IfEnd SubPrivate Sub Command2_Click() 【修改】 With Adodc_kc If Command2.Caption = 修改 Then Command2.Capt
56、ion = 保存 Command1.Enabled = False Command5.Enabled = False Command3.Enabled = False Command4.Enabled = False Command6.Enabled = False Else Command2.Caption = 修改 .Recordset.Update Command1.Enabled = True Command5.Enabled = True Command3.Enabled = True Command4.Enabled = True Command6.Enabled = True E
57、nd If End WithEnd SubPrivate Sub Command3_Click() 【上一条】 With Adodc_kc .Recordset.MovePrevious If .Recordset.BOF = True Then .Recordset.MoveFirst Command3.Enabled = False MsgBox 已经是第一条记录 Else Command3.Enabled = True Command4.Enabled = True End If End WithEnd SubPrivate Sub Command4_Click() 【下一条】 With
58、 Adodc_kc .Recordset.MoveNext If .Recordset.EOF = True Then .Recordset.MoveLast Command4.Enabled = False MsgBox 已经是最后一条记录 Else Command4.Enabled = True Command3.Enabled = True End If End WithEnd SubPrivate Sub Command5_Click() 【搜索】 Dim s As String With Adodc_kc s = InputBox(请输入要查询的课程号) If s = Then Ex
59、it Sub .Recordset.MoveFirst .Recordset.Find 课程号= & s & If .Recordset.EOF = True Then .Recordset.MoveFirst MsgBox 没有找到记录!, vbCritical, 错误 End If End WithEnd SubPrivate Sub Command6_Click() 【删除】 With Adodc_kc If MsgBox(您确定要删除该记录吗?, vbYesNo + vbQuestion, 确定) = vbYes Then If .Recordset.EOF = False Then
60、.Recordset.Delete .Recordset.Update .Recordset.MoveFirst Else MsgBox 没有记录!, vbCritical, 错误 End If End If End WithEnd SubPrivate Sub Command7_Click() 【返回】 Unload MeEnd Sub(8)Frm_Edit_Cj窗体代码Private Sub Command1_Click() 【添加】Dim s As String, kcmq As String, xuehao As StringIf Command1.Caption = 添加 Then
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 竹材加工的标准化生产考核试卷
- 木工艺品历史文化研究考核试卷
- 航空运动服务相关主题名称续考核试卷
- 租赁设备的个性化定制与市场适应性分析考核试卷
- 纺织杂品生产流程考核试卷
- 畜牧养殖废弃物资源化利用模式创新与实施考核试卷
- 股权融资的定义和用途考核试卷
- 煤炭批发商市场拓展与布局考核试卷
- 网络直播平台电商产品联动推广合同
- 质押债权补充协议书
- 2024年重庆市初中学业水平考试生物试卷试题真题(含答案详解)
- 如果历史是一群喵
- 2024年四川省泸州市中考语文试卷真题(含答案)
- 2025届高三语文一轮复习学法指导专题讲座
- 2024年江苏省扬州市广陵区中考二模道德与法治试题
- 临床诊疗指南及规范自查报告
- MOOC 电工学(电气工程学概论)-天津大学 中国大学慕课答案
- 电厂预防触电培训课件
- DB13-T1725-2013高粱抗蚜性评价技术规程
- 相关方需求和期望识别评价表
- 西南科技大学井巷工程课程设计样本
评论
0/150
提交评论