您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 图书库存管理系统设计与开发
图书库存管理系统设计与开发一、课程设计目的:无论是学校、出版社或其他一些单位,往往需要对图书库存和出库进行管理,而这些工作是一个繁杂的事情,如何用一个现代化的管理手段来代替复杂的手工劳动,这是一个重要的问题。本例结合图书库存与出库两方面的问题,开发出一个比较科学的图书库存管理系统,可以供一些图书使用单位和出版单位参考使用。二、需求分析:1、功能需求(1)对图书入库的管理(更新、添加、修改和删除)(2)对图书出库的管理(更新、添加、修改和删除)(3)对图书进行入库统计(4)对图书进行出库统计(5)对图书入库结存报表的查询(6)对图书出库结存报表的查询(7)对用户权限的维护2、总体设计(1)系统层次框图FLASH画面系统主控界面入库管理出库管理入库统计出库统计入库结存报表出库结存报表权限维护图书的添加图书的修改图书的删除图书的更新计算库存金额报表统计出库金额出库报表增加用户修改密码删除用户2(2)系统模块设计(各模块功能说明)1、FLASH画面:系统启动画面,它首先运行一个FLASH画面,在一定间隔之后,该画面自动隐藏,然后自动进入主控界面,再执行各个功能。2、系统主控界面:系统的主控界面既系统主窗体,它用于控制其他功能模块的运行。该主控界面为每一个使用模块赋予了一个用户权限,只有经过相关的权限认证后才能进行相关的操作。3、图书入库管理:由于图书入库是一个多次完成的过程,因此,需要用一个图书主表与相关的数据表进行关联。在该窗体中,只需要输入一本书的基本信息,然后在下面的表格中可以多次进行该书的入库记录。4、图书出库管理:由于图书出库也是一个多次完成的过程,因此,需要用一个图书主表与相关的数据表进行关联。在该窗体中,只需要输入一本书的基本信息,然后在下面的表格中可以多次进行该书的出库记录。5、图书入库结存窗体:图书结存是库存管理的重要内容,往往一个库房中图书众多,统计起来非常麻烦,因此能否实现自动统计功能是非常重要的一个问题。通过该窗体,可以逐条地对记录进行每一本书的入库金额计算,然后通过报表自动统计出每一本图书的册数、金额、全部图书的总册数和总金额。6、图书出库结存窗体:图书结存是库存管理的重要内容,往往一个库房中图书众多,统计起来非常麻烦,因此能否实现自动统计功能是非常重要的一个问题。通过该窗体,可以逐条地对记录进行每一本书的出库金额计算,然后通过报表自动统计出每一本图书的册数、金额、全部图书的总册数和总金额。7、入/出库图书结存报表:作为一个数据库应用系统,一个信息输出的报表往往是不可少的,因此我们为入/出库数据表创建一个报表,该报表不仅可以报告入/出库的全部信息,而且可以对一些数据进行结存统计,如果对图书的总册数、图书的总金额等直接在报表中进行相关的统计,完全不需要人工去统计。8、用户权限维护窗体:作为一个完整的系统,往往需要对用户权限进行控制或认证,用户可以通过本窗体进行增加、删除或修改密码。(3)数据库设计1、名称:入库图书数据表名称字段类型字段大小索引忽略空值图书编号Text50普通索引否书名Text50无否作者Text10无否出版社Text50无否版次Text10无否库存数Integer默认无否单价Currency默认无否库存金额Currency默认无否入库时间Date/time默认无否32、名称:图书出库数据表名称字段类型字段大小索引忽略空值图书编号Text50普通索引否书名Text50无否作者Text10无否出版社Text50无否版次Text10无否出库数Integer默认无否单价Currency默认无否出库金额Currency默认无否出库时间Date/time默认无否3、名称:图书主表数据表名称字段类型字段大小索引忽略空值图书编号TEXT50主要的、唯一的否书名TEXT50无否作者TEXT10无否出版社TEXT50无否4、名称:密码数据表名称字段类型字段大小索引忽略空值密码Text20主要的、唯一的否用户名Text50无否三、详细设计:(1)各模块界面简介及代码a、FLASH画面:计时器控件的过程代码:PrivateSubTimer1_Timer()Text1.Text=Text1.Text+1IfText1.Text=20ThenTimer1.Interval=0Form1.HideForm2.ShowEndIfEndSub退出系统标签的过程代码:PrivateSubLabel3_Click()UnloadMeEndSub4b、系统主控界面:“图书入库”标签的过程代码:PrivateSubLabel1_Click()Dimmsgoldmark=Data1.Recordset.Bookmarkmsg=Trim(InputBox(请输入用户密码:,权限认证))msg=密码like'&msg&'Data1.Recordset.FindFirstmsgIfData1.Recordset.NoMatchThenMsgBox(你无权进入系统操作!)Else入库管理.ShowEndIfEndSub“图书出库”标签的过程代码:PrivateSubLabel2_Click()Dimmsgoldmark=Data1.Recordset.Bookmarkmsg=Trim(InputBox(请输入用户密码:,权限认证))msg=密码like'&msg&'Data1.Recordset.FindFirstmsgIfData1.Recordset.NoMatchThenMsgBox(你无权进入系统操作!)Else图书出库.ShowEndIfEndSub5“权限维护”标签的过程代码:PrivateSubLabel3_Click()MMFORM.ShowEndSub“入库结存”标签的过程代码:PrivateSubLabel4_Click()Dimmsgoldmark=Data1.Recordset.Bookmarkmsg=Trim(InputBox(请输入用户密码:,权限认证))msg=密码like'&msg&'Data1.Recordset.FindFirstmsgIfData1.Recordset.NoMatchThenMsgBox(你无权进入系统操作!)Else入库统计.ShowEndIfEndSub“出库结存”标签的过程代码:PrivateSubLabel5_Click()Dimmsgoldmark=Data1.Recordset.Bookmarkmsg=Trim(InputBox(请输入用户密码:,权限认证))msg=密码like'&msg&'Data1.Recordset.FindFirstmsgIfData1.Recordset.NoMatchThenMsgBox(你无权进入系统操作!)Else出库统计.ShowEndIfEndSub“返回到启动封面”标签的过程代码:PrivateSubLabel6_Click()Form1.ShowUnloadMeEndSub6c、图书入、出库管理窗体:d、图书出库结存窗体:相关代码如下:“添加”按钮的过程代码:PrivateSubCommand1_Click()OnErrorGoToAddErrdatprimaryRS.Recordset.AddNewExitSubAddErr:MsgBoxErr.DescriptionEndSub“更新”按钮的过程代码:PrivateSubCommand2_Click()7OnErrorGoToUpdateErrdatprimaryRS.Recordset.UpdateBatchadAffectAllExitSubUpdateErr:MsgBoxErr.DescriptionEndSub“删除”按钮的过程代码:PrivateSubCommand3_Click()OnErrorGoToDeleteErrWithdatprimaryRS.Recordset.Delete.MoveNextIf.EOFThen.MoveLastEndWithExitSubDeleteErr:MsgBoxErr.DescriptionEndSub“刷新”按钮的过程代码:PrivateSubCommand4_Click()'只有多用户应用程序需要OnErrorGoToRefreshErrdatprimaryRS.RefreshExitSubRefreshErr:MsgBoxErr.DescriptionEndSub“关闭”按钮的过程代码:PrivateSubCommand5_Click()UnloadMeEndSub“出库金额”按钮的过程代码:PrivateSubCommand6_Click()Text5.Text=Val(Text3.Text)*Val(Text4.Text)datprimaryRS.Recordset.MoveNextIfdatprimaryRS.Recordset.EOF=TrueThenMsgBox(记录已经统计完毕!)EndIfEndSub“出库报表”按钮的过程代码:PrivateSubCommand7_Click()DataReport2.ShowEndSub8d、图书入库结存窗体:相关代码如下:“添加”按钮的过程代码:PrivateSubCommand1_Click()OnErrorGoToAddErrdatprimaryRS.Recordset.AddNewExitSubAddErr:MsgBoxErr.DescriptionEndSub“更新”按钮的过程代码:PrivateSubCommand2_Click()OnErrorGoToUpdateErrdatprimaryRS.Recordset.UpdateBatchadAffectAllExitSubUpdateErr:MsgBoxErr.DescriptionEndSub“删除”按钮的过程代码:PrivateSubCommand3_Click()OnErrorGoToDeleteErrWithdatprimaryRS.Recordset.Delete.MoveNextIf.EOFThen.MoveLastEndWith9ExitSubDeleteErr:MsgBoxErr.DescriptionEndSub“刷新”按钮的过程代码:PrivateSubCommand4_Click()'只有多用户应用程序需要OnErrorGoToRefreshErrdatprimaryRS.RefreshExitSubRefreshErr:MsgBoxErr.DescriptionEndSub“关闭”按钮的过程代码:PrivateSubCommand5_Click()UnloadMeEndSub“计算库存金额”按钮的过程代码:PrivateSubCommand6_Click()Text6.Text=Val(Text4.Text)*Val(Text5.Text)datprimaryRS.Recordset.MoveNextIfdatprimaryRS.Recordset.EOF=TrueThenMsgBox(记录已经统计完毕!)EndIfEndSub“报表统计”按钮的过程代码:PrivateSubCommand7_Click()DataReport1.ShowEndSube、用户权限维护窗体:10“增加用户”按钮的过程代码:PrivateSubCommand1_Click()Dimmsgoldmark=Data1.Recordset.Bookmarkmsg=Trim(InputBox(请输入原用户密码,确认原密码))msg=密码like'&msg&'Data1.Recordset.FindFirstmsgIfData1.Recordset.NoMatchThenMsgBox(你无权增加用户)Data1.Recordset.Bookmark=oldmarkElseData1.Recordset.AddNewCommand4.Enabled=TrueEndIfEndSub“修改密码”按钮的过程代码:P
本文标题:图书库存管理系统设计与开发
链接地址:https://www.777doc.com/doc-1305777 .html