1、布尔3.1.2学生基本信息表包括学号、姓名、电话、地址、班级名称、性别。学号姓名电话地址班级名称性别3.1.3班级课程表包括班级名称、课程名称。课程名称3.1.4学生成绩表包括学号、课程名称、成绩。成绩数值(单精度浮点型)3.2.数据库中各表关系学生基本信息表与班级课程表通过班级名称字段相关联,学生基本信息表与学生成绩表通过学号字段相关联,班级课程表与学生成绩表通过课程名称字段相关联。4.系统实现4.1.标准模块(公有模块)4.1.1标准模块中的数据定义 用于定义全局变量及过程。本系统定义了当前用户名及用户类型。序号变量名1UserNameString2UserTypeBoolean4.1.2
2、标准模块代码设计Option Explicit Public UserName As String Public UserType As Boolean4.2.系统登录模块4.2.1说明特定的用户才能登录到系统。4.2.2窗体设计系统登录窗体的窗体类型为Form,界面如下图所示:主要控件属性如下表所示:对象名类型属性值说明FrmLogin窗体Caption学生成绩管理系统登录学生成绩管理系统登录窗体Label1标签用户名:Label2密码:Text1文本框Text用于输入用户名Text2用于输入密码cmdOk命令按钮确定确定当前输入的用户名和密码,进行用户登录。登录成功后进入主界面。如果三次输
3、入错误的用户和密码,程序将自动退出cmdCancel取消取消操作,退出程序Adodc1AdodcConnectionString连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。4.2.3代码设计公共定义Dim Count1 As Integer窗体装载处理程序(Load)Private Sub Form_Load() Count1 = 0 错误次数清零End Sub取消按钮(cmdCancel)处理程序(Click)Private Sub cmdCancel_Click() Unload Me 系统退出确定按钮(cmdOk)处理程
4、序(Click)Private Sub cmdOk_Click() Dim s1 As String Dim Password As StringOn Error Resume Next If Text1.Text = Then 用户名为空,则退出 MsgBox (用户名不能为空,请重新输入) Text1.SetFocus Exit SubEnd If 按输入的用户名进行查询 s1 = SELECT * from 用户表 WHERE 用户名= & Text1.Text & Adodc1.RecordSource = s1 Adodc1.Refresh If Adodc1.Recordset.E
5、OF = False Then 判断查询结果 UserName = Adodc1.Recordset.Fields(0) 有该用户名,即用户名正确 Password = Adodc1.Recordset.Fields(1) UserType = Adodc1.Recordset.Fields(2) If Password = Text2.Text Then 判断密码是否正确 Unload Me 密码正确,关闭当前窗体 FrmMain.Show 显示主界面窗体 Else密码错误,请重新输入) 密码错误,提示 Text2.SetFocus Text2.Text = End If Else 没有该用
6、户名,即用户名错误 MsgBox 用户名错误,请重新输入 Text1.Text = Count1 = Count1 + 1 错误次数累计 If Count1 = 3 Then错误超过3次,系统退出 Unload Me4.3.主界面模块4.3.1说明4.3.2窗体设计主界面模块窗体类型为MDIForm,界面如下图所示。4.3.3代码设计窗体变为活动窗体处理程序(MDIFormActivate)Private Sub MDIForm_Activate() WindowState = 2 窗体最大化状态 StatusBar1.Panels(1).Text = 用户名: UserName 在状态栏显示
7、用户名、用户类型 If UserType = True Then StatusBar1.Panels(2).Text = 用户类型: 管理员 普通用户 If UserType = False Then 对普通用户设某些菜单项不可用 AA1.Enabled = False BB1.Enabled = False CC.Enabled = False DD1.Enabled = False Toolbar1.Buttons(1).Enabled = False 对普通用户设工具栏的某些按钮不可用 Toolbar1.Buttons(3).Enabled = False Toolbar1.Button
8、s(6).Enabled = False Toolbar1.Buttons(7).Enabled = False Toolbar1.Buttons(9).Enabled = False定时器(Timer1)处理程序(Timer)Private Sub Timer1_Timer() StatusBar1.Panels(3).Text = Now 在状态栏中显示当前时间工具栏(Toolbar1)处理程序(ButtonClick)Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Butto
9、n.Index Case 1 Form11.Show (1) 用户管理 Case 3 Form21.Show (1) 学生基本信息维护 Case 4 Form22.Show (1) 学生基本信息查询 Case 6 Form31.Show (1) 课程添加 Case 7 Form32.Show (1) 课程删除 Case 9 Form41.Show (1) 学生成绩维护 Case 10 Form42.Show (1) 学生成绩查询 Case 12 Unload Me 系统退出 End Select“用户管理”菜单项处理程序(AA1Click)Private Sub AA1_Click() For
10、m11.Show (1)“退出”菜单项处理程序(AA3click)Private Sub AA3_Click()“学生基本信息维护”菜单项处理程序(BB1click)Private Sub BB1_Click() Form21.Show (1)“学生基本信息查询”菜单项处理程序(BB2click)Private Sub BB2_Click() Form22.Show (1)“课程添加”菜单项处理程序(CC1click)Private Sub CC1_Click() Form31.Show (1)“课程删除”菜单项处理程序(CC2click)Private Sub CC2_Click() For
11、m32.Show (1)“学生成绩维护”菜单项处理程序(DD1click)Private Sub DD1_Click() Form41.Show (1)“学生成绩查询”菜单项处理程序(DD2click)Private Sub DD2_Click() Form42.Show (1)4.4.用户管理模块4.4.1说明创建、删除用户。设定用户权限。4.4.2窗体设计4.4.3代码设计上一条(Command1)处理(Click)Private Sub Command1_Click() Command2.Enabled = True Adodc1.Recordset.MovePrevious If Ad
12、odc1.Recordset.BOF Then Command1.Enabled = False Adodc1.Recordset.MoveFirst下一条(Command2)处理(Click)Private Sub Command2_Click() Command1.Enabled = True Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Command2.Enabled = False Adodc1.Recordset.MoveLast添加(Command3)处理(Click)Private Sub Command3_Cli
13、ck() If Command3.Caption = 添加 Then Command3.Caption = 确定 Command4.Enabled = False Adodc1.Recordset.AddNew用户名不能为空 Adodc1.Recordset.Update Command4.Enabled = True删除(Command4)处理(Click)Private Sub Command4_Click() Adodc1.Recordset.Delete退出(Command5)处理(Click)Private Sub Command5_Click()4.5.学生基本信息管理模块4.5.
14、1说明学生基本信息的添加、删除、查询。该模块有两个窗体:学生基本信息维护窗体和学生基本信息查询窗体4.5.2学生基本信息维护窗体4.5.2.1.窗体设计Form21学生基本信息维护连接所使用的数据库,ConnectionString、RecordSource属性都在界面中设置。作为DataGrid1的数据源RecordSourceCommandType2adCmdTable学生基本信息表DataGrid1DataGridDataSource用于显示学生基本信息表内容Command1退出4.5.2.2.代码设计 DataGrid1.AllowAddNew = True DataGrid1.All
15、owDelete = True DataGrid1.AllowUpdate = True退出(Command1)处理(Click)4.5.3学生基本信息查询窗体4.5.3.1.窗体设计Form22学生基本信息查询学生基本信息查询窗体Adodc2连接所使用的数据库,ConnectionString、RecordSource属性都在界面设置。作为DataList1的数据源CommandType 1adCmdTextSELECT DISTINCT 班级名称 FROM 学生基本信息表Check1复选按钮选择查询条件Check2Check3班级用于输入姓名用于输入学号DataList1DataListR
16、owSource用于选择输入班级名称ListFieldDataListField显示查询得到的学生基本信息查询Command24.5.3.2.代码设计查询(Command1)处理(Click )s1 = If Check1.Value = 1 Then If Text1.Text s1 = s1 &姓名= If Check2.Value = 1 Then If Text2.Text If s1 and 学号= Text2.Text & If Check3.Value = 1 Then If DataList1.Text 班级名称= DataList1.Text &where s1 Adodc1
17、.RecordSource = select * from 学生基本信息表 Set DataGrid1.DataSource = Adodc1退出(Command2)处理(Click) DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False4.6.选课模块4.6.1说明该模块为一个班级选课。4.6.2课程添加窗体用于课程的添加和查询4.6.2.1.窗体设计Form31课程添加课程添加窗体用于输入班级名称用于输入课程名称显示该班级课程添加Command34.6.2.2.代码
18、设计添加(Command1)处理(Click) Dim s1 As String, s2 As String On Error Resume Next Or Text2.Text = 输入不能为空select * from 班级课程表 where 班级名称= s2 = Text1.Text & and 课程名称= Adodc1.RecordSource = s1 & s2 If Adodc1.Recordset.EOF = False Then该记录已存在,请重新输入, , 警告select * from 班级课程表 Adodc1.Recordset.Fields(班级名称) = Text1.Text课程名称) = Text2.Textselect 课程名称 from 班级课程表 where 班级名称= Set DataGrid1.DataSource = Adodc1.Recordset查询(Command2)处理(Click)退出(Command3)处理(Click)Pr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1