- 487.00 KB
- 2022-05-16 18:35:00 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
仓库管理系统前言随着企业管理信息化的发展,网络及计算机的引入使管理跃上了一个新的发展平台。企业的各项管理都将向信息化方向扩展,仓库的管理对于企业来说尤为重要,也正是基于这个原因我把毕业设计的方向定在了企业的仓库管理上。仓库管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理产品,这种管理方式存在着许多缺点,如:效率低、保密性差等。另外,由于时间一长,将产生大量的文件和数据,这对于查找、更新和维护产品都带来了不少的困难。作为计算机应用的一部分,使用计算机对仓库信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高仓库管理的效率。由于时间紧迫,加之水平有限,设计中的缺点和不足之处在所难免,敬请导师批评指正,不胜感激。摘要仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏
忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。整个系统由基本信息、单据中心、查询统计、报表打印、维护设置、帮助等模块组成。本系统是在以ACCESS2000作为后台数据库,以VisualBasic为编程语言来开发的。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。关键字:仓库,管理系统,数据库目录前言1摘要2Abstract3目录41仓库管理系统开发环境简介61.1中文VisualBasic6.0简介61.2ACCESS2000简介72系统可行性分析83系统总体设计103.1系统目标设计103.2开发设计思想103.3系统功能需求分析113.4系统功能模块设计114数据库设计12
4.1数据库需求分析124.2数据库概念结构设计144.3数据库逻辑结构设计185系统主窗体设计245.1创建工程项目—仓库管理系统245.2创建系统主窗体245.3创建主窗体菜单255.4创建主窗体工具栏515.4.1工具栏控件常用属性和事件515.4.2设置工具栏属性525.5设置主窗体状态栏566系统模块设计576.1基本信息模块设计576.1.1创建货物信息窗体576.1.2创建仓库信息窗体586.1.3创建库存状况信息窗体596.2单据中心模块设计606.2.1创建新增入库单窗体616.2.2创建入库单管理窗体626.2.3创建月盘点窗体636.3查询统计模块设计636.3.1创建单据查询窗体646.3.2创建库存查询窗体646.3.3创建货物出入统计窗体656.3.4创建职员操作统计窗体666.4报表打印模块设计676.4.1创建打印入库单窗体676.4.2创建打印月盘点窗体686.5维护设置模块设计696.5.1公司和职员信息706.5.2查看日志706.5.3数据清除716.5.4系统初始化716.5.5备份数据库716.5.6还原数据库和还原到昨天数据库726.5.7用户管理726.7帮助模块设计72总结74致谢75参考文献76
1仓库管理系统开发环境简介本仓库管理系统是在以VisualBasic为编程语言,以ACCESS2000作为后台数据库而开发的一个数据库管理系统。下面简要介绍一下中文VisualBasic6.0和Access2000。1.1中文VisualBasic6.0简介VisualBasic提供了开发Windows应用程序最迅速、最简洁的方法,它提供了一整套工具,供用户开发应用程序。Visual指的是开发图形用户界面(GUI)的方法,在图形用户界面下,不需要编写大量代码去描述界面元素的外观和位置,而只需要把预先建立的对象加到屏幕上的适当位置再进行简单设置即可;Basic指的是BASIC(BeginnersAll-PurposeSymbolInstructionCode)语言,是一种应用十分广泛的计算机语言。VisualBasic在原有BASIC语言的基础上进一步发展,至今包含了数百条语句、函数和关键词,其中很多和WindowsGUI有直接关系,专业人员可以用VisualBasic实现其他任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立简单的应用程序。VisualBasic还是一个快速可视化程序开发工具,是极有特色和功能强大的软件。它使用了面向对象的程序设计方法,大大的增强了程序的可重用性,进而简化了程序设计。VisualBasic提供了众多的ActiveX控件,提高了软件开发人员的编程效率。它有其独特的特点,主要特点如下:1可视化设计。VB
具有所见即所得的功能,在程序设计时,头脑中所想象的应用程序界面,完全可以通过键盘和鼠标完成,而不用编制大量代码,如果需要修改也可利用键盘或鼠标完成,而底层的一些程序代码,可由VB自动生成或修改。VB为用户提供了大量“控件”,这些“控件”对于熟悉“Windows应用成序”的用户而言,也许是一点也不陌生,如“标签”,“组合框”,“命令按扭”“文本框”,“单选框”等等,用户只需要用鼠标或键盘把这些“控件”拖到所需的位置并设置他们的大小形状属性等,即可得到所需要的应用程序界面。2事件驱动编程,在VB中把“窗体”及“控件”称为对象。这些对象组成了与用户交互的图形界面(也称为用户接口用户界面)再设计应用程序时必须考虑到用户如何与程序进行交互,用户通过鼠标和键盘与应用程序进行交互是最直接最方便的,这时那些对象必须对鼠标键盘操作所引起的事件做出响应。响应是指执行一段应用程序,它不沿预定的路线执行而是在响应不同事件时执行不同的代码,因此VB编程重点是在编写事件驱动过程的代码。3面向对象的程序设计,VB是面向对象的程序设计语言,他将代码和数据结合在一个对象中,用户只需要了解每个对象能完成何种任务而不需要知道对象是如何工做作的。软件开发人员主要编写事件驱动过程的代码,使对象对用户的操作做出反映。但因VB没有多态等面向对象的特性,所以也有人称VB是一种准面向对象的程序设计语言。4易学易用,开发周期短。VB简单易学,界面友好,容易使用。VB提供了大量功能强大的“控件”,能帮助开发人员在较短的时间内用少量语句编写出应用程序,缩短了开发周期。1.2ACCESS2000简介ASSESS是一个数据库管理系统,它简单易学,一个普通的计算机用户可以很快的掌握它。ACCESS2000的功能也十分强大,利用它可以方便的实现对信息保存、维护、查询、统计等,而且它可以十分方便地与OFFICE其他组件交流数据,这些功能对一个普通用户来说已经足够了。本系统就是在以ACCESS2000作为后台数据库,以VisualBasic为编程语言为中小型企业管理仓库而开发的一个数据库管理系统。
2系统可行性分析可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢?当然不能靠主观猜想,而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。所以从以上的分析原则来看,我所设计的仓库信息管理系统是一个规模不太大的系统,但是目标明确,清晰的描述了对目标系统的一切限制和约束。本系统几乎在所有的企业、公司使用,当然它需要进一步的完善和更新。在使用过程中,要看它能不能带来效益,毕竟在现今社会效率是第一位的。从现实看,这还是有一定的实用价值的,从另一个角度看,现实社会发展飞速,尊重科技势在必行,因此这也是开发本系统的一个非常重要的原因。21世纪是计算机的时代,它必然取代一部分人的工作,高科技的监控系统进入社会生活的方方面面是发展的趋势。本设计从一下三个方面进行可行性研究:1.技术可行性。本设计“仓库管理系统”是为企业仓库管理人员开发的。鉴于本人在上学期数据库课程设计中已用VisualBasic6.0+Access2000开发过网上图书销售管理信息系统,而且通过三个月毕业实习中的学习和实践,对开发管理信息系统又有了新的认识和提高,使自己在开发管理信息系统方面的技术更加成熟。由于本设计最重要体现的是实用性,所以,通过大量的社会调查和分析,结合自己现有的技术水平加上导师的指导,还是能按期完成本毕业设计。2.经济可行性。
成本方面:由于本毕业设计属于计算机科学(本科)教学的最后一个环节,所以人力消耗免费,资源学校提供,指导老师义务指导。所以成本计算只需计算开发期间开发者的生活消费,学校资源的消耗,所以开发本软件的成本是非常低的。效益方面:为企业开发一个完整、合理的仓库管理系统,可大大节余人力,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工作量和劳动强度大大降低。所以开发本软件可以为社会带来很好的经济效益。从以上分析看开发本软件在经济上是可行的。3.操作可行性。本软件是为企业仓库的管理者开发的,所有本软件的用户对象是企业仓库的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。所以从以上几个方面的分析来看,开发本软件是完全可行的。3系统总体设计3.1系统目标设计系统开发的总体任务是实现企业产品管理的系统化、规范化和自动化,从而达到提高企业管理效率的目的。3.2开发设计思想仓库管理主要是企业各种商品的管理。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据需要提出产品请求,计划员根据整个企业的需求开出产品出库单,仓库管理人员根据出库单核对发放产品。根据需要按照月进行统计分析,产生相应报表。仓库管理的特点是信息处理量比较大,所管理的产品种类繁多,而且由于入库单、出库单、盘点单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门管理规格不统一等问题。在本系统的设计过程中,为了克服这些困难,满足计算机管理工作的需要,我们采取了下面的一些原则。●统一各种原始单据的格式,统一报表的格式。
●删除不必要的管理冗余,实现管理规范化、科学化。●程序代码标准化,软件统一化,确保软件的可维护性和实用性。●界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。●建立操作日志,系统自动记录所进行和各种操作。3.3系统功能需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本仓库管理系统需要完成功能主要有:●仓库管理各种信息的输入,包括货物、供应商、客户、仓库信息的输入等。●仓库管理各种信息的查询、统计、修改和维护,包括货物、单据查询,货物出入、职员操作统计,各种信息的修改和维护等。●打印报表的生成。●在货物管理中加入最高储备和最低储备字段,对仓库中的产品实现监控和报警。●操作日志的管理。●仓库管理系统的使用帮助。3.4系统功能模块设计在系统功能分析的基础上,考虑到VisualBasic程序编制的特点,得到如图3-1所示的系统功能模块图。
仓库管理系统基本信息单据中心查询统计报表打印维护设置系统帮助新增单据单据管理查询模块统计模块图3-1系统功能模块图。4数据库设计4.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关仓库管理信息需求的基础上,得到如图4-1所示的本系统所处理的数据流程。
仓库现有库存汇总、处理各种单据产品入库产品出库报表打印图4-1仓库管理系统数据流程图通过对企业仓库管理的内容和数据流程分析,设计数据项和数据结构如下:●货物信息,包括的数据项有编号、货物名称、货物类别、货物规格、计量单位、最高限量、最低限量、备注等。●仓库信息,包括的数据项有编号、仓库名称、仓库地点、保管员编号、备注等。●库存状况信息,包括的数据项有编号、货物编号、库存数量、仓库编号等。●入库单信息,包括的数据项有编号、货物编号、经办人编号、入库时间、入库单价、入库数量、供应商编号、仓库编号、定单状况、其它金额、备注等。●出库单信息,包括的数据项有编号、货物编号、经办人编号、出库时间、出库单价、出库数量、客户编号、仓库编号、定单状况、其它金额、备注等。●进行月盘点信息,包括的数据项有编号、仓库编号、盘点时间、经办人编号、盘点数据等。●系统日志信息,包括的数据项有用户名、操作时间、操作内容等。●用户管理信息,包括的数据项有用户名、用户密码、用户权限等。另外,还有借入单、借出单、报损单、调拨单信息等。它们与入库单、出库单信息基本类似,这里不再一一例举。4.2数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体结构,以及他们之间的关系,为以后的逻辑结构设计打下基础。
根据上面的设计规划出的实体有:现有库存信息实体、入库信息实体、出库信息实体、借入信息实体、借出信息实体、调拨信息实体图和报损信息实体图。各个实体具体的描述E-R图如下:现有库存信息实体E-R图如图4-2所示。现有库存信息实体编号货物名称最低限量最高限量图4-2现有库存信息实体E-R图入库单信息实体E-R图如图4-3所示。入库信息实体编号经办人编号入库时间、单价、数量供应商编号图4-3入库单信息实体E-R图出库单信息实体E-R图如图4-4所示。
出库信息实体编号经办人编号入库时间、单价、数量客户编号图4-4出库信息实体E-R图借入信息实体E-R图如图4-3所示。借入信息实体编号经办人编号借入时间、单价、数量货物编号图4-5借入信息实体E-R图借出信息实体E-R图如图4-6所示。
借出信息实体编号经办人编号借出时间、数量货物编号图4-6借出信息实体E-R调拨信息实体E-R图如图4-7所示。调拨信息实体编号经办人编号目标仓库编号原仓库编号图4-7调拨信息实体E-R报损信息实体E-R图如图4-4所示。
报损信息实体编号经办人编号报损时间、单价、数量仓库编号图4-8报损信息实体E-R实体和实体之间的关系E-R图如图4-9所示。现有库存入库出库借入借出调拨报损图4-9实体之间关系E-R图4.3数据库逻辑结构设计现在需要将在上面的数据库概念结构转化为ACCESS2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。仓库管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格所示在数据库中的一个表。
表4-1为货物基本信息表。表4-1货物基本信息表字段名称数据类型字段大小可否为空编号数字长整型不可货物名称文本64不可货物类别文本50可货物规格文本50可计量单位文本50可最高限量数字长整型不可最低限量数字长整型不可备注备注可表4-2为仓库信息表表4-2仓库信息表字段名称数据类型字段大小可否为空编号数字长整型不可仓库名称文本50不可仓库地点文本255可保管理员编号数字长整型可备注备注可表4-3为库存状况信息表表4-3库存状况信息表字段名称数据类型字段大小可否为空编号数字长整型不可货物编号数字长整型不可库存数量数字长整型不可仓库编号数字长整型不可表4-4为入库单信息表表4-4入库单信息表字段名称数据类型字段大小可否为空
编号数字长整型不可货物编号数字长整型不可经办人编号数字长整型不可入库时间日期/时间不可入库单价货币不可入库数量数字长整型不可供应商编号数字长整型可仓库编号数字长整型不可订单状况文本50不可其它金额货币可备注备注可表4-5为出库单信息表表4-5出库单信息表字段名称数据类型字段大小可否为空编号数字长整型不可货物编号数字长整型不可经办人编号数字长整型不可出库时间日期/时间不可出库单价货币不可出库数量数字长整型不可客户编号数字长整型可仓库编号数字长整型不可订单状况文本50不可其它金额货币可备注备注可表4-6为借入单信息表表4-6借入单信息表字段名称数据类型字段大小可否为空编号数字长整型不可
货物编号数字长整型不可经办人编号数字长整型不可借入时间日期/时间不可借入数量数字长整型不可供应商编号数字长整型可仓库编号数字长整型不可订单状况文本50不可其它金额货币可备注备注可表4-7为借出单信息表表4-6借出单信息表字段名称数据类型字段大小可否为空编号数字长整型不可货物编号数字长整型不可经办人编号数字长整型不可借出时间日期/时间不可借出数量数字长整型不可供应商编号数字长整型可仓库编号数字长整型不可订单状况文本50不可其它金额货币可备注备注可表4-8为调拨单信息表表4-8调拨单信息表字段名称数据类型字段大小可否为空编号数字长整型不可货物编号数字长整型不可经办人编号数字长整型不可调拨时间日期/时间不可
调拨数量数字长整型不可原仓库编号数字长整型不可目标仓库编号数字长整型不可其它金额货币可备注备注可EndSub“查询统计”菜单下的“职员操作统计”子菜单的Click事件的程序代码如下。点击“职员操作统计”会弹出职员操作统计窗口。PrivateSubM职员操作统计_Click()职员操作统计.ShowvbModalEndSub“维护设置”菜单下“职员信息”子菜单的Click事件程序代码,点击会进入“职员信息”窗口。PrivateSubM职员信息_Click()职员信息.ShowvbModalEndSub5.4创建主窗体工具栏同样,熟悉Windows下应用程序的用户对工具栏也一定有比较深的印象。在本系统中,它是用工具栏控件产生的,工具栏控件在主窗体上产生了很多按钮对象,按钮上显示了文字、图形。下面首先简要介绍工具栏控件的常用属性和事件。5.4.1工具栏控件常用属性和事件1工具栏控件的常用属性,工具栏控件常用的属性有如下几个,同时也是本系统中用到的几个属性,主要有Align、ImageList、Index、ToolTipText、ShowTips、Wrappable、Image等。Align
:读出或设置对象在窗体中的显示位置,它有5个值可供选择,用来设置工具栏放置在窗体的上部、下部、左边或右边等。ImageList:读出和设置与本控件相关联的ImageList控件。该属性被设置后,可以向工具栏按钮中添加图形。Index:控件名相同时,用来产生一个数组标识号。ToolTipText:设置鼠标指针在工具栏某一按钮暂停时所显示的提示文本。ShowTips:设置是否显示工具栏按钮上的提示文本。Wrappable:设置如果窗口尺寸发生变化,是否自动包括本控件按钮。Image:用来设置按钮中显示的图形,以0,1,2等来标识,ImageList控件中的图形将按顺序赋给不同的按钮。2工具栏控件常用事件工具栏控件常用事件主要有ButtonClick和Click两个。对于ButtonClick事件,当单击本控件之上的一个按钮时,该事件过程被执行;对于Click,当单击本控件时进行检测。5.4.2设置工具栏属性向窗体添加工具栏控件后,然后按下列步骤操作:(1)设置Align属性值为1,即工具拦放在窗体的顶部。(2)用鼠标右键单击工具栏对象,从弹出的菜单中选择“属性”菜单项。弹出如图5-4所示的“属性页”对话框。
图5-4工具栏属性对话框(3)单击如图5-4所示的“图象列表”列表框右边的下拉箭头,从下拉的列表中选择ImageList。这样ImageList控件就和“工具栏”控件发生了联系。注意:“工具栏”控件按钮使用图形,所以要求必须已引入了ImageList控件,否则,图5-4中的“图像列表”框将不能设置成ImageList。另外选定了图形列表控件后,ButtonHeight和ButtonWidth属性值,由图形的大小决定,用户不要改变其设置。(4)单击图5-4中“按钮”选项卡,“属性页”对话框如图5-5所示。单击,单击“插入”按钮后,“索引”文本框中出现数字1,其它输入框也变为可用。这样就可以设置其上的属性。若“图像”输入框设为1,即ImageList控件的第一个图形作为按钮1的图形。重复上述步骤,添加其它按钮到工具栏上,并设置相应属性。图5-4工具栏属性对话框通过以上步骤,创建的主窗体工具栏如图5-5所示。图5-5主窗体工具栏在主窗体中为工具栏所加的代码如下:PrivateSubtbToolBar_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.indexCase1:M库存状况_ClickCase4:M月盘点_ClickCase9:M打印月盘点_ClickCase11:M查看日志_ClickCase13:mnuHelpAbout_ClickEndSelectEndSubPrivateSubtbToolBar_ButtonMenuClick(ByValButtonMenuAsMSComctlLib.ButtonMenu)SelectCaseButtonMenu.KeyCase"入库单"M新增入库单_ClickCase"出库单"M新增出库单_ClickCase"借入单"M新增借入单_ClickCase"借出单"M新增借出单_ClickCase"调拔单"M新增调拔单_ClickCase"报损单"M新增报损单_ClickCase"单据"
M单据查询_ClickCase"库存"M库存查询_ClickCase"货物出入"M货物出入统计_ClickCase"职员操作"M职员操作统计_ClickCase"月盘点"M打印月盘点_ClickEndSelectEndSub5.5设置主窗体状态栏状态栏一般位于窗体的底部,用于向用户显示系统的一些状态,比如系统信息、当前用户、时间、日期等。状态栏的添加比较简单,这里不再详细说明。但本窗体的状态栏如图5-6所示。图5-6主窗体的状态栏在主窗体中为状态栏添加的代码如下:PrivateSubTimer1_Timer()IfLen(sbStatusBar.Panels(1).Text)