1、客服QQ:810354974844511071465729264为什么选择我们?技术实力雄厚 我们拥有专业的代做毕业设计制作团队,正规公司,信誉保证,有着多年的代做毕业设计经验,分工合作,速度快,质量优,通过率100%。良好的信誉保证 我们本身是正规公司,有固定办公场所,不同于网上的个人,团队合作,分工开发,每年都做。服务学生很多,我们相信没有诚信的人永远做不长久,他们也许短暂的骗取学生的信任,但是永远做不成真正的事业。我们本着“诚信做人,良心做事”的理念,认真对待每一个学生,对每一个学生负责,让你们顺利通过答辩,顺利毕业,走向社会。售后服务完善我们本身是正规公司,有固定办公场所,常年做这个行
2、业,所以不会出现售后找不到人的情况,请大家放心,我们承诺:所有在我们公司定做的毕业设计全部包修改,包通过,免费为您调试系统,辅导和讲解相关代码及答辩知识,售后服务全部免费,直到您通过为止。支持淘宝交易,货到付款,确保交易安全本工作室,率先支持淘宝交易,以过硬的技术,专业的服务,赢得了客户的高度评价。在短短的时间内,已达双钻信用.在如今的金融危机局势下,学生不仅面临找工作的压力,又要面临毕业答辩的压力,确实很不容易,我们为您做的就是解除您的毕业设计烦恼,让你放心的去找工作,顺利通过答辩,顺利毕业,找到一份好工作,开心走向社会。本工作室旗下站点:计算机毕业设计论文购买 h计算机毕业设计论文定做 h
3、tt免费计算机开题报告下载h目 录摘要iABSTRACTii第一章绪论11.1 选题背景11.2 设计目标1第二章相关理论基础22.1 Visual Basic 622.1.1 Visual Basic 6的功能特点22.1.2 Visual Basic 6中的基本概念32.2 Access2000数据库42.2.1 Access的总体结构42.2.2 VB6和Access的连接5第三章需求分析73.1 需求分析73.1.1 系统数据流程图73.1.2 功能需求及设计思想7第四章系统设计114.1 系统功能设计114.1.1 系统功能模块图114.1.2 系统各模块说明114.2 数据库设计1
4、24.2.1 创建数据库124.2.2 数据表结构124.2.3 数据库中各表的关系16第五章仓库管理原型系统实现175.1 数据库实现175.1.1 连接数据库175.1.2 建立数据表18仓库管理系统主要界面及使用说明195.2.1 系统登录界面195.2.2 系统主界面205.2.3 系统管理模块205.2.4 仓库管理模块225.2.5 物料管理模块265.2.6 报表查询模块305.4 系统测试325.4.1 菜单测试32各功能模块测试325.4.3 数据跟踪测试32第六章小结与展望336.1 成绩及不足336.1.1 成绩336.1.2 不足336.2 展望34致谢36参考文献37
5、摘 要库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易操作易使用等特点。经过分析如此情况,我决定使用微软公司的Visual Basic 6为开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。主题词:仓库管理;数据库;VB6;ADOABSTRACTWarehouse manage system is a typical MIS.It mostly incl
6、udes the foundation and maintenance of the database and the development of the client application program.For the former we must establish a better database,which has well data consistency and data security.For the latter we must make the program has self-contained function and easy to be use.By ana
7、lyzing the situation,we use the VB6 of the Microsoft Company as client tool.VB6 is very easy to be use and it has many useful tools, especially ADO object,which can easily conveniently manipulate the database.We use it can develop a satisfactory system in short timeKey Words:Warehouse management;Dat
8、abase;Visual Basic 6;ADO第一章绪论1.1 选题背景随着计算机技术的发展,计算机管理已越来越多地运用到了各个领域。在现代企业的各个环节已离不开计算机了。各种各样的管理软件也应运而生。企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物料种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库管理必须编制一套仓库管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。一般仓库管理系统,总是根据所掌握的物资类别,相应分成几个部门来进行物料的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并
9、随时按期进行库存盘点,作台帐,根据企业管理的需要按月、季度、年度进行统计分析,产生相应报表。根据我公司的实际情况分析,一般的仓库管理系统并不能满足公司的需求,而且每套系统的成本也过高。因此有必要开发一套特定的仓库管理系统来提高公司的工作效率,减少因人为因素而导致的物料损失。通过对这些情况的仔细调查,我开发了下面的仓库管理系统。1.2 设计目标仓库管理系统可主要实现下列目标: 操作简单方便、界面简洁美观。 能完成仓库的各种日常操作。 能很好的预防各自人为因素产生的错误操作 能够为用户提供多种条件的查询操作,为物料管理提供准确及时的数据 可实现盘点报表及盘点后的物料调整 具有很好的安全性,以保证数
10、据的正确性 可追溯数据的历史信息,为系统完善提供依据第二章相关理论基础本系统主要采用VB6 + Access2000相结合的技术来进行开发,用户界面的设计是用VB6来进行的,后台数据库使用Access2000。与数据库的连接则使用ADO的相关功能来完成的。在系统需涉及的一些相关技术概述如下。2.1 Visual Basic 6Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程
11、机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。VB6是指Visual Basic 6.0的版本。 2.1.1Visual Basic 6的功能特点A) 具有面向对象的可视化设计工具:在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。B) 事件驱动的编程机制:事件驱动是非常适合图形
12、用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。C) 提供了易学易用的应用程序集成开发环境:在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。D) 结构化的程序设计语言:VB6具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:强大的数值和字符串处理功能;丰富的图形指令,可方便地绘制各种图形;提供静态和动态数组,有利于简化内存的管理;过程可递归
13、调用,使程序更为简练;支持随机文件和顺序文件的访问;提供了一个可供应用程序调用的包含多种类型的图标库;具有完善的运行出错处理。E)支持多种数据库系统的访问:利用数据控件可访问的数据库系统有:Microsoft Access、SQL server、DBASE、Microsoft FoxPro和Oracle等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。F)支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术。G)完备的HELP联机帮助功能:与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需
14、要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。 VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执行是由外来事件决定的。因此是“事件”驱动的。 编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。 在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部
15、分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming)。2.1.2Visual Basic 6中的基本概念对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性
16、可能不同。属性一般决定了对象的位置、大小、显示等情况。方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就
17、可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。2.2 Access2000数据库作为Microsoft的office套件产品之一,Access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBase,Paradox,Mi
18、crosoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。2.Access的总体结构Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和
19、模块。表:用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。查询:为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。窗体:窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applications(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向
20、导)来建立标准的Windows窗体。报表:为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。宏:为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。模块:包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。2.VB6和Access的连接在进行系统开发时,一个很重要的步骤就是建立数据库的连接,即访问数据库。VB6提供了多种方式访问数据库,
21、其中以ODBC与ADO应用最多。早期还有RDO,DAO等。2.2.2.1 ODBC连接数据库ODBC(Open Database Connectivity,开放数据库连接)是微软开放服务结构中有关数据库的一个组成部分。它建立了一组规范,并提供了一组应用程序调用接口。用这样一组接口建立的应用程序,对数据库的操作不依赖于任何数据库管理系统,不直接与任何DBMS打交道,由此可实现应用程序对不同DBMS的共享。数据库操作的“数据源”对应用程序是透明的,所有的数据库操作由对应DBMS的ODBC驱动程序(ODBC Driver)完成。有了ODBC驱动程序,数据源就变得十分广泛,它可以是本机的某种数据库格式
22、的文件(如本机DOS目录下的Access文件*.mdb),也可以是远程数据库文件(如Microsoft SQL Server);它可以是目前已知的某种DBMS格式,也可以是一种全新的数据库格式。在ODBC方式中,不管底层网络环境如何,也无论采用何种DBMS,用户在程序中都使用同一套标准代码,源程序可以不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。但ODBC访问数据库的速度较慢,而且需为每个客户端配置ODBC数据源。2.2.2.2ADO连接数据库微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数
23、据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。ADO包含一些顶层的对象: 连接,代表到数据库的连接 记录集,代表数据库记录的一个集合 命令,代表一个SQL命令 记录,代表数据的一个集合 流,代表数据的顺序集合 错误,代表数据库访问中产生的意外 字段,代表一个数据库字段 参数,代表一个SQL参数 属性,保存对象的信息 ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用。同传统的
24、数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个Connection对象,但是可以有多个,独立的Recordset对象来使用它。ADO针对客户服务器以及WEB应用程序作了优化。ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。图2.1 VB应用程序与数据库的连接第三章需求分析3.1 需求分析软件需求分析是软件开发周期的第一个阶段,也是
25、关系到软件开始成败的关键步骤。准确、完整和规范化的软件需求是软件开发成功的关键。3.1.1 系统数据流程图在研究了用户提供的原始资料及要求后,画出了系统的数据流程图如下所示。图3-1数据流程图3.1.2功能需求及设计思想3.1.2.1 总体架构思想本仓库管理系统是利用Client/Server结构,即客户机/服务器模式。这种CS模式适用于局域网、安全性可以得到可靠的保证。它为数据提供了更安全的存取模式。响应速度快。程序开发具有很强的针对性,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。图3-2 C/S结构示意图3.1.2.2物料管理模块首先我们为每一个物料制定出唯一的一个代码
26、,在整个物料管理过程中都将以这个代码来管理物料。设计代码如下:1 Y Y Y X X X X;其中1代表是物料。YYY代表序列号,XXXX由系统自动给出。每增加一个物料时,系统都会给出此物料的代码。对于物料数量上的控制采用最大最小数量法。如果当前数量小于最小数量,则需出订单去采购,如果大于最大数量则不允许再出订单。自动订单是根据这个原则产生的。物料根据其价值分为A,B,C三类,可以为每一种类型的物料制定不同的控制方法。类物品:高值价值占库存总值-的相对少数物品。通常为物品的-。类物品:中值总值占库存总值的-。物品数居中,通常占物品的-。类物品:低值库存总值几乎可以忽略不计,只占-。是物品的大多
27、数,通常占-。3.1.2.3供应商管理模块供应商管理模块记录公司所有供应商的情况,以保证每个供应商都是经过认证的。并且为每个供应商编制一个统一的代码。以代码来代表供应商,可以减少数据库中的数据量。供应商管理模块还包括公司的物料在供应商处的代码。就像我们去买东西,我们不但要知道去哪里买,还要知道买什么。供应商代码只提供我们去哪里买,而物料在供应商的代码则是解决了要买什么的问题。系统为了统一管理,加强控制。将这两个信息结合在一起给出一个综合代码。例如我们去人民商场买一件衣服给出一个综合代码为4000-0001,而去长发商场去买同一件衣服则给出的综合代码为4000-0002,这样处理有利于更好的分清
28、每个物料及供应商之间的关系。为生产线提供更多的更全的数据。3.1.2.4产品管理模块物料是指公司从供应商处买来的,是半成品。产品是公司生产的。同样,我们也需为公司的每一个产品编制一个代码。方便管理。另一方面,还需建立产品与物料之间的联系。即产品组成表。表示某个产品是由哪些物料组成的。在制作生产计划时,只需给出生产的产品代码,而无需给出每一个物料的代码。3.1.2.5订单管理模块订单管理主要任务是产生订单。产生定单的方法有两种,一种是自动定单。一种是手工下单。自动定单是系统根据当前的物料状况及物料控制方法来对每一个物料进行分析,如果符合下单条件则自动产生一个订单,经确认后就为有效订单。在确认过程
29、中,可以对订单进行各种操作。手工下单就是人为地去采购某一种物料,并且把这个订单记录到系统中去。自动订单可以一次下多个定单,手工下单只能一个一个产生订单。订单是仓库进行收料操作的基础。3.1.2.6仓库收料仓库根据系统发出的订单进行收料。3.1.2.7生产计划管理模块此模块主要是管理生产计划。根据产品及生产数量,日期等不同将生产分为一批一批,利用生产计划号,即工单号来区分。每次计划产生前,系统会根据产品组成表提供的信息来检验当前的物料状况,如果物料不能满足此次生产,则不能成功产生生产计划。仓库的发料也是根据生产计划来进行的。每个生产计划都会自动产生一个发料清单。3.1.2.8仓位管理模块仓位管理
30、记录了仓库每个仓位存放的物料。3.1.2.9仓库发料仓库根据生产计划给出的工单号来进行发料。发料时,即可以一次性发多个料,即按工单发料;也可以按物料一个一个来发。可自由选择。也可以两种方法结合在一起来发料。3.1.2.10生产增料和退料生产增料代表了生产损耗。为了核算每批产品的生产成本,因此增料操作需按生产计划号来进行。即每个生产增料都需确定到每个计划号,因此增料是以生产计划号为基础的。生产退料是生产线将好的物料退回给仓库。3.1.2.11盘点管理仓库每月,每季及每年都要进行盘点。盘点时需提供盘点报表及盘点调整。3.1.2.12报表与查询需提供根据各种条件来得到查询结果。条件即可以是单个条件也
31、可以组合条件。查询结果分为三个部分,一部分是基本信息,另一部分是订单信息,以及生产计划信息。3.1.2.13操作日志记录系统内主要的数据的操作,以便日后查询所需。第四章系统设计在进行了需求分析、确定了设计思想之后,就要进行系统的功能设计和数据库的设计。4.1 系统功能设计4.1.1 系统功能模块图在仔细分析了公司的物料数据图后,决定将整个系统分为四大模块,每个模块又有若干个子模块。整个系统功能模块如下图所示:图4-1系统功能模块图4.1.2 系统各模块说明4.1.2.1 系统管理模块在此功能模块,用户可以进行用户间的切换,修改密码,及退出。对于管理员和超级用户还可以进行用户管理。4.1.2.2
32、仓库管理模块仓库管理模块可完成仓库的主要日常操作。包括收料,发料,增料,退料。同时还有仓库的仓位管理及盘点调整。4.1.2.3物料管理模块物料管理模块可完成附加功能,利用这些功能可很好的防止由于人为因素造成的数据错误。具体有物料管理,产品管理,供应商管理,订单管理和生产计划管理。4.1.2.4报表查询模块在此功能模块,用户可以进行各种条件的查询。实时了解整个公司的物料状况。为决策提供依据。具体有查询,操作日志及盘点报表。4.2 数据库设计大多数应用系统都需要后台数据库地支持。在Windows操作系统中,Access和SQL Server是最常见地网络后台数据库。本系统是采用Access数据库存
33、储数据。4.2.1 创建数据库本系统采用了Access作为数据库管理系统。先启动Access2000程序,然后创建名为“WMS”的数据库。并为此数据库设置密码。4.2.2 数据表结构本仓库管理系统的数据库共包括12张数据表。4.2.2.1 用户信息表用户信息表(Users)用来保存用户(管理员,用户)的信息,该表的结构如表4-1所示。表4-1 Users(用户信息)表的结构4.2.2.2物料代码表物料代码表(Materials)用来存放企业所需用的所有的物料。该表的结构如表4-2所示。表4-2 Materials(物料代码)表的结构4.2.2.3产品代码表产品代码表(Productions)用
34、来保存公司生产的所有产品的信息,该表的结构如表4-3所示。表4-3 Productions(产品代码)表的结构4.2.2.4产品组成表产品组成表(BoMs)用来记录公司生产的产品是由哪些物料组成的。为仓库发料提供依据。该表的结构如表4-4所示。表4-4BoMs(产品组成)表的结构4.2.2.5供应商代码表供应商代码表(Suppliers)用来保存公司供应商的信息。该表的结构如表4-5所示。表4-5Suppliers(供应商代码)表的结构4.2.2.6物料供应商联系表物料供应商联系表(AVLs)用来保存物料在供应商处的有关信息。也是系统产生订单时的必要信息。该表的结构如表4-6所示。表4-6AV
35、Ls(物料供应商联系)表的结构4.2.2.7订单管理表订单管理表(POs)用来保存公司给供应商买料的订单,也是仓库收料的依据。该表的结构如表4-7所示。表4-7 POs(订单管理)表的结构4.2.2.8生产计划产品管理表生产计划产品管理表(PP_Produciton)用来保存生产计划的有关信息。该表的结构如表4-8所示。表4-8PP_Produciton(生产计划产品管理表)表的结构4.2.2.9生产计划物料管理表生产计划物料管理表(PP_Material)用来保存生产计划中的每一颗物料的使用状况。此表是由生产计划产品管理表和产品组成表通过计算而得到的。该表的结构如表4-9所示。表4-9PP_
36、Material(生产计划物料管理)表的结构4.2.2.10物料现状表物料现状表(NowMaterials)用来保存当前的物料状况,同时为订单的产生及生产计划的制定提供物料依据。该表的结构如表4-10所示。表4-10NowMaterials(物料现状)表的结构4.2.2.11仓库仓位管理表仓库仓位管理表(Locations)用来管理仓库的各个仓位信息。该表的结构如表4-11所示。表4-11Locations(仓库仓位管理)表的结构4.2.2.12操作日志表操作日志表(DailyDate)用来保存用户的所有操作信息。以便以后发现问题时查询所需。该表的结构如表4-12所示。表4-12DailyDa
37、te(操作日志)表的结构4.2.3 数据库中各表的关系数据库中各表之间的关系如图4-2所示。图4-2 数据库中各表的关系第五章仓库管理原型系统实现5.1 数据库实现5.1.1 连接数据库在进行系统开发前,一个很重要的步骤就是建立数据库的连接,即访问数据库。VB6提供了多种方式访问数据库,其中以ODBC与ADO应用最多。具体ODBC及ADO详见相关理论部分。本系统采用ADO方式访问数据库。ADO数据库连接主要分两步进行:一是引用ADO,二是使用ADO连接数据库。1. 引用ADO在VB6菜单“工程”-“引用”从中选择 Microsoft ActiveX Data objects 2.8 libra
38、ry和 Microsoft ActiveX Data objects recordset 2.8两个组件,这是在连接数据库前所必做的工作。图5-1 引用ADO图5-2选择ADO控件2. 使用ADO连接数据库本系统采用的是无源的数据库连接方法,因为整个系统都会使用到这个数据库,所以将数据库的连接定义为全局变量。定义数据源Dim db_path As String用于存放数据库的路径Dim db_cn As String连接数据源字符串db_path = App.Path & DataWMS.mdb指定数据库文件db_cn = Provider=Microsoft.Jet.OLEDB.4.0;Da
39、ta Source= & db_path & ;Jet OLEDB:database password=123321;数据库连接字符串Cn.Open db_cn打开数据源5.1.2 建立数据表本系统采用了Access作为数据库管理系统。先启动Access2000程序,然后创建名为“WMS”的数据库。并为此数据库设置密码。在数据库中建立各表。表名称及表结构详见系统设计中数据表的设计。本系统按用户类别及使用功能可以分为管理员登录、普通用户登录及超级用户登录三种。不同类型的用户具有不同的权限。所有用户的主操作界面相同,区别在于个别功能的使用权限。5.2.1 系统登录界面设计思路与要点:用户运行程序后
40、,输入用户名与密码,程序根据用户名到后台数据库查询用户名和密码是否正确,如果正确,则根据用户名给出用户所属的级别,并根据级别给出相应的权限。如没有通过验证,则给出没有通过验证的原因。系统登录界面如图5-3所示。图5-3 仓库管理系统登录界面如果用户名或密码错误,系统会分别提示,防止非法用户进入系统操作。图5-4 仓库管理系统密码错误界面5.2.2 系统主界面设计思路与要点:用户登录通过后,进入系统的主界面。主界面的菜单如果是灰色显示,则表明此用户没有权限操作此功能。在主界面的状态栏会显示当前用户名和用户权限。界面如图5-5所示。图5-5 仓库管理系统主界面5.2.3 系统管理模块系统管理模块主
41、是功能是进行本系统的一些常用管理工作,共有四个子模块:重新登录,修改密码,用户管理,退出。5.2.3.1 重新登录功能进入系统后,可选择重新登录在不现用户之间进行切换。界面如图5-6所示。图5-6 系统重登录界面5.2.3.2修改密码功能设计思路和要点:用户如需修改自己的登录密码,需输入旧密码与新密码,程序在数据库中修改用户的密码。界面如图5-7所示。图5-7修改密码界面5.2.3.3 用户管理功能设计思路和要点:用户管理是对使用此系统的所有用户进行管理。分为增加,删除以及修改用户信息。此功能只有管理员和超级用户才能使用。普通用户不能执行此操作。界面如图5-8所示。图5-8 用户管理界面5.2
42、.3.4 退出功能退出即退出本系统。选择系统管理下的退出即可。如图5-9所示。图5-9退出系统菜单5.2.4 仓库管理模块仓库管理模块是本系统的核心模块。根据仓库的日常操作共分有六个子模块,分别是:入库操作,出库操作,退料操作,增料操作,仓位管理和盘点损益。已基本包括了仓库管理的主要功能。5.2.4.1入库操作设计思路和要点:入库操作即仓库的收料,系统规定收料只能根据订单来进行。没有订单就不能完成收料。每个订单都对应一个入库操作。这样可以大大减少因人为因素产生的错误。规范化仓库收料操作。选择订单号码后,相关的订单信息已会显示出来。订单号码是由订单管理模块产生。仓库人员没有权限产生订单。界面如图
43、5-10所示。图5-10入库操作界面5.2.4.2出库操作设计思想和要点:出库操作即仓库的发料,本系统规定仓库的发料需根据生产计划来进行。没有生产计划则不能发料。生产计划的产生由专门模块实现。生产计划用工单来区分。每个工单的发料可有两种方式 ,一种是按工单发料,即一次性将一个工单的全部所需物料全部发至生产线。另一种是按物料,即根据生产状况,一个一个将物料发至生产线。选择选择发料类型,按工单或按物料。按工单的话,则选择工单号即生产计划号,系统自动将此工单的所有料发至生产线。界面如图5-11和图5-12所示。图5-11出库操作按工单界面图5-12出库操作按物料界面5.2.4.3退料操作设计思路和要
44、点:退料操作是针对生产线由于各种原因产生的生产中多领的物料退回仓库。退料时需选择所退物料的料号及数量。程序会根据这些信息在数据库中作出相应的调整。界面如图5-13所示。图5-13退料操作界面5.2.4.4 增料操作设计思路和要点:增料操作即由于生产损耗而需要增料。为了核算成本,增料需根据生产计划号来进行增料操作,这样就可以清楚列出每次生产的损耗。界面如图5-14所示。图5-14增料操作界面5.2.4.5仓位管理设计思路与要点:仓位管理是对仓库的各个仓位进行分配与管理。可以增加新的仓位和修改仓位存放的物料。界面如图5-15所示。图5-15仓位管理界面5.2.4.6盘点损益设计思路和要点:每次盘点
45、后,需根据盘点结果进行某些物料的调整。调整分为收益和亏损。界面如图5-16所示。图5-16盘点损益界面5.2.5 物料管理模块此模块的主要功能是对仓库和生产及仓库和物料的一些接口数据的管理。在现代企业中,每个系统之间都有一定的联系。仓库系统也不例外,为了更好的管理仓库,得到更全的数据,减少因为人为因素而发生的错误,仓库与其他系统也有一定的数据联系。此模块共有五个子模块:物料管理,产品管理,供应商管理,生产计划和订单管理。5.2.5.1 物料管理设计思路和要点:物料管理模块是管理企业的所有的物料,系统为每个物料给出一个代码。在企业内部以这个代码来进行收料,发料等操作。物料代码是整个企业物料管理的
46、基础。因此物料代码的管理是非常重要的。综合公司的具体情况,决定物料代码由程序根据一定的规则自动产生。物料采用最大最小数量来控制。界面如图5-17所示。图5-17物料管理界面5.2.5.2 产品管理设计思路和要点:产品管理模块主是对公司的所有产品进行编码及记录产品的组成情况。相应地分两部分,一个是产品代码管理,另一个是产品组成物料清单管理。产品代码是由程序根据一定的规则产生。而产品组成物料清单则是由物料管理中的物料组成的。产品与物料最大的不同点在于产品是由公司生产出来的,而物料是由公司直接买来的。界面如图5-18和图5-19所示。图5-18产品管理界面图5-19产品物料组成清单界面5.2.5.3
47、 供应商管理设计思路和要点:供应商管理也分两部分,一个是供应商代码管理,另一个是供应商物料代码管理。供应商代码管理是为了方便对供应商进行调整。供应商加上供应商的物料代码组成了一个综合信息。我们为每个综合信息进行编号,方便管理。界面如图5-20和图5-21所示。图5-20供应商代码管理界面图5-21供应商物料代码管理界面5.2.5.4生产计划管理设计思路和要点:生产计划管理需根据当前的物料状况来进行。每次生产计划以编号来划分。编号由系统产生。计划产生时系统会检查物料状况。如物料状况不允许则不能成功产生生产计划。界面如图5-22所示。图5-22生产计划管理界面5.2.5.5订单管理设计思路和要点:订单可以系统自动产生,也可以手工产生。自动产生时,根据物料的管理办法,产生订单可以是多个也可以是一个。而手工定单的产生只能是一个。定单产生后需进行确认