《学生档案管理系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《学生档案管理系统的设计与实现.pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-学生档案管理系统项目应用开发 数据库应用程序的开发始终算得上是 VB 编程中的难点,这是因为你不仅要熟悉 VB 中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。本系统主要用来实现学生基本情况和学生成绩的录入、修改、查询、删除和打印等功能。通过本系统,可以了解如何使用 Visual Basic 来开发一个比较完整的数据库应用程序。用到的数据库控件有 DATA、ADO,添加的一个数据环境。一、系统结构图 本系统主要包括学生基本情况更新,学生基本情况维护和学生成绩维护 3 个大的模块,各个模块的具体功能如图所示:图 1-1 应用程序的功能模块结构图 二、数据库的建立 本系统用
2、到的数据库是用 Visual Basic 的外加工具 Visual Data Manager(可视化数据管理器)创建,名为 student.mdb(是 access 数据库),其中用到两个表,分别为:基本情况表和学生成绩表。两表的结构如下所示:学生档案管理系统 学生基本情况更新 学生基本情况维护 学生成绩维护 添加 删除 修改 查询 选择专业 修改 添加 删除 打印 按专业查询 添加成绩 查找 打印 按学号查找 按专业查找-表 1-1 表 1-2 制作过程如下:1、选择 VB 外接程序菜单中的可视化数据管理器,进入可视化数据管理器;2、在可视化数据管理器中选择文件菜单中的新建选项建立数据库文件
3、,然后从数据库厂家列表中选择要创建的数据库类型(本例选择 Microsoft Access 中的 VersionMDB 2.0 版本);3、在选择要创建的 Microsoft Access 数据库对话框中,输入数据库名 student,按确定按钮进入数据库窗口;4、在数据库窗口中单击鼠标右键并从弹出式菜单中选择新建表来创建 student.mdb 数据库中的两个表(基本情况表和学生成绩表)。三、各个窗体的设计与实现(一)主窗体的设计与实现 首先在 VB 中新建一个标准工程并起名为成绩管理,在标准工程中添加一个 MDI 窗体并起名为 Frmmain。主窗体的设计界面如图 1-2 所示:图 1-2
4、 主窗体的设计界面 在主窗体中主要应用了菜单、工具栏和状态栏。下面分别介绍这些组成部分的功能。1、菜单的设计 菜单是 Windows 应用程序中的重要组成部分,这里将对每个菜单项及其子菜单的功能进行简单介绍,如表 1-1 所示。字段名 类型 宽度 学号 Text 6 姓名 Test 10 性别 Text 2 班级 Text 20 出生年月 Data/Time 8 政治面貌 Text 4 家庭住址 Text 20 电话 Text 8 E_mail Text 20 照片 Binary 0 字段名 类型 宽度 学号 Text 6 课程 Test 8 成绩 Long 4 学期 Integer -表 1
5、-3 应用程序的菜单项列表 主菜单名 子菜单项 菜单功能 数据维护(Repair)情况表更新(Edit)显示学生情况表更新窗体 情况表维护(Cedit)显示学生情况表维护窗体 成绩表维护(Cjwh)显示学生成绩表维护窗口 退出本系统(Quit1)退出应用程序 帮助(Help)关于系统(Absystem)显示关于系统窗体 系统帮助(Abhelp)显示系统帮助窗体 退出(Exit)推出本系统(Quit)退出应用程序 MID 应用程序中,父窗体可以有自己的菜单,子窗体也可以有属于自己的菜单。这些菜单的创建都可以利用 Menu Editor 来进行创建。2、Imagelist 控件 程序包括一个 Im
6、agelist 控件,它用来为工具栏提供图片。在程序的基本控件中没有此项控件,添加此控件的方法是在基本控件的空白处点击鼠标右键,在出现的快捷菜单中选择部件,之后在部件对话框中的部件选项卡中选择 Microsoft Windows common controls 6.0 控件,确定即可。在窗体中添加一个 Imagelist 控件,名为默认的 Imagelist1,再为此控件添加几个图标。3、工具栏设计 工具栏提供了便捷的操作方式来完成应用程序常用的操作。在现在的 Windows 应用程序中,工具栏已经成为非常主要的组成部分。本例工具栏的设计步骤为:首先在窗体中添加一个 toolbar控件,之后为
7、此控件添加 6 个按钮,并把每个按钮分别和 Imagelist1 控件的图片绑定。4、状态栏设计 在主窗体上添加一个 Statusbar 控件,用鼠标右键点击此控件,在属性页的对话框中为窗体添加 6 个窗格,分别放置窗口信息和显示当前日期和时间。5、主窗体界面的代码实现 菜单的 Click 事件代码:Private Sub CEDIT_Click()Unload Frmjbgx Unload frmcj Unload FrmHELP Unload Frmwelcome Unload frmabout Load Frmjbwh Frmjbwh.Show End Sub Private Sub c
8、jwh_Click()Unload Frmjbgx Unload Frmjbwh Unload FrmHELP Unload Frmwelcome Unload frmabout Load frmcj-frmcj.Show End Sub Private Sub EDIT_Click()Unload Frmjbwh Unload frmcj Unload FrmHELP Unload Frmwelcome Unload frmabout Load Frmjbgx Frmjbgx.Show End Sub Private Sub Absystem_Click()Unload Frmjbgx Un
9、load frmcj Unload Frmjbwh Unload Frmwelcome Unload frmabout Load FrmHELP FrmHELP.Show End Sub Private Sub Ahelp_Click()Unload Frmjbgx Unload frmcj Unload FrmHELP Unload Frmwelcome Unload Frmjbwh Load frmabout frmabout.Show End Sub Private Sub quit_Click()Frmmain.Hide Unload Frmmain End Sub Private S
10、ub quit1_Click()Frmmain.Hide Unload Frmmain End Sub 窗体的 Load 事件代码:-Private Sub MDIForm_Load()Load Frmwelcome Frmwelcome.Show End Sub 工具栏的 Buttonclick 事件代码:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 1 Unload Frmjbwh Unload frmcj Unload FrmHELP Un
11、load Frmwelcome Unload frmabout Load Frmjbgx Frmjbgx.Show Case 2 Unload Frmjbgx Unload frmcj Unload FrmHELP Unload Frmwelcome Unload frmabout Load Frmjbwh Frmjbwh.Show Case 3 Unload Frmjbgx Unload Frmjbwh Unload FrmHELP Unload Frmwelcome Unload frmabout Load frmcj frmcj.Show Case 4 Unload Frmjbgx Un
12、load frmcj Unload FrmHELP Unload Frmwelcome Unload Frmjbwh Load frmabout frmabout.Show Case 5 Unload Frmjbgx Unload frmcj Unload Frmjbwh-Unload Frmwelcome Unload frmabout Load FrmHELP FrmHELP.Show Case 6 Frmmain.Hide Unload Frmmain End Select End Sub (二)学生基本情况更新窗体的设计与实现 首先在工程中添加一个标准窗体并起名为 Frmjbgx。再在
13、基本空间上添加一个通用对话框控件,方法是在基本控件的空白处按鼠标右键,选择部件,在部件对话框中选择 Microsoft Common Dialog Control 6.0 控件,按确定按钮。然后在窗体上添加各种控件,如图 1-3 设计屏幕,然后添加程序代码。在图中,其主要控件、主要属性、控件说明(一些次要控件如按钮、标签,次要属性如 Height、Width 除非特别,否则将不特别说明,读者可以根据具体情况来设定)如表 1-4 所示:图 1-3 基本情况更新设计界面 表 1-3 控件、主要属性、控件说明表-注意:在设置 Data1 的 Databasename 属性时,不要 student.m
14、db 之前的路径,这样可以不限制应用程序的路径。窗体的运行结果如图 1-4 所示:图 1-4 基本情况更新窗体的运行结果 基本情况更新设计代码实现 控件名称 主要控件属性名称 属性值 功能说明 Frmjbgx Caption 基本情况更新 名称 frmjbgx BorderStyle 2 Sizable Mdichild True 把此窗体作为子窗体 Windowstate Maximized 运行是最大化 Frame 名称 Frame1 Caption 基本情况更新 CommonDialog 名称 Commondialog1 Data 名称 Data1 Connect Access 选择 A
15、ccess 数据源 Databasename Student.mdb 选择数据源的名称 Recordsource 基本情况 和数据表进行绑定 Image 名称 Image1 Stretch True 调整图片大小以适应该控件 Enabled False 初始状态为不可用 Text 名称 Text1Text9 text1_text9和数据库Student.mdb 的基本情况表的各个字段进行绑定 Datasource Data1 Datafield 学号E_MAIL Enabled False 初始状态为不可用 Command 名称 Command4 Caption 放弃 Enabled Fals
16、e 初始状态为不可用 Command 名称 Command10 Caption 添加照片 Enabled False 初始状态为不可用-添加按钮的 Click 事件代码:Private Sub Command1_Click()On Error Resume Next 点击此按钮时,除放弃和添加照片按钮外,其他均不可用 Command2.Enabled=Not Command2.Enabled Command3.Enabled=Not Command3.Enabled Command4.Enabled=Not Command4.Enabled Command5.Enabled=Not Comma
17、nd5.Enabled Command6.Enabled=Not Command6.Enabled Command7.Enabled=Not Command7.Enabled Command8.Enabled=Not Command8.Enabled Command9.Enabled=Not Command9.Enabled Command10.Enabled=Not Command10.Enabled If Command1.Caption=添 加 Then Text1.Enabled=True Text2.Enabled=True Text3.Enabled=True Text4.Enab
18、led=True Text5.Enabled=True Text6.Enabled=True Text7.Enabled=True Text8.Enabled=True Text9.Enabled=True Image1.Enabled=True Command1.Caption=确 定 添加一条空白记录 Data1.Recordset.AddNew Text1.SetFocus Else Text1.Enabled=False Text2.Enabled=False Text3.Enabled=False Text4.Enabled=False Text5.Enabled=False Tex
19、t6.Enabled=False Text7.Enabled=False Text8.Enabled=False Text9.Enabled=False Image1.Enabled=False 把数据真正添加到表中 Data1.Recordset.Update Data1.Recordset.MoveLast Command1.Caption=添 加-End If End Sub 删除按钮的 Click 事件代码:Private Sub Command2_Click()On Error Resume Next Data1.Recordset.Delete Data1.Recordset.Mo
20、veNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub 修改按钮的 Click 事件代码:Private Sub Command3_Click()On Error Resume Next Command1.Enabled=Not Command1.Enabled Command2.Enabled=Not Command2.Enabled Command4.Enabled=Not Command4.Enabled Command5.Enabled=Not Command5.Enabled Command10.Enab
21、led=Not Command10.Enabled If Command3.Caption=修 改 Then Text1.Enabled=True Text2.Enabled=True Text3.Enabled=True Text4.Enabled=True Text5.Enabled=True Text6.Enabled=True Text7.Enabled=True Text8.Enabled=True Text9.Enabled=True Image1.Enabled=True Data1.Recordset.EDIT Text1.SetFocus Command3.Caption=确
22、 定 Else Command3.Caption=修 改 Data1.Recordset.Update Text1.Enabled=False Text2.Enabled=False Text3.Enabled=False Text4.Enabled=False Text5.Enabled=False Text6.Enabled=False-Text7.Enabled=False Text8.Enabled=False Text9.Enabled=False Image1.Enabled=False End If End Sub 放弃按钮的 Click 事件代码:Private Sub Com
23、mand4_Click()On Error Resume Next Command1.Caption=添 加 Command3.Caption=修 改 Command1.Enabled=True Command3.Enabled=True Command4.Enabled=False Command5.Enabled=True Command6.Enabled=True Command7.Enabled=True Command8.Enabled=True Command9.Enabled=True Data1.UpdateControls Data1.Recordset.MoveLast T
24、ext1.Enabled=False Text2.Enabled=False Text3.Enabled=False Text4.Enabled=False Text5.Enabled=False Text6.Enabled=False Text7.Enabled=False Text8.Enabled=False Text9.Enabled=False Image1.Enabled=False End Sub 查询按钮的 Click 事件代码:Private Sub Command5_Click()Dim MNO As String MNO=InputBox$(请输入学号,查询窗)Data1
25、.Recordset.FindFirst 学号=&MNO&If Data1.Recordset.NoMatch Then MsgBox 无此学号,提示 End Sub 上一个按钮的 Click 事件代码:Private Sub Command6_Click()-On Error Resume Next Data1.Recordset.MovePrevious If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst End Sub 下一个按钮的 Click 事件代码:Private Sub Command7_Click()On Error Re
26、sume Next Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub 第一个按钮的 Click 事件代码:Private Sub Command8_Click()Data1.Recordset.MoveFirst End Sub 最后一个按钮的 Click 事件代码:Private Sub Command9_Click()Data1.Recordset.MoveLast End Sub 添加照片按钮的 Click 事件代码:Private Sub Command10_Cli
27、ck()调用通用对话框 CommonDialog1=1 On Error Resume Next If CommonDialog1.=Then Exit Sub Image1.Picture=LoadPicture(CommonDialog1.)返回应用程序所在路径 ChDrive Mid(App.Path,1,1)End Sub 窗体的 Load 事件代码:Private Sub Form_Load()是 Frame1 框架在窗体加载时水平居中 Frame1.Left=Frmjbgx.Width/2-Frame1.Width/2 初始化通用对话框 CommonDialog1.=*.bmp C
28、ommonDialog1.Filter=pictures(*.bmp)|*.bmp|pictures(*.jpg)|*.jpg|all files(*.*)|*.*CommonDialog1.FilterIndex=1 End Sub 窗体的 Resize 事件代码:Private Sub Form_Resize()-窗体的尺寸改变是,Frame1 始终水平居中 Frame1.Left=Frmjbgx.Width/2-Frame1.Width/2 End Sub (三)学生基本情况维护窗体的设计与实现 首先在工程中添加一个标准窗体并起名为 Frmjbwh。再在工程中添加一个数据环境,数据环境设
29、计器为创建编程的运行时数据访问提供了一个交互的、设计时环境。在设计时,您可以设置 Connection 和 Command 对象的属性值、编写代码响应 ActiveX(R)Data Object(ADO)事件、执行 Command、创建合计和层次结构。您也可以将 DataEnvironment 对象拖动到窗体或报表中来创建数据绑定控件。使用数据环境设计器,您可以完成下面的工作:添加一个数据环境设计器到一个 Visual Basic 工程中。创建 Connection 对象。基于存储过程、表、视图、同义词和 SQL 语句创建 Command 对象。基于 Command 对象的一个分组,或通过与一
30、个或多个 Command 对象相关来创建 command 的层次结构。为 Connection 和 Recordset 对象编写和运行代码。从数据环境设计器中拖动一个 Command 对象中的字段到一个 Visual Basic 窗体或数据报表设计器。本例设置数据环境的方法是:选择工程菜单中的添加 Data Environment,出现数据环境对话框如图 1-5 所示。图 1-5 数据环境对话框 在图 1-5 中,用鼠标右键单击 Dataenvironment1 下的 Connection1 选择属性,出现数据连接属性对话框,如图 1-6 所示。-图 1-6 数据连接属性对话框 在图 1-6
31、中,在提供程序选项卡中选择数据引擎 Microsoft Jet 3.51 OLE DB Provider,按下一步按钮,进入连接选项卡如图 1-7 所示。图 1-7 数据连接属性的连接选项卡 在图 1-7 中,在选择和输入数据库名称下边的文本框中,选择数据库 Student.mdb,注意把 student.mdb 前边的路径删除掉,这样可以不限制应用程序的路径。按确定按钮后,回到数据环境对话框,再用鼠标右键单击 Connection1,在弹出的快捷菜单中选择添加命令选项,结果如图 1-8 所示。-图 1-8 添加一个命令后的窗口 在图 1-8 中,用鼠标右键单击 Command1,在弹出的快捷
32、菜单中选择属性,出现Command1 属性对话框,如图 1-9 所示。图 1-9 Command1 属性对话框 在入 1-9 中,在数据源下边数据库对象后的下拉表中选择表,在对象名称后的下拉表中选择基本情况。再在高级选项卡中,把锁定类型设成 3-开放式,以便数据环境可以进行修改和删除操作。之后,按确定按钮,回到数据环境对话框。在用鼠标右键点击 Command1,在出现的快捷菜单中选择添加子命令,结果如图 1-10 所示。图 1-10 添加子命令后窗口-在图 1-10 中,再设置 command2 的属性,方法同设置 Command1 属性,把 Command2 的数据对象设为学生成绩表。在关联
33、选项卡中设置用学号同父命令对象相关联。结果如图 1-11 所示。图 1-11 和父命令对象关联窗口 数据环境建立完成后,回到 Frmjbwh 窗体中,在基本控件中添加一个 DataGrid 控件,方法是在基本控件的空白处按鼠标右键,选择部件,在部件对话框中选择 Microsoft DataGrid Control 6.0(OLEDB)控件,按确定按钮。DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid 控件可以在设计时快
34、速进行配置,只需少量代码或无需代码。当在设计时设置了 DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。在窗体上添加各种控件,如图 1-12 设计屏幕。在图中,其主要控件、主要属性、控件说明如表 1-4 所示:图 1-12 学生基本情况维护设计界面-表 1-4 控件、主要属性、控件说明表 窗体的运行结果如图 1-13 所示:图 1-13 学生基本情况维护的运行结果 基本情况维护设计代码实现 在通用区域声明一个全局变量 key,以便在选择专业时使
35、用:Public key As String 选择班级按钮的 Click 事件代码:Private Sub selzy_Click()Me.key=把对话框窗体 Dialog 设置成显示模式 Dialog.Show vbModal 按 Dialog 窗体的 key 变量的返回值进行筛选 If Me.key Then DataEnvironment1.rsCommand1.Filter=班级=&key&Adodc1.Refresh DataGrid1.AllowUpdate=False 控件名称 主要控件属性名称 属性值 功能说明 Frmjbwh Caption 基本情况维护 名称 Frmjbw
36、h BorderStyle 2 Sizable Mdichild True 把此窗体作为子窗体 Windowstate Maximized 运行是最大化 Datagrid 名称 Datagrid1 Datasource Dataenvironment1 把数据环境设成数据源 Datamember Command1 数据成员设成数据环境中的Command1 命令-End If Unload Dialog End Sub 修改按钮的 Click 事件代码:Private Sub Comup_Click()DataGrid1.AllowUpdate=True DataGrid1.SetFocus E
37、nd Sub 添加按钮的 Click 事件代码:Private Sub Comadd_Click()DataGrid1.AllowUpdate=True 添加操作 DataEnvironment1.rsCommand1.AddNew DataGrid1.SetFocus End Sub 删除按钮的 Click 事件代码:Private Sub Comdel_Click()设置 DataGrid1 为可删除状态 DataGrid1.AllowDelete=True DataEnvironment1.rsCommand1.Delete DataEnvironment1.rsCommand1.Mov
38、eNext If DataEnvironment1.rsCommand1.EOF=True Then DataEnvironment1.rsCommand1.MoveLast DataGrid1.SetFocus End Sub 打印按钮的 Click 事件代码:Private Sub Comprint_Click()显示并打印报表 DataReport1.Show End Sub 窗体的 Resize 事件代码:Private Sub Form_Resize()使 frame1 始终居中 Frame1.Left=Frmjbwh.Width/2-Frame1.Width/2 Frame1.To
39、p=Frmjbwh.Height/2-Frame1.Height/2 End Sub 窗体的 Unload 事件代码:Private Sub Form_Unload(Cancel As Integer)恢复数据环境的筛选-DataEnvironment1.rsCommand1.Filter=adFilterNone End Sub(四)学生基本情况维护中班级选择对话框的设计与实现:首先,在工程中添加一个对话框起名为 Dialog.frm,再在基本控件中添加一个 ADO Data 控件,方法是在基本控件的空白处按鼠标右键,选择部件,在部件对话框中选择 Microsoft ADO Data Con
40、trol 6.0 控件,按确定按钮。这时,基本控件上就出现了 ADO Data 控件。ADO Data 控件使用 Microsoft ActiveX 数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合 OLEDB 规范的数据源。使用 Visual Basic 的类模块也可以很方便地创建子集的数据提供者。它还有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。然后,在窗体上添加各种控件,如图 1-14 设计屏幕。在图中,其主要控件、主要属性、控件
41、说明如表 1-5 所示:图 1-14 班级选择窗体设计图 表 1-5 控件、主要属性、控件说明表 代码实现:选择按钮的 Click 事件代码:控件名称 主要控件属性名称 属性值 功能说明 Dialog Caption 班级选择对话框 名称 Dialog Adodc 名称 Adodc1 Connectionstring Student.mdb 和数据表进行绑定 Recordsource select*from 基本情况group by 班级 用 SQL 语句设置记录原并按班级分组 Visible False 运行时不可见 Datagrid 名称 Datagrid1 Datasource Adod
42、c1 把 Adodc1 设成数据源-Private Sub Command1_Click()获取 key 值 Frmjbwh.key=Me.DataGrid1.Text Me.Hide End Sub 取消按钮的 Click 事件代码:Private Sub Command2_Click()Frmjbwh.key=Me.Hide End Sub (五)学生成绩维护窗体的设计与实现:首先在工程中添加一个标准窗体并起名为 Frmcjwh。再在窗体上添加一个 Frame 控件,并使用默认名称 Frame1。之后用鼠标双击工程资源管理器中的数据环境 Dataenvironment1,用鼠标把Comma
43、nd1 拖到窗体的 Frame1 中来,因为默认 Command2 默认使用的是 MSflexGrid 网格不适用本例中,所以把它替换成 DataGrid 网格,DataGrid 网格的使用如前。再把照片字段去掉,添加一个Image 控件,并和 Command1 中的照片字段绑定。最后,添加几个命令按钮。窗体的设计如图 1-15所示。在图中,其主要控件、主要属性、控件说明如表 1-6 所示:图 1-15 学生成绩维护窗体设计图 表 1-5 控件、主要属性、控件说明表 控件名称 主要控件属性名称 属性值 功能说明 Frmcjwh Caption 学生成绩维护 名称 Frmcjwh BorderS
44、tyle 2 Sizable Mdichild True 把此窗体作为子窗体 Windowstate Maximized 运行是最大化 Datagrid 名称 Datagrid1 Datasource Dataenvironment1 把数据环境设成数据源 Datamember Command2 数据成员设成数据环境中的Command2 命令 Image 名称 Image1 Stretch True 调整图片大小以适应该控件 Enabled False 初始状态为不可用-窗体的运行结果如图 1-16 所示:图 1-16 学生成绩维护运行窗体 学生成绩维护设计代码实现:在通用区域声明两个全局变量
45、 findxhstr 和 findbjstr,以便查找时使用:Public findxhstr As String Public findbjstr As String 第一个按钮的 Click 事件代码:Private Sub Command1_Click()DataEnvironment1.rsCommand1.MoveFirst End Sub 上一个按钮的 Click 事件代码:Private Sub Command2_Click()DataEnvironment1.rsCommand1.MovePrevious If DataEnvironment1.rsCommand1.BOF T
46、hen DataEnvironment1.rsCommand1.MoveFirst End If End Sub 下一个按钮的 Click 事件代码:Private Sub Command3_Click()DataEnvironment1.rsCommand1.MoveNext If DataEnvironment1.rsCommand1.EOF Then DataEnvironment1.rsCommand1.MoveLast End If-End Sub 最后一个按钮的 Click 事件代码:Private Sub Command4_Click()DataEnvironment1.rsCo
47、mmand1.MoveLast End Sub 添加成绩按钮的 Click 事件代码:Private Sub Command5_Click()DataGrid1.AllowAddNew=True End Sub 查找按钮的 Click 事件代码:Private Sub Command6_Click()Me.findxhstr=Me.findbjstr=Dialog1.Show vbModal 用 Dialog1 窗体的返回值还过滤数据环境 If Me.findxhstr Then DataEnvironment1.rsCommand1.Filter=学号=&findxhstr&End If I
48、f Me.findbjstr Then DataEnvironment1.rsCommand1.Filter=班级=&findbjstr&End If Unload Dialog1 End Sub 打印按钮的 Click 事件代码:Private Sub Command7_Click()DataReport2.Show End Sub DataGrid1 的 LostFocus 事件代码:Private Sub DataGrid1_LostFocus()在 DataGrid1 失去焦点时,使其进入不添加状态 DataGrid1.AllowAddNew=False End Sub 窗体的 Loa
49、d 事件代码:Private Sub Form_Load()使 Frame1 在窗体装载时就处于水平居中 Frame1.Left=frmcj.Width/2-Frame1.Width/2 End Sub -窗体的 Resize 事件代码:Private Sub Form_Resize()使 Frame1 在窗体的大小发生改变时处于水平居中 Frame1.Left=frmcj.Width/2-Frame1.Width/2 End Sub (六)学生成绩维护中查找对话框的设计与实现:此模块的实现和学生基本情况维护中班级选择对话框基本相似,在此只给出各个控件的主要属性和程序代码。窗体的设计如图 1-
50、17 所示:图 1-17 查找对话框的设计图 其主要控件、主要属性、控件说明如表 1-7 所示:此对话框运行结果如图 1-18 所示:图 1-18 对话框的运行结果 控件名称 主要控件属性名称 属性值 功能说明 Dialog Caption 查找对话框 名称 Dialog1 Adodc 名称 Adodc1 Connectionstring Student.mdb 和数据表进行绑定 Recordsource select*from 基本情况group by 班级 用 SQL 语句设置记录原并按班级分组 Datagrid 名称 Datagrid1 Datasource Adodc1 把 Adodc