学生档案管理系统项目应用开发 数据库应用程序的开发始终算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数 据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。本系统主要用来实现学生基 本情况和学生成绩的录入、修改、查询、删除和打印等功能。通过本系统,可以了解如何使用isul Basic来开发一个比较完整的数据库应用程序。用到的数据库控件有DATA、ADO,添加的一个数 据环境。 、系统结构图 本系统主要包括学生基本情况更新,学生基本情况维护和学生成绩维护3个大的模块,各个模 块的具体功能如图所示: 添加 删除 学生基本情况更新 修改 查询 选择专业 按专业查询 修改 学生基本情况维护 添加 统 删除 打印 添加成绩 按学号查找 学生成绩维护 查找 打印 按专业查找 图1-1应用程序的功能模块 二、数据库的建立 本系统用到的数据库是用 Visual basic的外加工具Ⅴ isual Data manager(可视化数据管理器)创 建,名为 student. mdb(是 access数据库),其中用到两个表,分别为:基本情况表和学生成绩表 表的结构如下所
1 学生档案管理系统项目应用开发 数据库应用程序的开发始终算得上是 VB 编程中的难点,这是因为你不仅要熟悉 VB 中关于数 据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。本系统主要用来实现学生基 本情况和学生成绩的录入、修改、查询、删除和打印等功能。通过本系统,可以了解如何使用 Visual Basic 来开发一个比较完整的数据库应用程序。用到的数据库控件有 DATA、ADO,添加的一个数 据环境。 一、系统结构图 本系统主要包括学生基本情况更新,学生基本情况维护和学生成绩维护 3 个大的模块,各个模 块的具体功能如图所示: 图 1-1 应用程序的功能模块结构图 二、数据库的建立 本系统用到的数据库是用 Visual Basic 的外加工具 Visual Data Manager(可视化数据管理器)创 建,名为 student.mdb(是 access 数据库),其中用到两个表,分别为:基本情况表和学生成绩表。 两表的结构如下所示: 学 生 档 案 管 理 系 统 学生基本情况更新 学生基本情况维护 学生成绩维护 添加 删除 修改 查询 选择专业 修改 添加 删除 打印 按专业查询 添加成绩 查找 打印 按学号查找 按专业查找
表1-1 字段名 学号 姓名 10 别 Text 表1-2 班级 Text H生年月Da/Iime 学号 政治面貌 840 课程 Test 家庭住址 Text 成绩 684 电话 eger E mail 制作过程如下 1、选择ⅤB外接程序菜单中的可视化数据管理器,进入可视化数据管理器 2、在可视化数据管理器中选择文件菜单中的新建选项建立数据库文件,然后从数据库厂家列表中 选择要创建的数据库类型(本例选择 Microsoft Access中的 Version mde20版本) 3、在选择要创建的 Microsoft Access数据库对话框中,输入数据库名 student,按确定按钮进入数 据库窗口 4、在数据库窗口中单击鼠标右键并从弹出式菜单中选择新建表来创建 student. mdb数据库中的两 个表(基本情况表和学生成绩表)。 各个窗体的设计与实现 (一)主窗体的设计与实现 首先在VB中新建一个标准工程并起名为成绩管理,在标准工程中添加一个MD窗体并起名 为 Frmmain。主窗体的设计界面如图1-2所示 扁学生档案管理系统 □回区 数据維护)帮助Q退出 』m?同 SCRL KANA NUM 图1-2主窗体的设计界面 在主窗体中主要应用了菜单、工具栏和状态栏。下面分别介绍这些组成部分的功能 1、菜单的设计 菜单是 Windows应用程序中的重要组成部分,这里将对每个菜单项及其子菜单的功能进行简 单介绍,如表1-1所示 2
2 表 1-1 表 1-2 制作过程如下: 1、 选择 VB 外接程序菜单中的可视化数据管理器,进入可视化数据管理器; 2、 在可视化数据管理器中选择文件菜单中的新建选项建立数据库文件,然后从数据库厂家列表中 选择要创建的数据库类型(本例选择 Microsoft Access 中的 Version MDB 2.0 版本); 3、 在选择要创建的 Microsoft Access 数据库对话框中,输入数据库名 student,按确定按钮进入数 据库窗口; 4、 在数据库窗口中单击鼠标右键并从弹出式菜单中选择新建表来创建 student.mdb 数据库中的两 个表(基本情况表和学生成绩表)。 三、各个窗体的设计与实现 (一) 主窗体的设计与实现 首先在 VB 中新建一个标准工程并起名为成绩管理,在标准工程中添加一个 MDI 窗体并起名 为 Frmmain。主窗体的设计界面如图 1-2 所示: 图 1-2 主窗体的设计界面 在主窗体中主要应用了菜单、工具栏和状态栏。下面分别介绍这些组成部分的功能。 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-3应用程序的菜单项列表 匚主菜单名 子菜单项 菜单功能 情况表更新(Edt)显示学生情况表更新窗体 数据维护( Repai情况表维护(cdt)显示学生情况表维护窗体 成绩表维护(Cwh)显示学生成绩表维护窗口 退出本系统(Qut1) 退出应用程序 关于系统( Vsystem) 显示关于系统窗体 帮助(Help) 系统帮助( Whelp) 显示系统帮助窗体 退出(Exit) 推出本系统(Qut) 退出应用程序 MD应用程序中,父窗体可以有自己的菜单,子窗体也可以有属于自己的菜单。这些菜单的 创建都可以利用 Menu editor来进行创建。 2、 Imagelist控件 程序包括一个 Imagelist控件,它用来为工具栏提供图片。在程序的基本控件中没有此项控件 添加此控件的方法是在基本控件的空白处点击鼠标右键,在出现的快捷菜单中选择部件,之后在部 件对话框中的部件选项卡中选择 Microsoft windows common controls60控件,确定即可。在窗体 中添加一个 Imagelist控件,名为默认的 Imagelist1,再为此控件添加几个图标 3、工具栏设计 工具栏提供了便捷的操作方式来完成应用程序常用的操作。在现在的 Windows应用程序中, 工具栏已经成为非常主要的组成部分。本例工具栏的设计步骤为:首先在窗体中添加一个 toolbar 控件,之后为此控件添加6个按钮,并把每个按钮分别和 Imagelistl控件的图片绑定 4、状态栏设计 在主窗体上添加一个 Statusbar控件,用鼠标右键点击此控件,在属性页的对话框中为窗体添 加6个窗格,分别放置窗口信息和显示当前日期和时间。 5、主窗体界面的代码实现 Private Sub CEDIT Click( Unload Frmjbgx Unload frmcj Unload FrmHELP Unload Frmwelcome Unload frmabout Load Frmjbwh Frmjbwh Show End sub Private Sub cjwh Click Unload Frmjbgx Unload Frmjbwh Unload FrmHELP Unload Frmwelcome Unload frmabout Load fomc
3 表 1-3 应用程序的菜单项列表 主菜单名 子菜单项 菜单功能 数据维护(Repair) 情况表更新(Edit) 显示学生情况表更新窗体 情况表维护(Cedit) 显示学生情况表维护窗体 成绩表维护(Cjwh) 显示学生成绩表维护窗口 退出本系统(Quit1) 退出应用程序 帮助(Help) 关于系统(Absystem) 显示关于系统窗体 系统帮助(Abhelp) 显示系统帮助窗体 退出(Exit) 推出本系统(Quit) 退出应用程序 MID 应用程序中,父窗体可以有自己的菜单,子窗体也可以有属于自己的菜单。这些菜单的 创建都可以利用 Menu Editor 来进行创建。 2、 Imagelist 控件 程序包括一个 Imagelist 控件,它用来为工具栏提供图片。在程序的基本控件中没有此项控件, 添加此控件的方法是在基本控件的空白处点击鼠标右键,在出现的快捷菜单中选择部件,之后在部 件对话框中的部件选项卡中选择 Microsoft Windows common controls 6.0 控件,确定即可。在窗体 中添加一个 Imagelist 控件,名为默认的 Imagelist1,再为此控件添加几个图标。 3、工具栏设计 工具栏提供了便捷的操作方式来完成应用程序常用的操作。在现在的 Windows 应用程序中, 工具栏已经成为非常主要的组成部分。本例工具栏的设计步骤为:首先在窗体中添加一个 toolbar 控件,之后为此控件添加 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 cjwh_Click() Unload Frmjbgx Unload Frmjbwh Unload FrmHELP Unload Frmwelcome Unload frmabout Load frmcj
frmci 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 Unload frmcj Unload Frmibwh Unload Frmwelcome Unload frmabout Load FrmHELP FrmHELP Show End Sub Private Sub Help click Unload Frmjbgx Unload frmcy Unload FrmHELP Unload Frmwelcome Unload Frmjbwh Load frmabout frmabout show End Sub Private Sub quit Click Frmmain. Hide Unload Frmmain End sub Private Sub quit_ Click Frmmain. hide Unload Frmmain End Sub 窗体的Load事件代礓
4 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 Unload 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 Sub quit1_Click() Frmmain.Hide Unload Frmmain End Sub 窗体的 Load 事件代码:
Private Sub MDIForm Loado Frmwelcome Show End Sub 工具栏的 Buttonclick事件代礓 Private Sub Toolbarl_ Button Click( By Val Button As MSComctlLib. Button) Select case button Index Unload Frmjbwh Unload frmcj Unload FrmHELP Unload Frmwelcome Unload frmabout Load Frmjbgx mjbgx SI Unload Frmjbgx Unload fomc Unload FrmHELP Unload frmwelcome Unload frmabout Load Frmjbwh Unload Frmjbgx Unload FrmHELP frmci Show Unload Frmjbgx Unload frme Unload FrmHELP Unload Frmwelcome Unload Frmjbwh Load frmabout frmabout. She Unload frme Unload Frmjbwh
5 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 Unload 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 Unload frmcj Unload FrmHELP Unload Frmwelcome Unload Frmjbwh Load frmabout frmabout.Show Case 5 Unload Frmjbgx Unload frmcj Unload Frmjbwh