版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、库存管理系统前言:仓库库存管理系统是一个企业不可缺少的部分,它的容对于企业的决策者和管理者来说都至关重要,所以仓库库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、
2、存储量大、性好、寿命长、成本低等。这些优点能够极提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套库存管理软件成为很有必要的事情。摘 要库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以与前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期就可以开发出用户满意的可行系统。 关键
3、字: 库存管理 ADO 面相对象 库存ABC分析 Abstract Stockpile manage system is a typical MIS.Its development mostly include the foundation and maintenance of the database and the development of the client application programme.For the former we must eatablish a better database,which has well data consistency and data
4、 security.For the latter we must make the programme has self-contained function and easy to be use. By analysing the situation,we use the VB of the Microsoft company as client tool,and use some of the tools of opp, especially ADO object,which can easily conveniently manipulate the database.We use it
5、 can develop a satisfactory system in short time Key: Stockpile manage ADO OPP The analysis of Stockpile 第一章 概述 1.1 库存管理的必要性 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场
6、价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 1.2 库存分类 企业怎样管理库存,是库存管理的最大难点和挑战。因此,通过MRPII物料主计划模块和采购模块建立计划与控制系统以有效地实施库存管理和采购补偿成为题中应有之义。通过调查,我们得知任何库存均可分为如下三类: 类物品:高值价值占库存总值-的相对少数物品。通常为物品的-。 类物品:中值总值占库存总值的-。物品数居中,通常占物品的-。 类物品:低值库存总值几乎可以忽略不计,只占-。是物品的大多数,通常占-。 显然,类物品是关键;如果我们把精力集中于类物品,使其库存压缩10-50,就是总库存的相
7、当可观的一笔压缩。 关于分类方法有几条基本法则: a. 控制的程度: 对类物品严加控制,包括做完备、准确的记录,高层监督和经常评审,从供应商按大合同订单频繁交货,对车间紧密跟踪以压缩提前期。 对类物品做正常控制,包括良好的记录与常规的关注。 对类物品尽可能使用简便的控制,诸如定期目视检查库存实物、简要记录或以简便标志法表明补充存货已经订货,采用大库存量与订货量以避免缺货,安排车间日程计划时给以低优先级。 b.优先级 在一切活动中给类物品以高优先级以压缩其提前期与库存。 对类物品予以正常处理,仅在关键时给以高优先级。 予类物品以最低优先级。 c.订货过程 对类物品提供与时、准确的采购信息和状态查
8、询。计算机数据需要人工加以核对,进行阶段性盘点,以与频繁的评审以压缩库存。 对类物品,按一定周期或当发生重大变化时评审一次库存数据和订货点,MRPII操作按例行公事处理。 对类物品可以盘点处理或订货点计算。订货往往不用MRPII作计划。可以凭业务人员的经验加以控制。 由上可以看出库存管理的重要性。因此,库存管理是企业管理的重要组成部分。市场需要库存商品提供给用户,企业的经营需要库存保证各种药品的供应以进行药品的销售,库存对生产效率的提高有着极其重要的影响。因此,库存管理系统是计算机管理系统的中心。因为,所有企业的经营活动都离不开物流的活动。 1.3 库存管理的目标 库存管理的主要目标就是通过对
9、仓库所有入出库活动的管理和控制与对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员与早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,与时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。 第二章 开发背景 企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业
10、之间的管理体制不尽一样,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。 一个完整的企业物资供应管理系统
11、应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。 第三章 系统分析 本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是
12、最容易被开发人员忽视的环节。 3.1进行资料收集 在整个系统分析阶段,我在图书馆认真查看了很多关于仓库库存管理方面的书籍,收集到了相应的入库单、领料单、台账、物料卡、报表等资料,这些资料可以用作数据库设计的依据,具体如下: 入库单是入库单位在把相应的零部件送人仓库时必须填写的单据;领料单是领料人员从仓库中领取零部件时必须填写的单据(即出库);零部件台账(相当于本系统中的操作日志)实际是一个流水账,用于记录每天发生的入库、出库信息;物料卡(在本系统中用现有库存信息来表示)的作用是记录某一种零部件的数量变化,以便库管员盘查;报表是仓库向有关领导和部门定期提交的零部件库存汇总信息。收集到的入库单、领
13、料单、零部件库存台账、零部件物料卡等单据和报表的实物样式在此略去,有兴趣者请参考有关类似企业的样本即可。 3.2绘制业务流程图 在某公司的调研过程中,已了解到所涉与的业务主要是入库和出库,图3.1是系统入库、出库业务流程图。 3.3用户需求分析 用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。 3.3.1应用程序结构确定 从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个
14、层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器服务器应用程序结构、客户机服务器应用程序结构等5种类型。 本库存管理系统就采用了当前最流行的客户机服务器应用程序结构(即C/S结构),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又被称为“灵敏的客户机”结构。许多操作可以在本地的客户机上执行,只是当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服
15、务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。3.3.2确定系统开发环境 由于大多数公司部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境: 网络操作系统:Windows2000;数据库服务器:MicrosoftAccessr2000; 服务器平台:Windows2000;客户机平台:Windows9598NT2000; 前端开发工具:visualBasic6.0(企业版);数据访问对象:ADO(本系统使用ADO控件,简化编程)。 3.3.3确定系统的功能模块 通过分析确定库存系统
16、将包含6个主要功能模块,即系统模块、入库业务管理模块、出库业务管理模块、退料业务管理模块(还库业务管理模块)、盘点业务管理模块(报表输出)、需求管理模块。对于每一个功能模块,都包含了数据录入、编辑、查询、统计、打印、应急、帮助等功能。 第四章 系统设计 4 1总体设计 4.1.1系统目标设计 系统开发的总体任务是实现企业物资设备管理的系统化、规化和自动化,从而达到企业仓库库存管理效率的目的。 4.1.2开发设计思想 库存管理的物资主要是企业生产中所需要的各种设备、原材料与零部件。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门
17、生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理员根据出库单核对发放设备、原材料与零部件。有些设备使用完毕需要与时归还入库,填写还库单。根据需要按照月、季、年进行统计分析,产生相应报表。 仓库库存管理的特点是信息处理量比较大。所管理的物资设备、原材料与零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不一样,因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。 在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:
18、l 统一各种原始单据的格式,统一帐目和报表的格式。 删除不必要的管理冗余,实现管理规化、l科学化。 程序代码标准化,软件统一化,确保软件的可维护性和实用性。l 界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。l 建立操作日志,系统自动记录所进行的各种操作。l 4.1.3系统功能分析 本系统需要完成的功能主要有以下几点。 库存管理的各种信息的输入,包括入库、出库、还库、需求信息的输入等。l 库存管理的各种信息的查询、修改和维护。l 设备采购报表的生成。l l 在材料库存中加入所允许的最大库存合最小库存字段,对所有库存物资实现监控和报警。 企业各个部门的物资需求管理。l 操作日志
19、的管理l l 库存管理系统的使用帮助。 4.2详细设计 4.2.1 系统功能模块设计 在系统功能分析的基础上,考虑VB和Access的特点,设计出如图4.1所示的系统功能模块图。 系统模块 a. 包括报表的打印与设置,操作日志的管理。 b. 管理员可以通过管理界面添加或删除用户,添加新管理员或删除原有管理员,验证用户的合法性,阻止非法用户登录。 c. 管理员或其他用户可以修改自己的密码。 (2) 入库模块 包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询与打印 (3) 出库模块 包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询与打印 (4)
20、还库模块 包括填写还库单,更新,删除还库记录,还库记录的查询与打印 (5) 需求模块 包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询与打印,以与预测短期的需求计划。 通过对企业仓库管理容和数据流程分析,设计的数据项合数据结构如下: 设备代码信息。包括的数据项有设备号、设备名称。l l 现有库存信息。包括的数据项有现有设备、现有数目、最大库存、最小库存等。 l 设备使用信息。包括的数据项有使用的设备、使用部门。数目。使用时间、出库时状态等。 l 设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。 l 设备归还信息。包括的数据项
21、有归还设备、归还部门、归还数目、归还时间、经手人等。 l 设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。 有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。 数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以与它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、出库实体、入库实体、采购实体、还库实体、需体。各个实体的E-R图与其关系描述如下: 数据库逻辑结构设计 在上面的实体以与实体之间关系的基础上,形成各个表格之间的关系。 库存管理系统数据库中的各个表的设计结果如下面的几个表格所
22、示,每个表格表示数据库中的一个表。 4.3 代码设计 任何库存均可分为如下三类: 类物品:高值价值占库存总值-的相对少数物品。通常为物品的-。 类物品:中值总值占库存总值的-。物品数居中,通常占物品的-。 类物品:低值库存总值几乎可以忽略不计,只占-。是物品的大多数,通常占-。 44 输入输出设计 本系统界面标准Windows形式,键盘输入(也可以用条形码读取),人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。 45系统安全性设计 系统数据库中包含多个二维表,所以在系统与数据库的连接上,并没有把数据库和系统的连接直接写入代码,而是通过对服务器端进行系统设置,使数据
23、库名与路径不可见,并通过ACCESS的数据库安全设置,保证了数据库的安全性。系统根据用户身份不同赋予不同权限,用户用密码登陆,同样也保证了系统数据的安全性。 第五章 系统实施 51、开发工具简介 本系统的前端开发工具,我选择了Visual Basic6.0,后台数据库采用Access2000。 5.1.1 VB简介 Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一
24、种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。 5.1.2 VB功能特点 具有面向对象的可视化设计工具l 在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。 事件驱动的编程机制l 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流
25、向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。 提供了易学易用的应用程序集成开发环境l 在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。 结构化的程序设计语言l VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点: Ø 强大的数值和字符串处理功能 丰富的图形指令,可方便地绘制各种图形Ø 提供静态和动态数组,有利于简化存的管理Ø Ø 过程可递归调用,使程序更为简练 支持随机文件和顺序
26、文件的访问Ø 提供了一个可供应用程序调用的包含多种类型的图标库Ø Ø 具有完善的运行出错处理 支持多种数据库系统的访问l 利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。 l 支持动态数据交换(DDE)、动态库(DLL)和对象的与嵌入(OLE)技术 完备的HELP联机帮助功能l 与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。V
27、B帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。 VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。 编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。 在VB中,窗体实际上是一个对象,VB的窗体含有许多嵌特性,这使得用户界面部分的建立像是从一
28、个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming) 5.1.3 VB中的基本概念 对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。 属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置
29、、大小、显示等情况。 方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。 事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。 控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件与方法。只需修改这些特征你就可以随心所欲地编程了。最重要
30、的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。 5.1.4 Access2000数据库简介 作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft F
31、oxPro)和服务器、小型机与大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。 Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。Access的总体结构 Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。 表 用户定
32、义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。 查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。 窗体 窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标
33、准的Windows窗体。 报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。 宏 为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。 模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。 Adodc1.RecordSource = frmLogin.Adodc1.RecordSource
34、 Adodc1.Refresh Set Text4.DataSource = Adodc1 Text4.DataField = "密码" If Text1 = "" Then MsgBox "请输入原密码!", , "修改密码" E
35、xit Sub ElseIf Text1.Text <> Adodc1.Recordset.Fields("密码") Then MsgBox "原密码错误!", , "修改密码" Exit Sub ElseIf Text2 = "" Or Text3 = "
36、" Then MsgBox "请输入新密码!", , "修改密码" Exit Sub ElseIf Text2 <> Text3 Then MsgBox "密码不一致!", , "修改密码"
37、0; Exit Sub Else Text4.Text = Text2.Text Adodc1.Recordset.MoveFirst MsgBox "密码修改成功!", , "修改密码"
38、 Unload Me End If Dim I, J As Integer Dim STR As String If Text1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = ""
39、 Or Text7 = "" Then MsgBox "请输入完整信息!" Exit Sub Else 将记录存入入库记录表 设备入库表.datPrimaryRS.Recordset.Fields("设备号") = Text1.Text
40、160; 设备入库表.datPrimaryRS.Recordset.Fields("入库数量") = Text2.Text 设备入库表.datPrimaryRS.Recordset.Fields("入库时间") = Combo1.Text 设备入库表.datPrimaryRS.Recordset.Fields("供应商&
41、quot;) = Text4.Text 设备入库表.datPrimaryRS.Recordset.Fields("供应商") = Text5.Text 设备入库表.datPrimaryRS.Recordset.Fields("价格") = Text6.Text 设备入库表.datPrimaryRS.Reco
42、rdset.Fields("采购员") = Text7.Text MsgBox "已经成功入库!" End If设备入库表.Adodc1.RecordSource = "select * from 现有库存表 where 设备号='" & Text1.Text & "'" 设备入库表.Adodc1.Refresh
43、160; 设备入库表.DataGrid1.Refresh If 设备入库表.Adodc1.Recordset.RecordCount > 0 Then 将记录加入现有库存表中 设备入库表.Text9.Text = CInt(设备入库表.Text9.Text)
44、 + CInt(Text2.Text) 设备入库表.Text9.Refresh J = 设备入库表.Text9 设备入库表.Adodc1.Recordset.MoveFirst 设备入库表.Adodc1.Recordset.Fields.Refresh
45、 设备入库表.DataGrid1.Refresh MsgBox "现有库存量为:" & J Else STR = "现有库存表中无此设备!" & vbCrLf & "请在设备代码表和现有库存表中手动添加记录!"
46、60; MsgBox STR Load frm现有库存表 frm现有库存表.Show Call frm现有库存表 mand1_Click FrmAddNewEqu.Text1.Text = frmInput.Text
47、1.Text FrmAddNewEqu.Text2.Text = frmInput.Text2.Text Load frm设备代码表 frm设备代码表.Show End If End SubPrivate Sub cmdDelete_Click( ) 删除入库表中记录 On Error
48、GoTo DeleteErr Dim YesNo As String YesNo = MsgBox("删除", vbYesNo, "删除记录") If YesNo = vbYes Then With datPrimaryRS.Recordset .Delete .MoveNext
49、160; If .EOF Then .MoveLast End With Else Exit SubEnd IfDeleteErr: MsgBox Err.DescriptionEnd SubPrivate Sub cmdUpdate_Click( ) 更新纪录程序 On Error GoTo UpdateErr datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit
50、SubUpdateErr: MsgBox Err.DescriptionPrivate Sub Command1_Click( )设备出库程序 Dim i, J, k As Integer Dim STR As String frm设备出库表.Adodc1.RecordSource = "select * from 现有库存表 where 设备号='" & Text1.Text & "'"
51、160; frm设备出库表.Adodc1.Refresh frm设备出库表.DataGrid1.Refresh If IsNumeric(Text2) = False Then MsgBox "数量必须是数字!" Exit Sub End If If Te
52、xt1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = "" Or Text7 = "" Then MsgBox "请输入完整信息!" Exit Sub&
53、#160; ElseIf frm设备出库表.Adodc1.Recordset.RecordCount <= 0 Then STR = "现有库存表中无此设备!请检查输入是否正确!" MsgBox STR Exit Sub Else
54、0; frm设备出库表.datPrimaryRS.Recordset.Fields("设备号") = Text1.Text frm设备出库表.datPrimaryRS.Recordset.Fields("出库数量") = Text2.Text frm设备出库表.datPrimaryRS.Recordset.Fields("出库时间&
55、quot;) = Combo1.Text frm设备出库表.datPrimaryRS.Recordset.Fields("经手人") = Text4.Text frm设备出库表.datPrimaryRS.Recordset.Fields("领取人") = Text5.Text frm设备出库表.datPri
56、maryRS.Recordset.Fields("使用部门") = Text6.Text frm设备出库表.datPrimaryRS.Recordset.Fields("用途") = Text7.Text MsgBox "已经成功存入设备出库表库!" End If
57、; If frm设备出库表.Adodc1.Recordset.RecordCount > 0 Then k = CInt(frm设备出库表.Text9.Text) - CInt(Text2.Text) If k >= 0 Then frm设备出库表.Text9.Text = CInt(f
58、rm设备出库表.Text9.Text) - CInt(Text2.Text) frm设备出库表.Text9.Refresh J = frm设备出库表.Text9 frm设备出库表.Adodc1.Recor
59、dset.MoveFirst frm设备出库表.Adodc1.Recordset.Fields.Refresh frm设备出库表.DataGrid1.Refresh MsgBox "现有库存量为
60、:" & J Else MsgBox "现有库存量不足!请输入合适数量!" Exit Sub End If
61、 Else STR = "现有库存表中无此设备!请检查输入是否正确!" MsgBox STR End IfEnd SubPrivate Sub cmdDelete_Click( )删除出库记录 On Error GoTo DeleteErr Dim YesNo As String YesNo = Msg
62、Box("删除", vbYesNo, "删除记录") If YesNo = vbYes Then With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast &
63、#160; End With Else Exit SubEnd IfDeleteErr: MsgBox Err.DescriptionEnd Sub更新记录程序同入库的更新程序一样,在此略5.2.5设备采购模块实现,程序略 主要程序 Private Sub cmdAdd_Click( ) 添加设备 On Error GoTo AddErr datPrimaryRS.Recordset.AddNew Exit Sub AddErr: MsgBox Err.Description End Sub 5.2.8 库存报警模块实现 主
64、要程序Private Sub Command1_Click() 显示高于最大警戒库存的设备 datPrimaryRS.RecordSource = "select * from 现有库存表 where 现有库存>最大库存" datPrimaryRS.Refresh grdDataGrid.Refresh If datPrimaryRS.Recordset.RecordCount > 0 Then &
65、#160; Beep MsgBox "表中设备已过量!" Else MsgBox "没有设备库存过量!" End IfEnd Sub Private Sub Command2_Click()显示低于于最小警戒库存的设备 datPrimaryRS.RecordSource = &quo
66、t;select * from 现有库存表 where 现有库存<最小库存" datPrimaryRS.Refresh grdDataGrid.Refresh If datPrimaryRS.Recordset.RecordCount > 0 Then Beep MsgBox "表中设备库存量已过警戒线!请采购!"&
67、#160; Else MsgBox "没有设备库存量过少!" End If
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度污水处理厂建设项目合同
- 2024年度版权许可使用合同续约意向书2篇
- 2024年度版权许可使用合同:著作权人与使用人之间的合同
- 二零二四年度铲车操作培训合同:操作员技能提升与资格认证
- 2024年度农作物种子供应与推广合同2篇
- 二零二四年度版权代理合同标的000万元
- 2024年度农产品供应链优化合作协议
- 2024年度版权许可使用合同(音乐制作)
- 2024年度加工承揽合同:航空零件加工与质量检验3篇
- 2024年度电子商务交易纠纷解决机制设计与合同约束
- 食堂安全隐患及防范措施
- 海水养殖与水域污染治理
- 护理安全质控总结分析报告
- 钢筋拉伸试验课件
- 《比特币完整介绍》课件
- 办公室人员颈肩腰腿痛的预防和治疗课件
- 三废环保管理培训
- 人工智能伦理导论- 课件 3-人工智能伦理
- 市政给排水管道工程检验批质量验收记录文本表
- 生态环境安全隐患排查
- 非煤地下矿山隐蔽致灾因素普查治理工作方案
评论
0/150
提交评论