您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > VB+Access设计图书管理系统
VB+Access设计图书管理系统一、需求分析在进行一个项目的设计之前,先要进行必要的需求分析。现某图书馆需要管理其各种人员和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书。其完成的功能如下:(1)可以实现图书的登记、借阅和赔偿的管理。(2)可以实现对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和编辑操作。另外,可以根据输入的信息来检索某个图书的信息。(3)可以实现对管理人员的投诉管理。(4)可以实现对值班人员的管理。系统的功能模块图如图1所示。本实例根据上面的设计规划出的实体有图书登记实体、图书借阅实体、图书赔偿实体、查询输出实体、值班管理实体、投诉管理实体。各个实体具体的描述E-R图如下。图书登记实体E-R图如图2所示。图书借阅实体E-R图如图3所示。图1系统的功能模块图图2图书登记实体E-R图图3图书借阅实体E-R图图书赔偿实体E-R图如图4所示。图4图书赔偿实体E-R图投诉管理实体E-R图如图5所示。图5投诉管理实体E-R图值班管理实体E-R图如图6所示。图6值班管理实体E-R图查询输出实体E-R图如图7所示。图7查询输出实体E-R图二、结构设计根据上面的需求分析,设计好数据库系统,然后开发应用程序可以考虑的窗体的系统,每一个窗体实现不同的功能,可以设计下面的几个模块。●图书管理模块:用来实现图书的登记、借阅、赔偿。●图书资料模块:用来实现图书的查询输出。●值班管理模块:用来实现管理人员的值班浏览。●投诉管理模块:用来实现对管理人员的投诉管理。●系统管理模块:用来实现用户的增加、删除和修改等操作。三、数据库设计这里的数据库采用Access,用ADO作为连接数据对象。1、建立Access数据库启动Access,建立一个空的数据库book.mdb,如图8所示。使用程序设计器建立系统需要的表格如下。图书登记表,如图9所示。图8建立数据库book.mdb图9图书登记表图书借阅表,如图10所示。图书赔偿表,如图11所示。图10图书借阅表图11图书赔偿表图书资料表,如图12所示。系统管理表,如图13所示。图12图书资料表图13系统管理表投诉管理表,如图14所示。图14投诉管理表值班管理表,如图15所示。图15值班管理表2、连接数据在VisualBasic环境下,选择“工程”→“引用”命令,在随后出现的对话框中选择“MicrosoftActiveXDataObjects2.0Library”,然后单击“确定”按钮,如图16所示。图16引用ADO连接数据库在程序设计的公共模块中,先定义ADO连接对象。语句如下:PublicconnAsNewADODB.Connection'标记连接对象然后在子程序中,用如下的语句即可打开数据库:DimconnectionstringAsStringconnectionstring=provider=Microsoft.Jet.oledb.4.0;&_datasource=book.mdbconn.Openconnectionstring3、设置ODBCVB的ADO对象是通过ODBC来访问数据库,所以还要建立ODBC数据引擎接口。打开控制面板中的“管理工具”→“数据源”(ODBC),出现如图17所示的对话框。图17ODBC对话框单击“添加”按钮,出现“创建新数据源”对话框,如图18所示。图18“创建新数据源”对话框选择MicrosoftAccessDriver(*.mdb),单击“完成”按钮,出现如图19所示对话框。图19设置连接数据源在“数据源名”文本框中添加一个名字,单击“确定”按钮完成系统默认连接设置。然后在ODBC对话框中单击“确定”按钮完成ODBC设置。界面设计设计好的界面如图20所示。图20图书管理系统界面这是一个多文档界面(MDI)应用程序,可以同时显示多个文档,每个文档显示在各自的窗体中。MDI应用程序中常有包含子菜单的“窗体”选项,用于在窗体或文档之间进行切换。菜单应用程序中,有5个菜单选项,每个选项对应着E-R图的一个子项目。1、创建主窗体首先创建一个工程,命名为图书管理系统,选择“工程”→“添加MDI窗体”命令,则在项目中添加了主窗体。该窗体的一些属性如表1所示。表1主窗体的属性属性值Caption图书管理系统NameMainMenuMainmenu1WindowstateMaxsizeWindowstate的值为Maxsize,即程序启动之后自动最大化。将“菜单”组件从“工具箱”拖到窗体上。创建一个Text属性设置为“文件”的顶级菜单项,且带有名为“关闭”的子菜单项。类似地创建一些菜单项,如表2所示。表2菜单项表菜单名称Text属性功能描述MenuItem1图书管理顶级菜单,包含子菜单MenuItem2图书登记调出图书登记窗体MenuItem3图书借阅调出图书借阅窗体MenuItem4图书赔偿调出图书赔偿窗体MenuItem5图书资料顶级菜单,包含子菜单MenuItem6查询输出调出查询输出窗体MenuItem7值班管理顶级菜单,没有子菜单MenuItem8投诉管理顶级菜单,没有子菜单MenuItem9系统管理顶级菜单,包含子菜单MenuItem10增加用户调出用户窗体MenuItem11修改密码调出密码窗体MenuItem12退出系统退出主窗体如图21所示。图21主窗体2、创建各子窗体选择“工程”→“添加窗体”命令,添加子窗体。在新建VisualBasic工程时自带的窗体中,将其属性MIDChild改成True,则这个窗体成为MID窗体的子窗体。在这个项目中,要创建的子窗体如表3所示。表3所有子窗体子窗体名Text图书登记frmdengji图书借阅frmjieyue图书赔偿frmpeichang增加新用户frmadduser查询输出frmfind登录系统frmlogin修改密码frmchangepwd下面分别给出这些子窗体,以及它们所使用的控件。(1)图书登记子窗体如图22所示,其控件如表4所示。图22图书登记子窗体表4图书登记子窗体控件控件类别控件Name控件TextLabelLabel1编号Label2书名Label3类型Label4购买日期Label5定价TextBoxText1(空)Text2(空)Text3(空)Text4(空)Text5(空)CommandButtonCommand1增加记录Command2删除记录Command3下一条Command4上一条Command5第一条Command6最后一条Command7退出ADODataAdodc1(空)DataGridDataGrid1(空)图书借阅和图书赔偿子窗体分别如图23和图24所示,因为它们的控件与图书登记子窗体的雷同,在此不作介绍。图23图书借阅子窗体图24图书赔偿子窗体(2)增加用户子窗体如图25所示,其控件如表5所示。图25增加用户子窗体表5增加用户子窗体控件控件类别控件Name控件TextLabelLabel1输入用户名Label2输入密码Label3确认密码Label4选择权限TextBoxText1(空)Text2(空)Text3(空)ComboBoxComb1(空)CommandButtonCommandl确定Command2取消(3)修改密码子窗体如图26所示。图26修改密码子窗体(4)库房管理子窗体如图27所示。图27库房管理子窗体其控件如表6所示。表6库房管理子窗体控件控件类别控件Name控件TextTextBoxText1(空)ComboBoxCombo1MSFlexGridMSFlexGrid1(5)查询子窗体如图28所示,其控件如表7所示。图28查询子窗体表7查询子窗体控件控件类别控件Name控件TextOptionButtonOption1按编号查询Option2按购买日期查询LabelLabel1从Label2到Label3从Label4年Label5月Label6日Label7到Label8年Label9月Label10日Combo(0)ComboBoxCombo1(空)Combo(1)ComboBoxCombo1(空)Comboy(0)ComboBoxComboy(空)Comboy(1)ComboBoxComboy(空)Combom(0)ComboBoxCombom(空)Combom(1)ComboBoxCombom(空)Combod(0)ComboBoxCombod(空)Combod(1)ComboBoxCombod(空)CommandButtonCommand1查询Command2取消(6)用户登录子窗体如图29所示。(7)值班管理子窗体如图30所示,其控件如表8所示。图29用户登录子窗体图30值班管理子窗体(8)投诉管理子窗体如图31所示,其控件如表9所示。图31投诉管理子窗体建立公共模块1、显示目录建立公共模块可以提高代码的效率,同时使得修改和维护代码都很方便。创建公共模块的步骤如下:(1)在菜单中选择“工程”→“添加模块”命令,则出现模块对话框,如图32所示。(2)选择模块图标后,单击“打开”按钮,则模块已经添加到项目中了。默认情况下名为Module1。图32模块对话框(3)在模块中定义整个项目的公共变量。PublicconnAsNewADODB.Connection'标记连接对象PublicuserIDAsString'标记当前用户IDPublicuserpowAsString'标记用户权限PublicfindAsBoolean'标记查询PublicsqlfindAsString'查询语句Publicrs_data1AsNewADODB.RecordsetPublicfindokAsBooleanPublicfrmdataAsBooleanPublicConstkeyenter=13'enter键的ASCII码在主窗体添加完菜单之后,就要为各个子菜单创建事件处理程序。主窗体代码在本项目中,子菜单事件都是Click事件,这里先给出主窗体部分的代码。下面是响应“增加用户”子菜单Click事件,调出增加用户窗体代码。PrivateSubadduser_Click()frmadduser.ShowEndSub下面是响应“查询输出”子菜单Click事件,调出查询输出窗体代码。PrivateSubchaxunshuchu_Click()frmfind.ShowEndSub下面是响应“退出”子菜单Click事件,调出退出窗体代码。PrivateSubexit_Click()UnloadMeEndSub下面是响应“图书登记”子菜单Click事件,调出图书登记窗体代码。PrivateSubcheckin_Click()frmdengji.ShowEndSub下面是响应“修改密码”子菜单Click事件,调出修改密码窗体代码。PrivateSubchangepwd_Click()frmchangepwd.ShowEndSub下面是响应“图书借阅”子菜单Click事件,调出图书借阅窗体代码。PrivateSubborrow_Click()frmjieyue.ShowEndSub下面是响应“图书赔偿”子菜单Click事件,调出图书赔偿窗体代码。PrivateSubtushupeichang_Click()frmpeichang.Show1EndSub下面是响应“值班管理”菜单Click事件,调出值班管理窗体代码。PrivateSubzhibanguanli_Click()frmzhiban.Show1EndSub下面是响应“投诉管理”子菜单Click事件,调出投诉管理窗体代码。PrivateSubtousuguanli_Click()frmtousu.Show1EndSub2、各子窗体的代码在各个子窗体建立好后,就可以根据各个子窗体的功能给它们添加相应代码了。(1)图书登记子窗体代码本窗体用来填写图书登记的信息,用ADO来连接数据库,是本窗体的重点。采用MDI的子程序,所以运行后,它出现在主程序的界面下,如图33所示。图33图书登记
本文标题:VB+Access设计图书管理系统
链接地址:https://www.777doc.com/doc-6072588 .html