(OA自动化)基于自动化仓
储技术的管理软件
基于自动化仓储技术的计算机管理软件
II
学位论文
基于自动化仓储技术的计算机管理软件
作者姓名:
学科专业:
学号:
指导教师:
完成日期: 2013-6-13
诚信申明
本人申明:
本人所提交的毕业设计(论文)《基于自动化仓储技术的计算机管理软件》的所有
材料是本人在指导教师指导下独立研究、写作、完成的成果,设计(论文)中所引用
他人的无论以何种方式发布的文字、研究成果,均在设计(论文)中加以说明;有关
教师、同学和其他人员对我的设计(论文)的写作、修订提出过并为我在设计(论文)
中加以采纳的意见、建议,均已在我的致谢辞中加以说明并深致谢意。
本设计(论文)和资料若有不实之处,本人承担一切相关责任。
特此申明。
本人签名:
2013年06月13日
基于自动化仓储技术的计算机管理软件
IV
毕业设计(论文)任务书
设计(论文)题目:基于自动化仓储技术的计算机管理软件
系部: 电子工程系 专业: 测控技术与仪器 学号:
学生: 指导教师(含职称): 专业负责人:
1.设计(论文)的主要任务及目标
自动仓储设备管理软件设计的主要任务:
(1)管理层是自动仓储设备的计算机管理模块,也是自动仓储设备的中枢,主要
功能是负责自动仓储设备的信息流管理和协调系统设备的正常运行。管理层除了现场
管理自动仓储设备正常运行,包括联机入库、入库管理、出库管理、库存管理、查询
统计、作业调度等。
(2)监控层是自动仓储设备的重要组成部分,也是自动仓储设备系统的信息中转
机构,他主要接受来自管理层的指令。监控系统接受管理计算机或出入库作业计算机
指令,将任务分解后将作业命令传达给下层设备,并实时监控反馈信息。其中主要设
备的运行位置、作业状态、运行故障等信息以动画的方式仿真显示。
本课题的主要目标是提高仓库工作人员的工作效率,大大减少了以往入出存流程
繁琐,杂乱,周期长的弊端。基于仓库管理的全面自动化,可以减少入库管理、出库
管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。仓库的管理的操
作自动化和信息的电子化,全面提高了仓库的管理水平。
2.设计(论文)的基本要求和内容
自动仓储计算机监控管理系统构成
自动仓储计算机监控管理系统由多种硬件设备和多个应用软件系统组成一个协同工
作的综合系统,并构成一个局域网。仓储管理层,设备调度层,设备控制层。
系统采用三层结构,即:任务和数据管理(库存管理层)、集中监控和设备控制(设备
调度层)、多种任务执行设备(设备控制层)。
自动仓储计算机监控管理系统软件由管理系统、监控系统和出入库系统几部分组
成,分别运行在服务器、管理监控计算机和出入库作业计算机上。各系统之间通过网
络通信接口和数据库实现信息的传递。
操作系统采用 Windows2000Server,数据库采用 access,控制调度系统采用
delphi开发。
计算机监控管理系统软件功能
(1)管理模块。管理模块负责上层数据管理和信息处理,应用于管理终端上。包
括库存管理模块、货位管理模块、信息查询、统计报表、库存分析、故障处理等。能
基于自动化仓储技术的计算机管理软件
VI
根据现场的实际情况合理的分配货位,如均匀存放、先进先出、按批发货等。管理系
统根据操作员的指令,完成下列各项任务:
A、货物信息管理
B、对立体仓库提供各种存储策略:先进先出、近期先出、按批发货、均匀存放、
分区存放,紧急优先
C、按操作者要求执行各种查询与统计
D、分类生成各种报表,并格式化打印输出
E、系统初始化、数据备份、基本数据编码维护
F、系统用户操作权限管理
G、货物库存量上限和下限预警报告。
(2)监控模块。监控系统接受管理计算机或出入库作业计算机指令,将任务分解
后将作业命令传达给下层设备,并实时监控反馈信息。其中主要设备的运行位置、作
业状态、运行故障等信息以动画的方式仿真显示。它主要实现以下功能:
A、将接收到的任务指令分解为设备的动作指令,并对指令队列进行优化组合。
B、向设备控制器下达动作指令,并监测其执行结果。
C、对设备运行状态进行监测。
D、将设备的状态信息和动作执行结果反馈给操作者和必要的终端系统。
E、根据执行结果修改数据库。
F、以简明清晰的画面、图表形式将系统运行状态和货位占用情况实时显示在计
算机屏幕上进行仿真监控物料运行状态、位置和设备运行状态。
G、处理并报告系统出现的各种故障。
(3)出入库管理模块
A、出入库系统对出入库信息进行管理。
B、订单输入
C、订单查询
D、货物入库操作
E、货物出库操作
F、条码扫描及货物信息录入,身份确认
G、货位状态查询
H、设备状态查询
I、托盘状态查询、显示
J、库存情况查询故障
3.参考文献
[1]学用
社,2003
[2]程序设计教程/龚沛曾,陆慰民,杨志强编。高等教育出版社,
[3]入门与提高/张树兵,戴红,陈哲著。清华大学出版社,
[4]VisualBasic灵感编程/飞思科技产品研发中心编著。电子工业出版社,
[5]刘安宇,张仰森,李媛丽.“单仓库多用户”自动化立体仓库管理信息系统设计[J].
机械工程学报,2009,24(1):20-25.
基于自动化仓储技术的计算机管理软件
VIII
[6]葛元,王林泉.CIMS环境下自动化车间立体仓库物流计算机控制系统[J].计算机工
程,2005,22(6):101-106.
[7]何用辉 ,何丰 .基于 GEPAC的自动化立体仓库控制系统 [J].PC变频器计算
机,2012,(1):38-40.
[8]周文,吴晓波,陈瑶.基于 Petri网理论的自动化立体仓库建模[J].探讨与研
究,2010,(10):115-117.
[6]程玉凯 .基于 PLC 的自动化立体仓库控制系统设计 [J].物流仓储行业应
用,2011,5(6):108-110.
[9]姜世伟,项前,吕志军,王庆霞.基于 SOA的自动化立体仓库管理系统实现[J].计算
机工程与设计201132(12):45-48.
[10]赵云鹏,张永军,李阳.基于单元存储系统的自动化立体仓库整体设计[J].煤矿机
械,2011,32(8):238-240.
[11]赵小柠.我国西部地区自动化立体仓库发展现状分析及研究[J].物流与管
理,2009,3(5):285-290.
[12]周政璋 ,黄亦公 .如何规划一成功的自动仓储电脑系统 [M].机械工程杂
志,2002,5(12):102-106.
[13]李美霞,李卫东 .企业物流自动化立体仓库设计 [J].物流技术, 2010,
6(10):138-143.
[14]王鹏程,王娜.自动化立体仓库仓储管理系统的开发[J].科技信息,2011,
31:98-125.
[15]李矢.自动化立体仓库的控制与管理系统设计[J].物流科技,2011,24(2):14-18.
[16]李峰泉,张亚利.自动化立体仓库管理系统的设计与实现[J].现代电子技术,
2007,16:83-85.
[17]杨鸿.自动化立体仓库管理信息系统的应用[J].工业技术,2008,(11):54-55.
[18]KeesJR,
s[J].EuropeanJournalofOperationResearch,2009,3(2):142-149.
[19]AnnaAzzi,DariaBattini,-
shuttleautomatedstorage/retrievalsystems[J].Computers&IndustrialEngineerin
g,2001,6(4):600-607.
[20]MeijuanLi,XueboChen,
hingOptimizationProblemofTransportationSysteminAutomatedStorageandRetrieva
lSystem[J].WorldCongressonIntelligentControlandAutomation,2010,(8):78-79.
[21]JasonChao-HsienPan,
derpickinglineinapick-and-passwarehousingsystem[J].Computers&IndustrialEng
ineering,2009,57:261-268.
[22],,AnanthKrishnamurthy,
mulationbasedexperimentaldesigntoidentifyfactorsaffectingperformanceofAVS/
RS[J].Computers&IndustrialEngineering,2010,58:175-185.
[23]MeijuanLi,XueboChen,
hingOptimizationProblemofTransportationSysteminAutomatedStorageandRetrieva
lSystem[J].WorldCongressonIntelligentControlandAutomation,2010,(8):78-79.
[24]JasonChao-HsienPan,
derpickinglineinapick-and-passwarehousingsystem[J].Computers&IndustrialEng
ineering,2009,57:261-268.
[25],,AnanthKrishnamurthy,
mulationbasedexperimentaldesigntoidentifyfactorsaffectingperformanceofAVS/
RS[J].Computers&IndustrialEngineering,2010,58:175-185.
4.进度安排
设计(论文)各阶段名称 起止日期
1 查找资料,收集相关书籍。 3月 15日至 4月 5日
基于自动化仓储技术的计算机管理软件
X
2 学习vb,SQLserver2000数据库方面的知识。 4月 6日至 4月 25日
3 完成系统业务流程图、数据流程图的设计。 4月 26日至 5月 14日
4 编写模块程序,实现模块功能。 5月 15日至 6月 12日
5 实现系统总体功能,撰写论文,准备答辩。 6月 13日至 6月 20日
基于自动化仓储技术的计算机管理软件
摘要
仓储管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企
业管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管
理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成
仓储管理提供了强有力的工具和管理手段。仓储管理系统是一个中小型数据库管理系
统,它界面美观、操作简单、安全性高,基本满足了仓储管理的要求。整个系统由基
本信息、单据中心、查询统计、报表打印、维护设置、帮助等模块组成。
本系统是在以ACCESS2000作为后台数据库,以VisualBasic为编程语言来开发的。
仓储管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了
仓储管理计算机化。
关键字:仓储,管理系统,数据库
基于自动化仓储技术的计算机管理软件
XII
Computermanagementsystembasedonthetechnologyofautomaticware
house
Abstract
Theadministrativesystemofthewarehouseisdesignedforrealizingthesystemat
ization,standardizationandautomizationofenterprise'sproductsmanagementandi
yofartificialmanagementoriginally,preventsfromvariouskindsofmistakesbecaus
eofadministrativestaffneglectandthequalityproblemofmanagementandofferespow
erfultoolandmanagementwaytocompletstorehousemanagementforprompt,accurate,h
-scale
databasemanagementsystem,ithasnotonlybeautifulinterface,butalsothehighsecu
rityandthesimplyoperation,
holesystemismadeupbybasicinformation,documentinthecenter,inquirestatistics,r
eportformtype,setuptomaintainandmoduleofhelpingetc.
TheWarehouseadministrativesystemisdesignedwithregardingACCESS2000asthe
ativesystemiseffectual,thehighdataaccuracyduringthecourseofoperating,impro
vesworkingefficiencyandrealizescomputerizationforstorehousemanagementatthe
sametime.
Keyword:TheWarehouse,AdministrativeSystem,TheDatabase
目录
1绪论 1
2自动仓储技术管理软件开发环境简介 2
中文 简介 2
简介 3
3系统可行性分析 4
4系统总体设计 6
系统目标设计 6
开发设计思想 6
功能需求分析 6
系统功能模块设计 7
系统设置模块设计 7
货品管理模块设计 8
查询统计模块设计 9
系统维护模块设计 9
5数据库设计 10
数据库需求分析 10
数据库概念结构设计 11
数据库逻辑结构设计 14
基于自动化仓储技术的计算机管理软件
X
6系统主要界面设计 18
登陆界面 18
系统主窗体 20
菜单栏控件的设计 20
工具栏控件常用属性和事件 21
设置工具栏属性 21
设置主窗体状态栏 25
7系统模块设计 26
系统设置模块设计 26
供应商信息维护窗体窗体 26
创建仓库设置窗体 27
创建期初库存设置窗体 27
货品管理块设计 28
创建货品入库窗体 28
创建货品出库窗体 29
查询统计模块设计 29
创建入库查询窗体 30
创建库存查询窗体 30
创建货品出入库日统计窗体 31
系统维护模块设计 32
操作员管理窗口 32
修改密码窗体 33
操作员管理权限 34
查看日志 35
日志清理功能 36
其他功能 37
工具模块设计 37
致谢 38
参考文献 39
附录 41
1绪论
随着企业管理信息化的发展,网络及计算机的引入使管理跃上了一个新的发展
平台。企业的各项管理都将向信息化方向扩展,仓储的管理对于企业来说尤为重要,
也正是基于这个原因我把毕业设计的方向定在了企业的仓储管理上。
自动化仓储技术管理系统是一个企业不可缺少的部分,它的内容对于企业的决
策者和管理者来说都至关重要,所以仓储管理系统应该能够为用户提供充足的信息
和快捷的查询手段。但一直以来人们使用传统人工的方式管理产品,这种管理方式
存在着许多缺点,如:效率低、保密性差等。另外,由于时间一长,将产生大量的文
件和数据,这对于查找、更新和维护产品都带来了不少的困难。
作为计算机应用的一部分,使用计算机对仓储信息进行管理,有着手工管理所无
法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命
长、成本低等。这些优点能够极大地提高仓储管理的效率。
由于时间紧迫,加之水平有限,设计中的缺点和不足之处在所难免,敬请各位
老师批评指正,不胜感激。
基于自动化仓储技术的计算机管理软件
2
2自动仓储技术管理软件开发环境简介
本仓储管理系统是在以 VisualBasic为编程语言,以 ACCESS2000作为后台数据库
而开发的一个数据库管理系统。下面简要介绍一下中文和Access2000。
中文 简介
VisualBasic提供了开发 Windows应用程序最迅速、最简洁的方法,它提供了一
整套工具,供用户开发应用程序。Visual指的是开发图形用户界面(GUI)的方法,
在图形用户界面下,不需要编写大量代码去描述界面元素的外观和位置,而只需要把
预先建立的对象加到屏幕上的适当位置再进行简单设置即可;Basic指的是
BASIC(BeginnersAll-PurposeSymbolInstructionCode)语言,是一种应用十分广泛的
计算机语言。VisualBasic在原有 BASIC语言的基础上进一步发展,至今包含了数百
条语句、函数和关键词,其中很多和 WindowsGUI有直接关系,专业人员可以用
VisualBasic实现其他任何 Windows编程语言的功能,而初学者只要掌握几个关键词
就可以建立简单的应用程序。VisualBasic还是一个快速可视化程序开发工具,是极
有特色和功能强大的软件。它使用了面向对象的程序设计方法,大大的增强了程序的
可重用性,进而简化了程序设计。VisualBasic提供了众多的 ActiveX控件,提高了
软件开发人员的编程效率。它有其独特的特点,主要特点如下:
(1)可视化设计。VB具有所见即所得的功能,在程序设计时,头脑中所想象的
应用程序界面,完全可以通过键盘和鼠标完成,而不用编制大量代码,如果需要修改
基于自动化仓储技术的计算机管理软件
4
也可利用键盘或鼠标完成,而底层的一些程序代码,可由 VB自动生成或修改。VB为
用户提供了大量“控件”,这些“控件”对于熟悉“Windows应用成序”的用户而言,
也许是一点也不陌生,如“标签”,“组合框”,“命令按扭”“文本框”,“单选框”
等等,用户只需要用鼠标或键盘把这些“控件”拖到所需的位置并设置他们的大小形
状属性等,即可得到所需要的应用程序界面。
(2)事件驱动编程,在 VB中把“窗体”及“控件”称为对象。这些对象组成了
与用户交互的图形界面(也称为用户接口用户界面)再设计应用程序时必须考虑到用
户如何与程序进行交互,用户通过鼠标和键盘与应用程序进行交互是最直接最方便的,
这时那些对象必须对鼠标键盘操作所引起的事件做出响应。响应是指执行一段应用程
序,它不沿预定的路线执行而是在响应不同事件时执行不同的代码,因此 VB编程重点
是在编写事件驱动过程的代码。
(3)面向对象的程序设计。VB是面向对象的程序设计语言,他将代码和数据结
合在一个对象中,用户只需要了解每个对象能完成何种任务而不需要知道对象是如何
工做作的。软件开发人员主要编写事件驱动过程的代码,使对象对用户的操作做出反
映。但因 VB没有多态等面向对象的特性,所以也有人称 VB是一种准面向对象的程序
设计语言。
(4)易学易用,开发周期短。VB简单易学,界面友好,容易使用。VB提供了大
量功能强大的“控件”,能帮助开发人员在较短的时间内用少量语句编写出应用程序,
缩短了开发周期。
简介
ASSESS是一个数据库管理系统,它简单易学,一个普通的计算机用户可以很快
的掌握它。ACCESS2000的功能也十分强大,利用它可以方便的实现对信息保存、维护、
查询、统计等,而且它可以十分方便地与 OFFICE其他组件交流数据,这些功能对一个
普通用户来说已经足够了。
本系统就是在以 ACCESS2000作为后台数据库,以 VisualBasic为编程语言为中小
型企业管理仓储而开发的一个数据库管理系统。
基于自动化仓储技术的计算机管理软件
6
3系统可行性分析
可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题
不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程
上的任何时间、资源、人力和经费都是无谓的浪费。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到
这个目的呢?当然不能靠主观猜想,而只能靠客观分析。必须分析几种主要的可能解
法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是
否大到值得投资开发这个系统的程度。
因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,
也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。所以从以上的分
析原则来看,我所设计的仓储信息管理系统是一个规模不太大的系统,但是目标明确,
清晰的描述了对目标系统的一切限制和约束。本系统几乎在所有的企业、公司使用,
当然它需要进一步的完善和更新。在使用过程中,要看它能不能带来效益,毕竟在现
今社会效率是第一位的。从现实看,这还是有一定的实用价值的,从另一个角度看,
现实社会发展飞速,尊重科技势在必行,因此这也是开发本系统的一个非常重要的原
因。21世纪是计算机的时代,它必然取代一部分人的工作,高科技的监控系统进入社
会生活的方方面面是发展的趋势。
本设计从以下三个方面进行可行性研究:
(1)技术可行性。本设计“仓储技术管理系统”是为企业仓储管理人员开发的。
鉴于本人通过三个月毕业实习中的学习和实践,对开发管理信息系统又有了新的认识
和提高,使自己在开发管理信息系统方面的技术更加成熟。由于本设计最重要体现的
是实用性,所以,通过大量的社会调查和分析,结合自己现有的技术水平加上导师的
指导,还是能按期完成本毕业设计。
(2)经济可行性。成本方面:由于本毕业设计属于本科教学的最后一个环节,所以人
力消耗免费,教学,参考资源丰富,指导老师义务指导。所以成本计算只需计算开发
期间开发者的学习资料消费,学校资源的消耗,指导老师精力消耗。所以开发本软件
的成本是非常低的。效益方面:为企业开发一个完整、合理的仓储管理系统,可大大
节余人力,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工
作量和劳动强度大大降低。所以开发本软件可以为社会带来很好的经济效益。
从以上分析看开发本软件在经济上是可行的。
(3)操作可行性。本软件是为企业自动仓储的管理者开发的,所有本软件的用户对象是
企业自动仓储的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,
用户只需懂得简单的计算机操作知识,就能自由应用本软件。
所以从以上几个方面的分析来看,开发本软件是完全可行的。
基于自动化仓储技术的计算机管理软件
8
4系统总体设计
系统目标设计
系统开发的总体任务是实现企业产品管理的系统化、规范化和自动化,智能化,
从而达到提高企业管理效率的目的。
开发设计思想
自动仓储管理主要是企业各种商品的管理。进货时经检查合同确认为有效托收后,
进行验收入库,填写入库单,进行入库登记。企业各个部门根据需要提出产品请求,
计划员根据整个企业的需求开出产品出库单,仓储管理人员根据出库单核对发放产品。
根据需要按照月进行统计分析,产生相应报表。
仓储管理的特点是信息处理量比较大,所管理的产品种类繁多,而且由于入库单、
出库单、盘点单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。因
此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单
据、报表种类繁多,各个部门管理规格不统一等问题。
在本系统的设计过程中,为了克服这些困难,满足计算机管理工作的需要,我们采
取了下面的一些原则。
(1)统一各种原始单据的格式,统一报表的格式。
(2)删除不必要的管理冗余,实现管理规范化、科学化。
(3)程序代码标准化,软件统一化,确保软件的可维护性和实用性。
(4)界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。
(5)建立操作日志,系统自动记录所进行和各种操作。
功能需求分析
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析
是在系统开发的总体任务的基础上完成。本仓储管理系统需要完成功能主要有:
(1)仓储管理各种信息的输入,包括货物、供应商、客户、仓储信息的输入等。
(2)仓储管理各种信息的查询、统计、修改和维护,包括货物、单据查询,货物出
入、职员操作统计,各种信息的修改和维护等。
(3)打印出、入库报表的生成。
(4)在货物管理中加入最高储备和最低储备字段,对仓储中的产品实现监控和报警。
(5)操作日志的记录。
(6)仓储管理系统的使用帮助。
系统功能模块设计
在系统功能分析的基础上,考虑到 VisualBasic程序编制的特点,得到如图 4-1所示
的系统功能模块图。
基于自动化仓储技术的计算机管理软件
10
仓储管理系统
图 4-1系统功能模块图
系统设置模块设计
图 4-2系统设置模块图
货品管理模块设计
货品管理
图 4-3货品管理模块图
查询统计模块设计
图 4-4查询统计模块图
系统维护模块设计
系统维护
图 4-5系统维护模块图
数据报表模块、工具模块、帮助模块、退出系统模块与上述描述类似,不再一一
赘述。
基于自动化仓储技术的计算机管理软件
12
5数据库设计
数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结
构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,
组成一份详尽的数据字典,为后面的具体设计打下基础。
仔细分析调查有关仓储管理信息需求的基础上,得到如图 5-1所示的本系统所处
理的数据流程。
图 5-1仓储管理系统数据流程图
通过对企业仓储管理的内容和数据流程分析,设计数据项和数据结构如下:
(1)货物信息,包括的数据项有编号、货物名称、货物类别、货物规格、计量单位、
单价、备注等。
(2)仓储信息,包括的数据项有编号、仓储名称、供应商基本信息、、备注等。
(3)库存状况信息,包括的数据项有编号、货物编号、库存数量、单价等。
(4)入库信息,包括的数据项有供应商编号,供应商名称,入库编号、货物编号、入库
时间、入库单价、入库数量、备注等。
(5)出库单信息,包括的数据项有编号、货物编号、出库时间、出库单价、出库数
量、客户编号、仓储编号、定单状况、提货人、提货单位备注等。
(6)进行日、年盘点信息,包括的数据项有商品名称、合计数量、合计金额、统计
日期、统计直方图等。
(7)系统日志信息,包括的数据项有用户名、操作时间、操作内容等。
(8)用户管理信息,包括的数据项有用户名、用户密码、用户权限等。
另外,还有借入单、借出单、等。它们与入库单、出库单信息基本类似,这里不
再一一例举。
数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体
结构,以及他们之间的关系,为以后的逻辑结构设计打下基础。
根据上面的设计规划出的实体有:现有库存信息实体、入库信息实体、出库信息
实体、借入信息实体、借出信息实体、调拨信息实体图和报损信息实体图。各个实体
具体的描述 E-R图如下:
现有库存信息实体 E-R图如图 5-2所示。
现有库存信息实体
编号 货物名称 商品数量 单价
图 5-2现有库存信息实体 E-R图
基于自动化仓储技术的计算机管理软件
14
入库单信息实体 E-R图如图 5-3所示。
图 5-3入库单信息实体 E-R图
出库单信息实体 E-R图如图 5-4所示。
出库信息实体
入 库 编
号
经办人编
号
入库时间、
单价、数量
提货单位
图 5-4出库信息实体 E-R图
借入信息实体 E-R图如图 5-5所示。
图 5-5借入信息实体 E-R图
借出信息实体 E-R图如图 5-6所示。
借出信息实体
借出编号 经办人
借出时间、
数量
货物编号
图 5-6借出信息实体 E-R图
实体和实体之间的关系 E-R图如图 5-7所示。
图 5-7实体之间关系 E-R图
数据库逻辑结构设计
现在需要将在上面的数据库概念结构转化为 ACCESS2000数据库系统所支持的实际数
据模型,也就是数据库的逻辑结构。
仓储管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格所示
在数据库中的一个表。
表 5-1货物基本信息表
基于自动化仓储技术的计算机管理软件
16
字段名称 数据类型 字段大小 可否为空
编号 数字 长整型 不可
货物名称 文本 64 不可
货物类别 文本 50 可
货物规格 文本 50 可
计量单位 文本 50 可
备注 备注 可
表 5-2仓储信息表
字段名称 数据类型 字段大小 可否为空
编号 数字 长整型 不可
仓储名称 文本 50 不可
仓储地点 文本 255 可
保管理员编号 数字 长整型 可
备注 备注 可
表 5-3库存状况信息表
字段名称 数据类型 字段大小 可否为空
编号 数字 长整型 不可
货物编号 数字 长整型 不可
库存数量 数字 长整型 不可
仓储编号 数字 长整型 不可
表 5-4入库单信息表
字段名称 数据类型 字段大小 可否为空
入库编号 数字 长整型 不可
货品名称 文本 50 不可
入库时间 日期/时间 不可
入库单价 货币 不可
入库数量 数字 长整型 不可
入库金额 数字 长整型 不可
供应商名称 文本 50 不可
供应商编号 数字 长整型 不可
货品规格 文本 50 可
经手人 文本 50 可
备注 文本 200 可
表 5-5出库单信息表
字段名称 数据类型 字段大小 可否为空
出库编号 数字 长整型 不可
货品名称 文本 50 不可
出库时间 日期/时间 不可
单价 货币 不可
数量 数字 长整型 不可
金额 数字 长整型 不可
供应商名称 文本 50 不可
提货单位 文本 50 不可
提货人 文本 50 可
经手人 文本 50 可
备注 文本 200 可
表 5-6借入单信息表
字段名称 数据类型 字段大小 可否为空
借货编号 数字 长整型 不可
货品编号 数字 长整型 不可
货品名称 文本 50 不可
计量单位 文本 50 不可
数量 数字 长整型 不可
单价 货币 可
日期 日期/时间 不可
金额 货币 可
备注 备注 可
表 5-7借出单信息表
字段名称 数据类型 字段大小 可否为空
借货编号 数字 长整型 不可
货品编号 数字 长整型 不可
货品名称 文本 50 不可
未还数量 数字 长整型 不可
基于自动化仓储技术的计算机管理软件
18
归还日期 日期/时间 不可
经手人 文本 50 可
发货人 文本 50 不可
备注 备注 可
6系统主要界面设计
登陆界面
登陆界面包含用户列表,点击用户列表之后会显示出用户的身份,当用户名和密
码匹配之后就会登陆系统。此界面简介明了,操作方便。
图 6-1登陆界面
登陆界面部分代码
'***用户登录按钮的事件代码***
PrivateSubCommand1_Click()
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取
消窗体置前的功能
OnErrorResumeNext
DimMPasswordAsString
="mr"="mingrisoft"Then'判断是否使用的是超级口令登
录
(2).Text="当前操作员:mr"
Name1=
UnloadMe
Else
基于自动化仓储技术的计算机管理软件
20
="select*fromtb_enterwhereM_Name='"&&"'"
>0Then
MPassword=("M_Password")
=MPasswordThen'判断数据的密码是否正确
(2).Text="当 前 操 作 员 :
"+("M_Name")
Name1=
'添加登录日志
Open(&"\系统日志.ini")ForInputAs#1
DoWhileNotEOF(1)
LineInput#1,Intext
TStr=TStr+Intext+Chr(13)+Chr(10)
Loop
Close#1
TStr=TStr+""+Name1+""+Format(Now,"yyyy-mm-ddhh:mm:ss")+""+"系 统 登 录
"+Chr(13)+Chr(10)
Open(&"\系统日志.ini")ForOutputAs#1
Print#1,TStr
Close#1
UnloadMe
Else
MsgBox"密码不正确,请您确认后重新输入",,"库存管理系统"
=""
EndIf
Else
MsgBox"对不起没有此用户的信息",,"库存管理系统"
=""
=""
EndIf
EndIf
EndSub
系统主窗体
同样,熟悉 Windows下应用程序的用户对标题栏、工具栏也一定有比较深的印象。
在本系统中,它是用菜单栏、工具栏控件产生的,菜单栏包含了系统全部功能。工具
栏控件在主窗体上产生了很多按钮对象,按钮上显示了文字、图形。下面首先简要介
绍菜单栏控件的常用属性和事件。
基于自动化仓储技术的计算机管理软件
22
菜单栏控件的设计
菜单栏的设计通过菜单编辑器实现。菜单编辑器如图
图 6-2菜单编辑器
菜单编辑器编辑菜单栏简单易行,通过上下左右箭头的选择,调整各个标题之间
的关系。
工具栏控件常用属性和事件
(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,当单击本控件时
进行检测。
设置工具栏属性
向窗体添加工具栏控件后,然后按下列步骤操作:
(1)设置 Align属性值为 1,即工具拦放在窗体的顶部。
(2)用鼠标右键单击工具栏对象,从弹出的菜单中选择“属性”菜单项。弹出如
图 6-3所示的“属性页”对话框。
图 6-3工具栏属性对话框
(3)单击如图 6-3所示的“图象列表”列表框右边的下拉箭头,从下拉的列表中
选择 ImageList。这样 ImageList控件就和“工具栏”控件发生了联系。
注意:“工具栏”控件按钮使用图形,所以要求必须已引入了 ImageList控件,
否则,图 6-3中的“图像列表”框将不能设置成 ImageList。另外选定了图形列表控
件后,ButtonHeight和 ButtonWidth属性值,由图形的大小决定,用户不要改变其设
基于自动化仓储技术的计算机管理软件
24
置。
(4)单击图 6-3中“按钮”选项卡,“属性页”对话框如图 6-4所示。单击,单
击“插入”按钮后,“索引”文本框中出现数字 1,其它输入框也变为可用。这样就可
以设置其上的属性。若“图像”输入框设为 1,即 ImageList控件的第一个图形作为
按钮 1的图形。重复上述步骤,添加其它按钮到工具栏上,并设置相应属性。
图 6-4工具栏属性对话框
通过以上步骤,创建的主窗体工具栏如图 6-5所示。
图 6-5主窗体工具栏
在主窗体中为工具栏所加的代码如下:
'***单击工具栏中的按钮,调用相应的窗体,完成相应的操作***
PrivateSubToolbar1_ButtonClick()
Case1
Case3
Case6
Case8
Case10
="数据备份"
=True
=False
'显示数据备份窗体
Case12
="数据恢复"
=False
=True
'显示数据备份窗体
Case13
Shell""
Case15
Dimc
c=MsgBox("您确认要退出库存管理系统吗?",33,"提示信息")
Ifc=vbOKThen
Open(&"\系统日志.ini")ForInputAs#1
DoWhileNotEOF(1)
基于自动化仓储技术的计算机管理软件
26
LineInput#1,Intext
TStr=TStr+Intext+Chr(13)+Chr(10)
Loop
Close#1
TStr=TStr+""+Name1+""+Format(Now,"yyyy-mm-ddhh:mm:ss")+""+"退 出 系 统
"+Chr(13)+Chr(10)
Open(&"\系统日志.ini")ForOutputAs#1
Print#1,TStr
Close#1
End
Else
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实
现取消窗体置前的功能
EndIf
EndSelect
'=False'在单击工具栏中的按钮之后,使的窗体不可用
EndSub
设置主窗体状态栏
状态栏一般位于窗体的底部,用于向用户显示系统的一些状态,比如系统信息、当前
用户、时间、日期等。
状态栏的添加比较简单,这里不再详细说明。但本窗体的状态栏如图 6-6所示。
图 6-6主窗体的状态栏
基于自动化仓储技术的计算机管理软件
28
7系统模块设计
系统设置模块设计
系统设置模块主要包括:
(1)供应商信息维护
(2)仓库设置
(3)期初库存设置
供应商信息维护窗体窗体
供应商信息维护窗体可以进行供应商基本信息的维护、添加、删除、修改。窗体
包括供应商编号、供应商名称、联系人联系电话、传真备它的界面设计如图 7-1所示。
图 7-1供应商信息维护窗体
创建仓库设置窗体
通过仓储设置窗体可以对仓储基本信息进行管理。本窗体包括仓库名称、负责人、
联系电话、所属单位、构建日期备注。它的界面设计成如图 7-2所示。
图 7-2仓库设置窗体
创建期初库存设置窗体
通过期初库存设置状况,可以清楚地知道期初仓储的库存情况。期初库存设置窗
体的界面如图 7-3所示。
图 7-3期初库存设置窗体
货品管理块设计
货品管理模块主要完成的功能有:
(1)货品入库
(2)货品出库
(3)货品借出
(4)货品归还
(5)货品盘点
创建货品入库窗体
货品入库采购人员购买货物时所填写的单子,是为了完成货物的正确入库才用到
的。在货品入库窗体中入库编号、货品名称、供应商编号、供应商名称、货品名称、
货品规格、数量、单价、入库日期备注均可输入窗体中,完成货品入库。它的界面设
计如图 7-4所示。
基于自动化仓储技术的计算机管理软件
30
图 7-4货品入库窗体
创建货品出库窗体
货品出库发货人员发出货物时所填写的,是为了完成货物的正确出库才用到的。
在货品出库窗体中出库编号、货品名称、供应商编号、供应商名称、货品名称、货品
规格、数量、单价、出库日期备注均可输入窗体中,完成货品出库。它的界面设计如
图 7-5所示。
图 7-5货品出库窗体
另外,还有货品借出、货品借入、货品盘点窗口由于它们和入库出库窗口类似,
这里不再一一列出。
查询统计模块设计
查询统计模块主要完成的功能有:
(1)入库查询
(2)出库查询
(3)库存查询
(4)货品借出查询
(5)货品归还查询
(6)出库货品统计
(7)入库货品统计
创建入库查询窗体
入库查询可以显示出当前已入库的货品,并且有查询某一入库货品的功能。包括
货品名称、供应商编号、供应商名称、货品名称、货品规格、数量、单价等等。它的
界面设计如图 7-6所示。
图 7-6入库查询
创建库存查询窗体
库存的查询对仓储货物状况进行统计。它的界面设计如图 7-7所示。
图 7-7库存查询窗体
创建货品出入库日统计窗体
货品的出入日统计,可以显示进库货品的名称,数量,合计数量,合计金额、统
计时间。它的界面设计如图 7-8所示。
图 7-8货物出入统计
基于自动化仓储技术的计算机管理软件
32
另外,还有货品借出、货品借入、货品盘点窗口由于它们和入库出库窗口类似,
由于篇幅关系,这里不再一一列出。
系统维护模块设计
系统维护模块是为了仓储管理系统的稳定性和安全性而设计的,它完成的主要功能有:
(1)操作员管理
(2)密码修改
(3)操作员权限设置
(4)数据备份
(5)数据恢复
(6)查看日志
(7)日志清算
操作员管理窗口
操作员管理窗口包括注册新用户、删除现有用户。注册新用户包括用户名称、职
务、用户密码。它的界面设计如图 7-9所示
图 7-9用户管理窗体
修改密码窗体
修改密码窗体为当前使用者修改密码。本窗体包含用户名、旧密码、新密码的输
入。通过两次输入新密码实现对密码的修改。它的界面设计如图 7-10。
图 7-10修改密码窗体
修改窗体部分密码:
PrivateSubCommand1_Click()
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取
消窗体置前的功能
Callmain
=""=""=""=""Then
MsgBox"输入不能为空!!",48,"提示信息"
Else
'判断输入的用户名在数据库中是否存在
="select*fromtb_enterwhereM_Password='"&&"'an
dM_name='"++"'"
基于自动化仓储技术的计算机管理软件
34
>0Then
<>'判断数据的密码是否正确
MsgBox"两次输入的密码不一致,请您确认后重新输入",48,"提示信息"
=""
=""
Else
'如果输入正确的密码则修改密码
SetadoRs=("UPDATEtb_enterSETM_Password='"++"'where
M_name='"++"'")
MsgBox"密码修改成功,请您记住新密码",,"信息提示"
UnloadMe
EndIf
Else
MsgBox"没有此用户的信息,请您确认后重新输入",48,"信息提示"
=""
=""
=""
=""
EndIf
EndIf
EndSub
操作员管理权限
操作员管理员权限窗口可以设置用户对每个模块窗体的权限。权限设置通过窗体
上的复选框实现。当复选框被选中之后,系统便赋予了此用户对此窗体的控制权限。
操作员管理权限窗体界面设计如图 7-11所示。
图 7-11操作员管理权限窗体界面
查看日志
查看日志窗体可以对用户登陆、用户退出系统、出入库操作、借入借出操作、等
等操作进行查看,并有操作的详细时间。它的界面设计如图 7-12。
图 7-12查看日志窗体界面
基于自动化仓储技术的计算机管理软件
36
日志清理功能
日志清理会将用户操作所产生的历史清空
图 7-13清空日志时的提示信息界面
日志清理操作部分代码:
PrivateSubRZQL_Click()'进行日志清理操作
Dimdel
Dimtemp1AsString
OnErrorResumeNext'错误处理语句
del=MsgBox("确认要清除库存管理系统的日志信息吗?",17,"提示信息")
Ifdel=vbOKThen
Kill(&"\系统日志.ini")
Open(&"\系统日志.ini")ForOutputAs#1
temp1="操作员姓名日期时间操作类型"
Print#1,temp1
Print#1,
Close#1
MsgBox"日志清理成功完成!!",,"提示信息"
Else
EndIf
EndSub
PrivateSubCKRZ_Click()
'显示查看日志窗体
=False
EndSub
其他功能
本模块还有数据恢复,数据备份,数据清理等功能。由于篇幅关系不再一一介绍。
工具模块设计
工具模块可以为用户提供计算器等各种工具,以方便操作。当单击计算器后,会
调用出系统自带计算器供用户使用。计算器窗体如图 7-14所示。
图 7-14计算器窗体
。
基于自动化仓储技术的计算机管理软件
38
致谢
非常感谢我的指导老师给我的悉心关怀。老师知识渊博,思路开阔,让我受益匪
浅,老师的认真辅导让我顺利地完成了毕业论文,当然,也感谢母校辛勤培育之恩,
各位领导、老师和同学的大力帮助之情,使我学到了许多新的知识,同是也更懂得了
一些做学问的道理,这是一笔宝贵的财富。
从选择毕业设计题目,到毕业设计规划,查找相关资料,设计模型,具体实施,
结束论文,整个大致的流程中,吕玉良老师都给予了我耐心的指导和默默的关心,设
计为期之长,其间遇到了不少问题,也承蒙了老师的照顾,真的想对老师说一声:老
师,辛苦了,谢谢您。
最后,祝愿我的老师和同学们们永远幸福,快乐。
基于自动化仓储技术的计算机管理软件
40
参考文献
[1]学用
社,2003
[2]程序设计教程/龚沛曾,陆慰民,杨志强编。高等教育出版社,
[3]入门与提高/张树兵,戴红,陈哲著。清华大学出版社,
[4]VisualBasic灵感编程/飞思科技产品研发中心编著。电子工业出版社,
[5]刘安宇,张仰森,李媛丽.“单仓库多用户”自动化立体仓库管理信息系统设计[J].
机械工程学报,2009,24(1):20-25.
[6]葛元,王林泉.CIMS环境下自动化车间立体仓库物流计算机控制系统[J].计算机工
程,2005,22(6):101-106.
[7]何用辉 ,何丰 .基于 GEPAC的自动化立体仓库控制系统 [J].PC变频器计算
机,2012,(1):38-40.
[8]周文,吴晓波,陈瑶.基于 Petri网理论的自动化立体仓库建模[J].探讨与研
究,2010,(10):115-117.
[6]程玉凯 .基于 PLC 的自动化立体仓库控制系统设计 [J].物流仓储行业应
用,2011,5(6):108-110.
[9]姜世伟,项前,吕志军,王庆霞.基于 SOA的自动化立体仓库管理系统实现[J].计算
机工程与设计201132(12):45-48.
[10]赵云鹏,张永军,李阳.基于单元存储系统的自动化立体仓库整体设计[J].煤矿机
械,2011,32(8):238-240.
[11]赵小柠.我国西部地区自动化立体仓库发展现状分析及研究[J].物流与管
理,2009,3(5):285-290.
[12]周政璋 ,黄亦公 .如何规划一成功的自动仓储电脑系统 [M].机械工程杂
志,2002,5(12):102-106.
[13]李美霞,李卫东 .企业物流自动化立体仓库设计 [J].物流技术, 2010,
6(10):138-143.
[14]王鹏程,王娜.自动化立体仓库仓储管理系统的开发[J].科技信息,2011,
31:98-125.
[15]李矢.自动化立体仓库的控制与管理系统设计[J].物流科技,2011,24(2):14-18.
[16]李峰泉,张亚利.自动化立体仓库管理系统的设计与实现[J].现代电子技术,
2007,16:83-85.
[17]杨鸿.自动化立体仓库管理信息系统的应用[J].工业技术,2008,(11):54-55.
[18]KeesJR,
s[J].EuropeanJournalofOperationResearch,2009,3(2):142-149.
[19]AnnaAzzi,DariaBattini,-
shuttleautomatedstorage/retrievalsystems[J].Computers&IndustrialEngineerin
g,2001,6(4):600-607.
[20]MeijuanLi,XueboChen,
hingOptimizationProblemofTransportationSysteminAutomatedStorageandRetrieva
lSystem[J].WorldCongressonIntelligentControlandAutomation,2010,(8):78-79.
[21]JasonChao-HsienPan,
derpickinglineinapick-and-passwarehousingsystem[J].Computers&IndustrialEng
ineering,2009,57:261-268.
[22],,AnanthKrishnamurthy,
基于自动化仓储技术的计算机管理软件
42
mulationbasedexperimentaldesigntoidentifyfactorsaffectingperformanceofAVS/
RS[J].Computers&IndustrialEngineering,2010,58:175-185.
[23]MeijuanLi,XueboChen,
hingOptimizationProblemofTransportationSysteminAutomatedStorageandRetrieva
lSystem[J].WorldCongressonIntelligentControlandAutomation,2010,(8):78-79.
[24]JasonChao-HsienPan,
derpickinglineinapick-and-passwarehousingsystem[J].Computers&IndustrialEng
ineering,2009,57:261-268.
[25],,AnanthKrishnamurthy,
mulationbasedexperimentaldesigntoidentifyfactorsaffectingperformanceofAVS/
RS[J].Computers&IndustrialEngineering,2010,58:175-185.
附录
部分主要代码:
菜单栏部分程序:
'***单击工具栏中的按钮,调用相应的窗体,完成相应的操作***
PrivateSubToolbar1_ButtonClick()
Case1
Case10
="数据备份"
=True
=False
'显示数据备份窗体
Case12
="数据恢复"
=False
=True
'显示数据备份窗体
Case13
Shell""
Case15
Dimc
基于自动化仓储技术的计算机管理软件
42
c=MsgBox("您确认要退出库存管理系统吗?",33,"提示信息")
Ifc=vbOKThen
Open(&"\系统日志.ini")ForInputAs#1
DoWhileNotEOF(1)
LineInput#1,Intext
TStr=TStr+Intext+Chr(13)+Chr(10)
Loop
Close#1
TStr=TStr+""+Name1+""+Format(Now,"yyyy-mm-ddhh:mm:ss")+""+"退 出 系 统
"+Chr(13)+Chr(10)
Open(&"\系统日志.ini")ForOutputAs#1
Print#1,TStr
Close#1
End
Else
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取消
窗体置前的功能
EndIf
EndSelect
'=False'在单击工具栏中的按钮之后,使的窗体不可用
EndSub
修改密码窗体部分程序:
'***“确认”修改密码按钮的事件过程***
PrivateSubCommand1_Click()
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取消
窗体置前的功能
CallMain
=""=""=""=""Then
MsgBox"输入不能为空!!",48,"提示信息"
Else
'判断输入的用户名在数据库中是否存在
="select*fromtb_enterwhereM_Password='"&&"'and
M_name='"++"'"
>0Then
<>'判断数据的密码是否正确
MsgBox"两次输入的密码不一致,请您确认后重新输入",48,"提示信息"
=""
=""
Else
基于自动化仓储技术的计算机管理软件
44
'如果输入正确的密码则修改密码
SetadoRs=("UPDATEtb_enterSETM_Password='"++"'whereM
_name='"++"'")
MsgBox"密码修改成功,请您记住新密码",,"信息提示"
UnloadMe
EndIf
Else
MsgBox"没有此用户的信息,请您确认后重新输入",48,"信息提示"
=""
=""
=""
=""
EndIf
EndIf
EndSub
'***“添加”货品入库信息按钮的事件过程***
PrivateSubCmd_Add_Click()
Fori=0To5'单击“添加”按钮之后,清空文本框中的内容
Text1(i).Text=""
Nexti
="select*fromtb_inorderbyID"
>0Then
'将数据库记录移向最后一条
StrNum=Val(("ID"))+1'将入库编号加 1
SelectCaseLen(Trim(StrNum))'位数不足则补 0
Case1
StrTemp="00000"
Case2
StrTemp="0000"
Case3
StrTemp="000"
Case4
StrTemp="00"
Case5
StrTemp="0"
Case6
基于自动化仓储技术的计算机管理软件
46
StrTemp=""
EndSelect
Text1(0).Text="J"&Trim(StrTemp)&Trim(Str(StrNum))
Else
Text1(0).Text="J000001"'Join的缩写"加入的意思",给入库编号赋一个初值
StrNum=1
EndIf
=True
=False
EndSub
'***删除入库信息的事件过程***
PrivateSubCmd_del_Click()
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取消
窗体置前的功能
=FalseThen
c=MsgBox("您确认要删除该记录吗?",17,"删除提示信息")
Ifc=vbOKThen
'删除入库信息
CallMain
"select*fromtb_KCXXwhereKC_name='"+Text1(1).Text+"'andKC_SPEC='"+
Text1(2).Text+"'andKC_UNIT='"++"'andKC_Price="&Val(Text1(4).Text)&
"",adoCon,adOpenKeyset,adLockOptimistic
>0Then
DimSNumAsInteger
'重新计算库存货品的数量
SNum=Val(("KC_Num"))-Val(Text1(3).Text)
'修改该货品的库存数量
SetadoRs=("UPDATEtb_KCXXSETKC_Num='"+Str(SNum)+"'whereKC_name
='"+Text1(1).Text+"'andKC_SPEC='"+Text1(2).Text+"'andKC_UNIT='"+
+"'andKC_Price="&Val(Text1(4).Text)&"")
EndIf
ETemp=1'设置删除标识
CalljoinRZ'调用添加日志过程
Fori=0To5'清空文本框中的内容
Text1(i).Text=""
Nexti
=False
基于自动化仓储技术的计算机管理软件
48
EndIf
Else
MsgBox"当前数据库中已经没有可删除的记录",64,"提示信息"
EndIf
CallTRefresh
EndSub
'***保存入库信息的事件过程***
PrivateSubCmd_save_Click()
rtn=SetWindowPos(,-2,0,0,0,0,3)'运用 API函数 SetWindowPos,来实现取消
窗体置前的功能
="select*fromtb_inwhereID="+Trim(Str(StrNum))+""'判 断 所
保存的信息在数据库中是否已经存在
>0Then
MsgBox"该信息已经存在,信息保存不成功",64,"保存信息提示"
CallTRefresh'调用数据刷新过程
Else
c=MsgBox("您确认要保存该信息吗?",33,"保存信息提示")
Ifc=vbOKThen
'限制输入的部分信息不能为空值
IfText1(1).Text=""OrText1(3).Text=""OrText1(4).Text=""Then
MsgBox"货品数量、单价或名称不能为空值!",48,"保存信息提示"
Else
'IsNumeric函数用于判断输入的信息是否为数值型数据,关于该函数的具体用法请参阅
明日公司《VisualBasic编程词典》中的函数应用部分网址 092028105
IfNotIsNumeric(Text1(3).Text)OrNotIsNumeric(Text1(4).Text)Then
MsgBox"输入的货品数量或单价必须为数值型数据",48,"保存信息提示"
Else
CallMain'调用公共模块中的连接数据库过程
NumId=Val(Mid(Text1(0).Text,2,Len(Text1(0).Text)))
Prices=Val(Text1(3).Text)*Val(Text1(4).Text)
'保存货品入库信息
SetadoRs=("insertintotb_IN(ID,IN_NumID,IN_Name,IN_gysid,IN_gy
sname,IN_SPEC,IN_UNIT,IN_Num,IN_Price,IN_Money,IN_Date,IN_year,IN_Month,IN_
People,IN_Remark)values("&StrNum&",'"&Text1(0).Text&"','"&Text1(1).Text&"',
'"&&"','"&&"','"&Text1(2).Text&"','"&&"','"&
Text1(3).Text&"','"&Text1(4).Text&"',"&Prices&",'"&Str()&"',
'"&Trim(Str())&"','"&Trim(Str())&"','"&Name1&"
','"&Text1(5).Text&"')")
'保存货品入库库存信息
'利用对象打开与操纵数据表
基于自动化仓储技术的计算机管理软件
50
"select*fromtb_KCXXwhereKC_name='"+Text1(1).Text+"'andKC_SPEC='"+
Text1(2).Text+"'andKC_UNIT='"++"'andKC_Price="&Val(Text1(4).Text)&
"",adoCon,adOpenKeyset,adLockOptimistic
>0Then
DimSNumAsInteger
'重新计算库存货品的数量
SNum=Val(("KC_Num"))+Val(Text1(3).Text)
'修改该货品的库存数量
SetadoRs=("UPDATEtb_KCXXSETKC_Num='"+Str(SNum)+"'whereKC_name
='"+Text1(1).Text+"'andKC_SPEC='"+Text1(2).Text+"'andKC_UNIT='"+
+"'andKC_Price="&Val(Text1(4).Text)&"")
Else
="select*fromtb_kcxxorderbyKC_ID"
>0Then
StrNum=Val(("KC_ID"))+1
'如果库存中没有该货品的信息,则将入库货品信息保存到库存当中
SetadoRs=("insertintotb_KCXXvalues("&StrNum&",'"&Text1(0).Tex
t&"','"&Text1(1).Text&"','"&Text1(2).Text&"','"&&"','"&Text1(3).
Text&"','"&Text1(4).Text&"','"&Str()&"','')")
Else
StrNum=1
'如果库存中没有记录,则将入库货品信息保存到库存当中
SetadoRs=("insertintotb_KCXXvalues("&StrNum&",'"&Text1(0).Tex
t&"','"&Text1(1).Text&"','"&Text1(2).Text&"','"&&"','"&Text1(3).
Text&"','"&Text1(4).Text&"','"&Str()&"','')")
EndIf
EndIf
MsgBox"信息保存成功",64,"保存信息提示"
=False
CallTRefresh'调用数据刷新过程
EndIf
EndIf
Else
EndIf
EndIf
CallTRefresh'调用数据刷新过程
EndSub
PrivateSubText1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=13Then
基于自动化仓储技术的计算机管理软件
52
IfIndex=1Then
Text1(2).SetFocus
ElseIfIndex=2Then
ElseIfIndex=3Then
Text1(4).SetFocus
ElseIfIndex=4Then
ElseIfIndex=5Then
CallCmd_save_Click'调用“保存”按钮的单击事件过程
'光标落在“添加”按钮上
EndIf
EndIf
EndSub