![货物管理系统毕业论文_第1页](http://file4.renrendoc.com/view/ab5e1af13915b50cc7b63ff569de2d17/ab5e1af13915b50cc7b63ff569de2d171.gif)
![货物管理系统毕业论文_第2页](http://file4.renrendoc.com/view/ab5e1af13915b50cc7b63ff569de2d17/ab5e1af13915b50cc7b63ff569de2d172.gif)
![货物管理系统毕业论文_第3页](http://file4.renrendoc.com/view/ab5e1af13915b50cc7b63ff569de2d17/ab5e1af13915b50cc7b63ff569de2d173.gif)
![货物管理系统毕业论文_第4页](http://file4.renrendoc.com/view/ab5e1af13915b50cc7b63ff569de2d17/ab5e1af13915b50cc7b63ff569de2d174.gif)
![货物管理系统毕业论文_第5页](http://file4.renrendoc.com/view/ab5e1af13915b50cc7b63ff569de2d17/ab5e1af13915b50cc7b63ff569de2d175.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前言货物管理是一般工业和商业企业生产管理的一个重要方面。要对基础货物信息管理、货物调配等信息进行全面监控。货物入库首先需要登记货物的基本信息,包括货物的种类、名称、型号、单位、单价等,然后登记货物入库信息,包括货物的基本信息、入库地点、入库人、经办人、数量等,出库货物需要登记出库信息,包括货物基本信息、出库地点、出库人、经办人、数量等,根据货物出入库流程一体化,获取各种商品的余额信息,方便后续工作。因此,货物管理系统需要记录货物流通的全过程。第一章 简介随着经济的发展,市场的国际一体化,市场的多变性,竞争的残酷,企业经营的艰难,企业主越来越意识到经营好企业的艰辛。对于一个大企业来说,可能遇到的
2、问题是设备老旧、包袱重、体制死板、管理混乱,产品在市场上的竞争力越来越差。 ERP的出现就是为了解决这些问题。什么是ERP?值得单位花这么多钱、时间、精力去实施。事实上, ERP是一套思想,一套以企业系统成本最低、利润最高为目标,适应新经济运行特点的过程管理思想。它的实体是一组满足上述许多条件的软件。因此,开发一套完整的库存管理系统,对于提高仓储部门的效率、降低企业的成本、增强企业的竞争力具有重要意义。至此,本文使用Power Builder 8.0作为前端开发语言,SQL Server 2000作为后端数据库,开发了一个简单的库存管理子系统。文中介绍了库存管理系统的特点和重要性,并结合企业实
3、际工作对本项目的设计、技术实现和编程方法进行了详细说明。1.1 学科背景随着经济全球化竞争的加剧和信息流与物流的高度融合,对企业资源的要求也越来越高,无论是传统的MRP(物料需求计划)、MRPII(制造资源计划),还是现在的流行的ERP(企业资源计划)和TEP(Total Enterprise Planning),库存管理是非常重要的基础部分。因为对于企业的决策层来说,如果库存居高不下,仓库管理混乱,他们会很头疼,那么由此造成的企业资源浪费,产品制造成本高,企业经营不畅会导致到企业竞争。减少能源和可持续发展能力是他们更关心的问题。因此,合理管理仓库一直是企业关注的热点。库存管理也是管理者和理论
4、研究者经常讨论的话题,其重要性怎么强调都不为过。随着库存管理理论的进一步发展和信息技术的进步,如何在信息技术充分发达的今天更好地进行库存管理是我们的重要任务之一1.2 库存管理研究的目的和意义随着我国改革开放的不断深入和我国加入世贸组织的时间不长,各类企业和事业都面临着前所未有的机遇和挑战。这就要求企业在日益激烈的市场竞争中,及时、准确、全面地了解市场信息,并根据企业的具体实际情况迅速做出反应。如根据仓储情况调整供应、采购等。同时,在当前市场经济的推动下,传统的计划经济模式已经被“一切围绕市场、一切源于市场、一切服务于市场”的模式所取代。信息交换的速度使得采购和销售成本有更大的下降空间,这给这
5、个环节的库存管理带来了巨大的挑战。1.2.1企业信息化建设的需要信息技术的发展给企业带来了机遇,也带来了巨大的压力。在知识经济时代,每个企业的发展机会,无论大小,都越来越趋于平等。面对海量的信息,如何为企业使用,如何构建自己的信息网络资源,如何将企业的资源管理延伸到企业外部的整个供应链,成为亟待思考的问题。近年来,全球信息技术发展加快,世界各国信息化形势突飞猛进,人类正在进入知识经济时代。全社会对知识经济的广泛研究和探讨,极大地丰富和拓展了信息化的内涵,为信息产业和信息化的进一步发展奠定了理论和实践基础。当前,信息化带来的技术创新、商业模式转型和新的资本市场,极大地推动了社会生产力的发展。看形
6、势,党的十五届五中全会抓紧提出“以信息化带动工业化,发挥后发优势,实现跨越式发展”的宏伟目标。社会生产力的发展”。那么,什么是企业信息化建设? ?准确地说,企业的信息化建设,是指运用先进成熟的管理思想和方法,依托现代电子信息技术,对企业生产经营中的管理流程进行全方位的分析和改进。企业,重新整合资源,提高整合资源。提高效率和效益,增强企业竞争力的过程。这不是一般意义上的新技术的应用和创新,而是更高层次的新管理革命。面对中国加入世贸组织时间不长,企业将不得不面对全球的竞争,企业如何才能抓住巨大的市场机遇?企业如何应对生存和发展的严峻挑战?这些都是每个勇敢的企业家都应该思考、关注和解决的重要问题。企
7、业信息化建设将是解决这些问题的有效途径。因此,无论从世界竞争的角度,还是从企业自身的发展来看,信息化建设都必然会在企业管理上发生革命和飞跃。推进信息化有利于加快发展和完善我国社会主义市场经济体制,加快我国产业结构调整优化升级,加快提高国民经济运行质量。为此,我国显然不能走发达国家“先工业化、后信息化”的老路,而应充分发挥后发优势,走工业化与信息化相结合的发展道路,实现“发展”。国民经济”的起点较高。跨越式发展,开展企业信息化建设。1.2.2库存管理的意义成本竞争是现代竞争的有效手段。对于经营者来说,增加销量或者降低成本可以扩大利润,而增加利润的最佳途径之一就是做好库存管理,也就是现代商人所说的
8、库存。要走的路。由于存货资产占各企业总资产的比重极为乐观,适当的管理对企业利益的提高影响很大。一方面,如果库存过多,容易陷入资金周转不力的境地;另一方面,如果库存太少,不能满足实际需要,势必会增加采购数量或生产批次,增加采购或生产成本,违反经济原则。 ,尽量减少库存水平是企业管理的重要目标,降低库存成为“第三利润来源”。可见,不断提高库存管理水平,进行适时适度的库存管理,已成为企业兴衰的关键之一。自从有了生产,就有了库存物品的存在。库存对于市场的发展和企业的正常经营发展起着非常重要的作用。1.3 国外库存管理发展现状1.3.1存储理论的形成与发展1940年代初期,西方经济学家通过研究库存物资的
9、使用和消耗随时间变化的规律,提出了订单点的方法和理论,并将其应用于企业的库存计划管理。 1960年代中期,美国IBM公司的管理专家约瑟夫奥利弗博士首先提出了独立需求和相关需求的概念。这种理论和方法与传统的库存理论和方法有很大的不同。其主要特点是:在传统的基础上,引入了时间分段和反映产品结构的BOM(Bill Of Materials),更好地解决了库存管理和生产控制中的问题,即准时保量。到所需的材料。以加强物料计划和控制,尽量减少库存,减少资金占用,满足企业生产为目标,是一种基于按需采购的企业生产和库存管理方法。其次是制造资源计划(MRPII,Manufacturing Resources P
10、lanning)是1970年代后期的一种,以企业资源优化配置,保证企业持续均衡生产,实现信息流、物流和资本流动。目标是提高企业的整体水平,以计划和控制为主线,以现代企业管理思想和方法为企业的生产、供应、销售和财富。1.3.2库存管理的发展现状最后,企业资源计划(ERP,Enterprise Resources Planning)是1990年代初的一种,以市场和客户需求为导向,实现企业外部资源的优化配置,消除生产和生产过程中一切无效的劳动力和资源。手术。 ,以计划和控制为主线,以网络和信息技术为平台,整合客户、市场、集销售、采购、计划、生产、财务、质量、服务、信息集成和业务流程再造(BPR,Bu
11、siness Process Reengineering)等功能于一体,供应链管理(SCM,Supply Chain Management)的现代企业管理思想和方法)。传统上,对库存管理的一般理解是指对物料进出入库的业务管理,但这种理解在现代库存管理中已不再是全面的。 APICS词汇中对库存的定义是:“以支持生产、维修、运营和客户为目的的各种物料的存储,包括原材料和在制品、维修件和生产消耗、产成品和备件等。 .。因此,库存管理应包括与物料储存、交付、使用、计划和控制有关的所有方面。第二章系统设计2.1 系统目标设计本软件作为物资供应部信息管理系统的组成部分,负责仓库的日常出入库和结算处理,提供
12、功能全面、使用方便、仓库管理准确、快捷的仓库管理系统。为仓库管理人员替代传统的人工操作。利用先进的信息技术,为用户提供一些更加方便实用的功能,从而提高企业管理效率。2.2 培养设计思维仓库信息管理的特点是信息处理量比较大。被管理的数据进出频率高,在管理上难以落实。在人工管理的时代或者数据库管理系统的设计不科学的情况下,管理数据会比较混乱,与数据库相关的数据关联性不好,导致数据不一致时有发生。在本系统的设计过程中,为了克服上述困难,满足计算机管理的需要,我们采用了以下原则。本系统的开发设计思路: 尽量利用单位现有的软硬件环境和先进的管理系统开发方案,充分利用单位现有资源,提高系统开发水平和应用效
13、果。系统应符合单位仓库信息管理的规定,满足单位对仓库物资日常管理的需要,在操作过程中满足直观、方便、实用、安全的要求。系统采用模块化编程方式,方便系统功能的各种组合和修改,也方便非参与开发的技术维护人员补充和维护。2.3 系统开发及运行环境:开发工具:中文版Visual Basic6.0 。访问。运行环境: Windows9X或Windows2000 , Windowxp + vb6.0 。2.4 系统功能分析系统开发的总体任务是实现仓库信息的系统化、标准化和自动化。系统功能分析是在系统开发总体任务的基础上完成的。仓库管理系统需要完成的主要功能如下:仓库基本信息的录入,包括仓库编号、仓库名称、
14、规格、类型、计量单位等。仓库基本信息的查询报表。修改仓库基本信息。入库信息输入。入库信息修改。入库信息查询报表。出库仓库信息输入。出库仓库信息查询报表。出库信息修改。仓库余额信息查询报表。浏览仓库余额信息。2.5 系统模块设计将上述功能集中分块,根据结构化编程的要求,得到如图所示的系统功能模块图:仓库管理信息系统事物系统资本资本体系剩余进出基管Ekuku原则信 信 信兴趣检查管子查询理由进出事物,进出,进出首都图书馆 图书馆 图书馆 首都代码账户渣基管资金数额字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母
15、 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母 字母有趣的检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检查检
16、查检查检查检查检查一次检查查询更改查询添加查询更改添加查询更改添加2-1 系统功能框图整个系统分为5个模块:仓库基本信息管理模块、入库信息管理模块、出库信息管理模块、仓库余额信息管理模块、系统模块。每个模块下都有相应的子模块。第 3 章 数据库设计在设计数据库系统时,首先要充分了解用户各方面的需求,包括现有的和未来可能增加的需求。数据库设计一般包括以下步骤:数据库需求分析数据库概念结构设计数据库逻辑结构设计3.1 数据库需求分析用户的具体要求体现在各种信息的提供、保存、更新和查询中。这就要求数据库结构能够充分满足各种信息的输入输出,收集基础数据、数据结构、数据处理流程,形成详细的数据字典,为后
17、续的具体设计奠定基础。在对仓库管理的信息需求进行仔细分析和调查的基础上,得到如图所示的本系统处理的数据流:仓库登记基本信息录入仓库基本信息管理入库仓库信息管理 仓库分配 出库仓库信息管理仓库余额信息管理3-1 系统处理数据流程图根据一般仓库信息管理系统的要求,通过对仓库调拨工作过程的内容和数据流的分析,设计了以下数据项和数据结构:仓库基本信息,包括数据项:仓库编号、仓库名称、规格型号、类别、计量单位等。存储仓库信息,包括数据项:仓库编号、仓库名称、规格型号、类别、计量单位、数量、单价、数量、存储时间、经办人、保管人、仓库、备注等。出库仓库信息,包括数据项:仓库编号、仓库名称、规格型号、类别、计
18、量单位、数量、单价、金额、收货时间、收货人、经理、仓库、备注等。仓库余额信息,包括数据项:仓库编号、仓库名称、规格型号、类别、计量单位、数量、单价、金额、仓库等。3.2 数据库概念结构设计得到上述数据项和数据结构后,就可以设计出各种能够满足用户需求的实体,并设计它们之间的关系,为后续的逻辑结构设计打下基础。这些实体包含各种特定的信息,并通过相互交互形成数据流。本系统设计和规划的实体包括:仓库基本信息实体、入库信息实体、出库信息实体、仓库余额信息实体。每个实体ER图的具体描述如下:1:仓库基本信息实体ER图:仓库基本信息实体仓号记录单位仓库名称.仓库规格3-2仓库基本信息实体ER图2:仓库存储信
19、息实体ER图:仓库入库信息实体仓库编号管理员入库时间.经理3-3仓库入库信息实体ER图3:仓库出库信息实体ER图:出库信息实体仓库号收件人交货时间.经理3-4出库信息实体ER图4:仓库基本信息实体ER图:仓库余额信息实体仓库编号仓库数量.数量3-5仓库基本信息实体ER图5:实体间关系的ER图:库仓库登记仓库基本信息仓库入库信息 仓库分配 仓库出库信息仓库余额信息3-6实体之间关系的ER图3.3 数据库逻辑结构设计现在将上述数据库的概念结构转换为ACCESS数据库系统支持的实际数据模型,即数据库的逻辑结构。在上述实体和实体之间的关系的基础上,将数据库中的表形成为每个表之间的关系。仓库信息管理系统
20、数据库中各表的设计结果如下表所示。每个表代表数据库中的一个表。1:仓库基本信息表物料表3-1仓库基本信息表物料表列名数据类型可以为空阐明wzidvarchar非空仓库编号wznamevarchar非空仓库名称wzpecvarchar非空规格wzkindvarchar无效的类别wzunitvarchar无效的测量单位2:仓库入库信息表msave表 3-2仓库入库信息表msave列名数据类型可以为空阐明Rknovarchar非空入库号孩子varchar非空入库仓号名字varchar非空入库仓库名称rkspecvarchar无效的规格类型类型varchar无效的类别单位_varchar非空单元账号v
21、archar非空数量价格varchar非空单价方值varchar无效的数量日期varchar无效的入库时间Rkdeal_personvarchar非空经理Rksave_peasonvarchar非空保管人rkbasevarchar无效的库备忘录varchar无效的评论3:仓库出库信息表muse表3-3仓库出库信息表muse列名数据类型可以为空阐明lynovarchar非空入库号lyidvarchar非空入库仓号地名varchar非空仓库名称lyspecvarchar无效的规格莱金德varchar无效的类别lyunitvarchar非空单元账号varchar非空数量价格varchar非空单价利值
22、varchar无效的数量赖氨酸varchar无效的入库时间lyuser_personvarchar非空经理lydeal_peasonvarchar非空保管人碱基varchar无效的库莱梅莫varchar无效的评论4:仓库余额信息表msurplus表 3-4仓库余额信息表msurplus列名数据类型可以为空阐明耶德varchar非空仓库编号日名varchar非空仓库名称耶派克varchar非空规格叶金德varchar无效的类别耶单位varchar非空单元叶账户varchar非空数量耶值varchar无效的数量yebasevarchar无效的库耶梅莫varchar无效的评论3.4 数据库结构的实现
23、在需求分析和概念结构设计的基础上得到数据库的逻辑结构设计后,就可以在Visual Basic 6.0中实现逻辑结构。实现方法和步骤如下:以英文版为例:通过菜单栏:Add -Ins Visual Data Manager.点击显示VisData界面,点击菜单File New Microsoft Access Vision 7.0 MDB.弹出对话框保存数据库文件的存放位置和数据库框的文件名,命名为wzgl.mdb,保存到当前系统存放的文件中。此时出现Database Windows设计界面,右键选择New Table。设计表的字段是逻辑结构表中的列名。第四章 仓库管理信息系统主窗体的创建数据库结
24、构的所有后台工作都已完成。下面通过仓库管理信息系统中各个功能模块的实现,讲解如何使用Visual Basic编写数据库系统的客户端程序。4.1 创建工程项目 - 材料 MIS打开Visual Basic ,点击File|NEW项目菜单,在项目模块中选择StandardEXE,VisualBasic会自动生成一个Form表单,属性都是默认设置。这里我们删除表单,点击FileSaveProject菜单,将项目命名为Material MIS 。4.2 创建仓库管理信息系统的主要形式在本项目中,我们使用多文档界面,点击工具栏中的ADD MDI Form按钮生成一个表单。在此表单上添加所需的控件。表格和
25、控件的属性设置见表格。表 4-1窗体和控件的属性设置表控制属性属性值窗体(窗体)姓名框架标题仓库管理信息系统启动位置中心绿窗口状态最大化Sbstatusbar(状态条)姓名Sb stausbar面板(1)风格文本面板(2)风格Sbr日期面板(3)风格时间_创建的表格如图所示。4-1 物资管理信息系统表格图在主窗体中添加状态栏控件,可以实时反映系统中各种状态的变化。状态栏控件需要在通常的属性窗口以及它自己的弹出菜单中设置通用属性。选择状态栏控件,单击鼠标右键,选择属性菜单,然后设置属性。面板1用于显示各种文本信息,面板2用于显示当前日期,面板3用于显示当前时间。4.3 创建主窗体的菜单在主窗体中
26、,单击鼠标右键,在弹出的菜单中选择MenuEditor,创建菜单结构如图:4-2 主窗体的菜单图4.4 创建通用模块在VisualBasic中,公共模块可用于存储整个项目的常用函数、过程和全局变量。这可以提高代码的效率。在 Project Explorer 中向项目添加一个Module并将其保存为Module bas 。现在您可以开始添加所需的代码。由于系统中的各个功能模块会频繁使用数据库中的各个数据,因此需要一个公共的数据操作函数来执行各种SQL语句。添加函数ExecuteSQL ,代码如下:公共函数 ExecuteSQL(ByVal SQL _作为字符串,MsgString 作为字符串)_
27、作为 ADODB.Recordset执行 SQL 并返回 Recordset暗淡为 ADODB.Connection暗淡为 ADODB.Recordset将 sTokens() 调暗为字符串出错时转到 ExecuteSQL_ErrorsTokens = 拆分(SQL)Setn = 新的 ADODB.Connectionn.打开连接字符串如果 InStr(插入、删除、更新, _UCase$(sTokens(0) 然后n.执行SQLMsgString = sTokens(0) & _“查询成功”别的设置 rst = 新 ADODB.Recordsetrst.Open Trim$(SQL),n,_a
28、dOpenKeyset, _adLockOptimisticrst.MoveLast 获取 RecordCount设置 ExecuteSQL = rstMsgString = 查询到 & rst.RecordCount & _“ 记录”万一执行SQL_Exit:设置 rst = 无Setn = 无退出函数执行SQL_错误:MsgString = 查询错误: & _错误描述恢复 ExecuteSQL_Exit结束功能String 函数用于ExecuteSQL 函数中,用于连接数据库。代码如下:公共函数 ConnectString() _作为字符串返回一个数据库连接字符串ConnectString
29、 = FileDSN=material.dsn;UID=sa;PWD=结束功能输入相关信息时,需要回车进入下一个文本框,对于软件用户来说非常方便。所有功能模块都需要这个功能,所以放在公共模块中,代码如下:Public Sub EnterToTab(Keyasc As Integer)如果 Keyasc = 13 那么致键“TAB”万一结束子Keyasc用于保存当前密钥, SendKeys函数用于指定密钥。一旦按下 Enter 键,它将返回到Tab键,并且下一个控件会自动获得输入焦点。添加一个全局变量来记录每个表单的读写状态。代码如下:公共 fMainForm 作为 frmMain公共标志Med
30、it As Boolean公共标志Iedit As Boolean公共标志Ledit As Boolean公共标志Oedit As Boolean公共 gintMmode 作为整数公共 gintImode 作为整数公共 gintLmode 作为整数公共 gintOmode 为整数gintMmode变量用于记录状态是添加还是修改。 1 表示添加,2 表示修改。 FlajMedit变量用于指示是否输入修改后的表单。仓库管理信息系统启动后,需要对用户进行判断。如果登录的是授权用户,则进入系统,否则将停止程序的执行。这个判断需要在系统运行之初进行,所以代码放在一个通用模块中。4.5 仓库基础信息模块的
31、创建仓库基础信息管理模块主要实现以下功能: 添加仓库基本信息。 修改仓库基本信息。 删除仓库基本信息。 查询仓库基本信息。1:添加仓库基本信息表的创建选择“仓库基本信息管理添加仓库基本信息”菜单,出现如图所示的表单。4-3 仓库物料信息窗口示意图在表单上放置多个文本框,输入仓库基本信息;两个按钮用于判断是否添加仓库信息;多个标签用于提示在文本框中输入的内容。这些控件的属性如下表所示:表 4-2表单控件属性表控制属性属性值Frm mater1 (表格)姓名框架信息标题仓库信息MDI儿童真的文本条目(0)文本条目(4)姓名文本条目(0)文本条目(4)标签1标题学生卡标签2标题标签3标题性别标签4标
32、题出生日期标签5标题班号加载表单时,程序首先判断状态,代码如下:私有子 Form_Load()将 intCount 调暗为整数将 MsgText 调暗为字符串如果 gintMmode = 1 那么Me.Caption = Me.Caption & “添加”否则如果 gintMmode = 2 那么设置 mrc = ExecuteSQL(txtSQL, MsgText)如果 mrc.EOF = False 那么与 mrc对于 intCount = 0 到 4txtItem(intCount) = .Fields(intCount)下一个 intCount结束于txtItem(0).Enabled
33、 = False万一Me.Caption = Me.Caption & 修改万一mblChange = 假结束子gintMmode判断是添加还是修改。如果处于添加状态,则清除文本框,表单有提示信息;如果处于修改状态,则显示当前记录。用户完成输入后,点击cmdSave按钮会触发Click事件。代码详情见附录中的源代码列表:程序先判断内容是否输入,再判断格式。在仓库管理中,所有的仓库都有唯一的编号,不同类型的仓库对应不同的编号。程序会判断是否存在重复ID和重复位置的记录,然后将数据添加到数据库中。最后根据状态显示相应的信息:如果是添加状态则提示添加成功,然后重新显示并清除所有文本框继续添加记录;如
34、果处于修改状态,则提示修改成功,然后更新所有记录列表。当文本框获得焦点时,会触发以下事件: 自动选择输入内容,方便修改。Private Sub txtItem_GotFocus(索引为整数)txtItem(索引).SelStart = 0txtItem(Index).SelLength = Len(txtItem(Index)结束子点击按钮cmdedit取消添加仓库信息,代码如下:私有子 cmdExit_Click()如果 mblChange 和 cmdSave.Enabled 则If MsgBox(保存当前记录更改?, vbOKCancel + vbExclamation, Warning)
35、 = vbOK Then节省调用 cmdSave_Click万一万一卸载我结束子2:修改仓库基本信息表的创建选择“仓库基本信息管理修改仓库基本信息”菜单,出现如图所示的窗体,窗体中放置一个窗体控件。4-4 仓库基本信息修改图加载表单时,触发表单的Load事件,显示当前数据库中的所有记录。代码如下:调用showTitle函数显示表头,代码如下调用showData函数显示记录列表。代码如下:私有子 Form_Load()节目标题显示数据flagMedit=真结束子调用showtitle函数显示表头,代码如下:显示网格标题私人子 ShowTitle()将 i 调暗为整数使用 msgList.Cols
36、 = 6.TextMatrix(0, 1) = 仓库编号.TextMatrix(0, 2) = 仓库名称.TextMatrix(0, 3) = 规范模型.TextMatrix(0, 4) = 类别.TextMatrix(0, 5) = 度量单位固定标题.FixedRows = 1设置每一列的对齐方式对于 i = 0 到 5.ColAlignment(i) = 0接下来我标题项居中.FillStyle = flexFillRepeat.Col = 0. 行 = 0.RowSel = 1.ColSel = .Cols - 1.CellAlignment = 4设置单元格大小.ColWidth(0)
37、 = 300.ColWidth(1) = 1000.ColWidth(2) = 2000.ColWidth(3) = 2000.ColWidth(4) = 1000.ColWidth(5) = 1000. 行 = 1结束于结束子调用showdata函数显示记录列表,代码如下:显示网格的内容私有子 ShowData()将 i 调暗为整数设置 mrc = ExecuteSQL(txtSQL, MsgText)使用 msgList.Rows = 1不做时做 mrc.EOF.Rows = .Rows + 1对于 i = 1 到 mrc.Fields.Count选择案例 mrc.Fields(i - 1
38、).Type案例 addDBDate.TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & , yyyy-mm-dd)其他情况.TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & 结束选择接下来我mrc.MoveNextLoop结束于mrc.关闭结束子选择记录并单击鼠标右键将触发MouseUp事件并出现一个弹出菜单。该事件在鼠标松开时发生,代码如下:Private Sub msgList_MouseUp(Button As Integer, Shift As Integer, x As Single
39、, y As Single)右键弹出如果 Button = 2 并且 Shift = 0 那么PopupMenu fMainForm.menuMaterial万一结束子当窗口发生变化时,需要调整标签和表格的位置,使标签始终位于窗口顶部,表格始终位于标签下方。当表单大小发生变化时,会触发Resize 事件。代码如下:私有子 Form_Resize()If Me.WindowState vbMinimized And fMainForm.WindowState vbMinimized Then边界处理如果 Me.ScaleHeight 10 * lblTitle.Height 然后退出子万一如果
40、Me.ScaleWidth 1 那么if MsgBox(你真的要删除这条文件记录吗?, vbOKCancel + vbExclamation, Warning) = vbOK ThenintCount = frmMater.msgList.RowtxtSQL = 从材料中删除 wzid= & Trim(frmMater.msgList.TextMatrix(intCount, 1) & 设置 mrc = ExecuteSQL(txtSQL, MsgText)卸载 frmMaterfrmMater.txtSQL = 从材料中选择 *frmMater.Show万一万一万一结束子4:创建查询司机信息
41、的表格选择“仓库基本信息管理查询仓库基本信息”菜单,出现如图所示的表格。在这里,可以以各种方式并结合它们来执行查询。4-5 仓库基本信息查询图查询仓库基本信息表单中包含的控件及其属性设置如表所示。表 4-3仓库基本信息表单控件及其属性设置控制属性属性值格式(Form)姓名框架信息标题仓库登记查询MDI儿童真的文本条目(0)文本条目(1)姓名文本条目(0)文本条目(1)检查1标题仓库名称命令行标题仓库名称姓名命令行退出标题取消姓名退出先选择查询方式,然后输入查询内容。点击“确定”按钮触发Click事件进行查询,代码如下:私有子 cmdOK_Click()将 txtSQL 调暗为字符串将 sQSq
42、l 调暗为字符串If chkItem(0).Value = vbChecked ThensQSql = wzname = & Trim(txtItem(0) & ) & 万一If chkItem(1).Value = vbChecked ThenIf Trim(sQSql & ) = Then sQSql = wzspec = & Trim(txtItem(1) & ) & Else sQSql = sQSql & and wzspec = & Trim(txtItem(1) & ) & End If End If Me.Hide If Trim(sQSql) = Then MsgBox 请设
43、置查询方式!, vbOKOnly + vbExclamation, 警告 Exit Sub Else If flagMedit Then Unload frmMater End IffrmMater.txtSQL = select * from material where & sQSqlfrmMater.Show万一结束子程序先判断查询方式,如果没有设置查询方式,会显示提示信息;然后将查询内容组合成一条SQL语句进行查询。查询数据集后,需要在表格控件中正常显示。使用循环显示每条记录的每个字段。单击“取消”按钮将退出程序。4.6 仓储信息管理模块的创建仓储信息管理模块主要实现以下功能: 添加入
44、库信息。 修改存储信息。 删除存储信息。 查询存储信息。1:增加创建仓库入库信息表选择“仓库入库信息管理添加仓库入库信息”菜单,出现如图所示的窗体。4-6 仓库入库信息管理图表单中各个控件的属性这里就不一一介绍了。将各种文本框放入表单的框架中,形成“仓库信息”和“仓库信息”两部分。加载表单时,现有的仓库信息会自动添加到仓库信息中。代码被添加到窗体的Load事件中。源代码见附件:存储信息的记录号由程序随机生成,使每条记录都有唯一的编号。生成随机数的代码如下:私有函数 GetRkno() 作为字符串GetRkno = 格式(现在,“yymmddhhmmss”)随机化GetRkno = GetRkn
45、o & Int(99 - 10 + 1) * Rnd + 10)结束功能随机数的前 12 位由当前时间确定,后两位由随机数生成。输入内容后点击“保存”按钮触发Click事件,首先检查文本内容是否符合格式要求,然后判断是否有重复记录,更新仓库余额表中的相关信息,最后添加内容到数据库,代码见附录。 :这里很重要的一点是在添加入库信息的同时更新仓库余额表中的信息。更新时使用SQL语句更新:2:修改仓库入库信息选择“仓库入库信息管理和修改仓库入库信息”菜单,出现如图所示的窗体。4-7修改仓库入库信息图表单中放置了一个表单控件,所有入库记录都显示在其中。选择要修改的记录,在弹出的菜单中选择“修改入库信息
46、”命令,修改成如图所示的形式。选择“修改仓库入库信息”命令会触发menuModifymaterialin 的 Click 事件,代码如下:Private Sub menuModifymaterialin_Click()将 intCount 调暗为整数If flagIedit Then如果 frmMaterIn.msgList.Rows 1 那么gintImode=2intCount = frmMaterIn.msgList.RowfrmMaterIn1.txtSQL = select * from msave where rkno= & Trim(frmMaterIn.msgList.Text
47、Matrix(intCount, 1) & frmMaterIn1.显示别的调用菜单Addmaterialin_Click万一别的frmMaterIn.txtSQL = 从 msave 中选择 *frmMaterIn.Show万一结束子程序判断为修改状态后,先删除原来的记录,然后将新的内容添加到数据库中,同时保持仓库余额表中的相关信息更新。3:删除仓库入库信息在入库记录列表中选择一条记录,然后在菜单中选择“删除入库信息”命令,即可删除当前记录并更新入库余额表中的相关信息。代码显示如下:Private Sub menuDeletematerialin_Click()将 txtSQL 调暗为字符串
48、将 intCount 调暗为整数将 mrc 调暗为 ADODB.Recordset将 MsgText 调暗为字符串If flagIedit Then如果 frmMaterIn.msgList.Rows 1 那么if MsgBox(你真的要删除这条文件记录吗?, vbOKCancel + vbExclamation, Warning) = vbOK ThenintCount = frmMaterIn.msgList.RowtxtSQL = 更新 msurplus 设置 yeaccount=yeaccount- & Trim(frmMaterIn.msgList.TextMatrix(intCou
49、nt, 7) & ,yevalue=yevalue- & Trim(frmMaterIn.msgList.TextMatrix(intCount, 9) & 其中yeid= & Trim(frmMaterIn.msgList.TextMatrix(intCount, 2) & 设置 mrc = ExecuteSQL(txtSQL, MsgText)txtSQL = 从 rkno= 的 msave 中删除 & Trim(frmMaterIn.msgList.TextMatrix(intCount, 1) & 设置 mrc = ExecuteSQL(txtSQL, MsgText)卸载 frmMa
50、terInfrmMaterIn.txtSQL = 从 msave 中选择 *frmMaterIn.Show万一万一万一结束子4:查询仓库入库信息选择“仓库入库信息管理查询仓库入库入库信息”菜单,出现如图所示的表格。在这里,可以以各种方式并结合它们来执行查询。4-8查询仓库入库信息图表加载表单时会自动添加所有记录的存储时间,代码如下:私有子 Form_Load()sQSql = 将 i 调暗为整数将 j 调暗为整数将 sSql 作为字符串变暗将 txtSQL 调暗为字符串将 MsgText 调暗为字符串将 mrc 调暗为 ADODB.RecordsettxtSQL = 从 msave 中选择不同
51、的 datepart(yy,rkdate)设置 mrc = ExecuteSQL(txtSQL, MsgText)如果 mrc.EOF = False 那么与 mrc不做.EOFcboYear(0).AddItem.Fields(0)cboYear(1).AddItem.Fields(0).MoveNextLoop结束于对于 i = 0 到 1cboYear(i).ListIndex = 0接下来我对于 i = 0 到 1对于 j = 1 到 12cboMonth(i).AddItem j下一个 j接下来我对于 i = 0 到 1cboMonth(i).Text = Month(Now()接下
52、来我别的cmdOk.Enabled = False万一mrc.关闭结束子查询方法与查询仓库基本信息的方法相同。4.7 仓库出库管理模块的创建仓库出库管理模块主要实现以下功能:添加仓库出库信息。修改仓库出库信息。删除出库信息。查询出库信息。1:增加创建仓库出库信息表选择“仓库出库信息管理|添加仓库出库信息”菜单,出现如图所示的表单。4-9添加仓库出库信息窗口图加载表格时,程序会自动将所有数量大于零的仓库的名称添加到仓库余额表中。代码如下:私有子 Form_Load()将 sSql 作为字符串变暗将 intCount 调暗为整数将 mrc 调暗为 ADODB.Recordset如果 gintOmo
53、de = 1 那么Me.Caption = Me.Caption & “添加”初始化存储库名称txtSQL = 从 msurplus 中选择 DISTINCT 名称,其中 yeaccount0设置 mrc = ExecuteSQL(txtSQL, MsgText)如果不是 mrc.EOF 那么不做时做 mrc.EOFcboItem(1).AddItem Trim(mrc!yename)mrc.MoveNextLoopcboItem(1).ListIndex = 0别的MsgBox 存储库中没有存储库!, vbOKOnly + vbExclamation, 警告cmdSave.Enabled =
54、 False退出子万一mrc.关闭txt帐户=“0”txt值 = 0txtNo = GetRknotxtBase = ElseIf gintOmode = 2 那么设置 mrc = ExecuteSQL(txtSQL, MsgText)如果 mrc.EOF = False 那么与 mrc对于 intCount = 0 到 4cboItem(intCount).AddItem .Fields(intCount + 1)cboItem(intCount).ListIndex = 0下一个 intCount对于 intCount = 0 到 7If Not IsNull(.Fields(intCou
55、nt + 6) 那么txtItem(intCount) = .Fields(intCount + 6)万一下一个 intCount保存更改的数据txtAccount = !lyaccounttxtValue = !lyvaluetxtNo = !lynotxtBase = !lybase & 结束于万一mrc.关闭Me.Caption = Me.Caption & “修改”万一mblChange = 假结束子选择存储库名称时,还会显示该存储库的其他信息,代码如下:私有子 cboItem_Click(索引为整数)将 sSql 作为字符串变暗将 mrcc 调暗为 ADODB.Recordset如果
56、 gintOmode = 1 那么 初始化员工姓名和ID如果索引 = 1 那么cboItem(0).Enabled = TruecboItem(3).Enabled = TruecboItem(4).Enabled = TruecboItem(2).清除cboItem(0).清除cboItem(3).清除cboItem(4).清除txtSQL = select yeid,yespec,yekind,yeunit from msurplus whereyename= & Trim(cboItem(1) & 设置 mrcc = ExecuteSQL(txtSQL, MsgText)如果不是 mrc
57、c.EOF 则不做时做 mrcc.EOFcboItem(0).AddItem mrcc!yeidcboItem(2).AddItem mrcc!yespeccboItem(3).AddItem mrcc!yekindcboItem(4).AddItem mrcc!yeunitmrcc.MoveNextLoopcboItem(0).Enabled = FalsecboItem(3).Enabled = FalsecboItem(4).Enabled = FalsecboItem(2).ListIndex = 0cmdSave.Enabled = True别的MsgBox 版本库中不存在版本库!,
58、 vbOKOnly + vbExclamation, 警告cmdSave.Enabled = False退出子万一mrcc.关闭ElseIf 索引 = 2 则cboItem(0).Enabled = TruecboItem(3).Enabled = TruecboItem(4).Enabled = True使用 cboItem(2)cboItem(0).ListIndex = .ListIndexcboItem(3).ListIndex = .ListIndexcboItem(4).ListIndex = .ListIndex结束于cboItem(0).Enabled = FalsecboIt
59、em(3).Enabled = FalsecboItem(4).Enabled = False万一万一结束子为了防止输入信息时的误操作,可以限制键盘的使用。在文本框中Private Sub txtItem_KeyPress(Index As Integer, KeyAscii As Integer)如果索引 = 0 或索引 = 1 则消息框键码控制输入的字符txtQuantity(Index).Locked = False小数点只能输入一次如果 KeyAscii = 190 那么如果 InStr(Trim(txtItem(Index), .) = 0 那么如果 Len(Trim(txtItem
60、(Index) 0 那么txtItem(索引).Locked = False别的txtItem(索引).Locked = True万一别的txtItem(索引).Locked = True万一退出子万一非数字不能输入如果 KeyAscii 57 或 KeyAscii 1 那么if MsgBox(你真的要删除这条文件记录吗?, vbOKCancel + vbExclamation, Warning) = vbOK ThenintCount = frmMaterOut.msgList.RowtxtSQL = 更新 msurplus 设置 yeaccount=yeaccount+ & Trim(fr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国饲料中间体化学品行业头部企业市场占有率及排名调研报告
- 2025-2030全球高速标签打印机行业调研及趋势分析报告
- 2025年全球及中国汽车座椅加热通风线束行业头部企业市场占有率及排名调研报告
- 2025-2030全球条形码库存管理系统行业调研及趋势分析报告
- 2025-2030全球生物基电池行业调研及趋势分析报告
- 2025年全球及中国农场畜牧管理软件行业头部企业市场占有率及排名调研报告
- 2025-2030全球印刷级热敏纸行业调研及趋势分析报告
- 担保函保证合同
- 2025监控售后维修合同
- 房屋买卖合同范文
- 成人氧气吸入疗法-中华护理学会团体标准
- Unit-3-Reading-and-thinking课文详解课件-高中英语人教版必修第二册
- 高数(大一上)期末试题及答案
- 北方春节的十大风俗
- 婚介公司红娘管理制度
- 煤矿电气试验规程
- JCT796-2013 回弹仪评定烧结普通砖强度等级的方法
- 物业客服培训课件PPT模板
- 员工工资条模板
- 火力发电厂节能管理制度实施细则
- 华为携手深圳国际会展中心创建世界一流展馆
评论
0/150
提交评论