仓库管理系统设计及及_第1页
仓库管理系统设计及及_第2页
仓库管理系统设计及及_第3页
仓库管理系统设计及及_第4页
仓库管理系统设计及及_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录摘要..........................................................2第一章管理信息系统基础.......................................3管理信息系统概述..........................................3管理信息系统的特点........................................3VB介绍....................................................5ACCESS简介................................................7第二章毕业设计正文..........................................8选题背景.................................................8方案论证.................................................82.2.1实现功能................................................2.2.2功能与模块的设计........................................2.2.3数据库的设计............................................过程论述.................................................112.3.1登陆流程图..............................................112.3.2主界面流程图............................................122.3.3所有货物与增加货物流程图................................132.3.4所有入库信息与增加入库信息流程图........................132.3.5数据保存流程图..........................................142.3.6用户管理................................................152.3.7查询流程图..............................................15设计进程.................................................15结论和总结...............................................16第三章致谢...................................................17第四章附录(计算机程序等内容)................................18数据库连接模块............................................18登陆界面与代码............................................20主界面与代码..............................................22用户管理界面与代码........................................27库存管理界面与代码........................................33入库信息管理界面与代码....................................39出库信息界面与代码........................................45借条信息管理界面与代码....................................52第五章参考文献...............................................59仓库管理系统摘要:在工厂中,货物管理是一项非常重要的工作。使用人工方式管理各项材料信息不仅效率低下,而且容易出错,安全性很差。并且在实际操作中,数据的查找和维护都不容易实现,容易发生差错,导致了管理费用增加,服务质量难以得到保证,从而影响企业的竞争力。本人设计该系统,就是为了解决以上这些问题。其目的在于实现仓库材料信息管理和出入库记录的快速高校检索,使操作简单安全,提供工作效率和质量。本人结合货物仓库管理的要求,对Visualbasic(VB)数据库管理系统、basic语言的学习和应用,主要完成货物仓库管理系统的需求分析,系统的数据库设计和实现,系统的表单设计,主控程序设计,并由此设计了数据库结构和应用程序。系统运行结果证明,本人设计的货物仓库管理系统可以满足仓库管理者完成仓库管理的日常工作,包括材料的入库,出库以及库存材料信息的管理维护等。关键字:仓库管理仓库

管理系统VB面向对象

第一章管理信息系统基础管理信息系统就是我们常说的MIS(ManagementInformationSystem),在强调管理,强调信息的现代社会中它越来越得到普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。管理信息系统概述20世纪,随着全球经济的蓬勃发展,众多经济学家纷纷提出了新的管理理论。20世纪50年代,西蒙提出管理依赖于信息和决策的思想。同时期的维纳发表了控制论,他认为管理是一个控制过程。1958年,盖尔写到:“管理将以较低的成本得到及时准确的信息,做到较好的控制。”这个时期,计算机开始用于会计工作,出现数据处理一词。1970年,Walter给刚刚出现的管理信息系统一词下了一个定义:“以口头或书面的形式,在合适的时间向经理、职员以及外界人员提供过去的、现在的、预测未来的有关企业内部及其环境的信息,以帮助他们进行决策。”在这个定义里强调了用信息支持决策,但并没有强调应用模型,没有提到计算机的应用。1985年,管理信息系统的创始人,明尼苏达大学的管理学教授Gordon给了管理信息系统一个较完整的定义,即“管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。”这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了管理信息系统在当时达到的水平。管理信息系统的特点1.2.1管理信息系统的组成管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。计算机技术是MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的生产成本,需要按时输入每个部件、每个零件甚至每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度做保证。1.2.2管理信息系统的界面特点在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:1.以通信功能作为界面设计的核心人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起,以免互相干扰,影响速度。设计MIS时,针对每一个功能,都要按照“I-P-O”的模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。2.界面必须始终一致

统一的人机界面不致于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。

例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。3.界面必须使用户随时掌握任务的进展情况人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。4.界面必须能够提供帮助一个优秀的MIS软件应该提供在线求助功能,甚至提供使用向导,这将给用户带来极大的方便。在多媒体环境下,以语音提示作为操作向导,不会干扰屏幕信息,是一个极佳的选择。5.界面友好、使用方便多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。VisualBasic介绍VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,VisualBasic具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计版以后的VisualBasic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。

事件驱动编程机制VisualBasic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。访问数据库VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。同时,VisualBasic还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用VisualBasic编辑和处理。VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(DDE)利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。VisualBasic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。Access简介MicrosoftAccess数据库管理系统是MicrosoftOffice套件的重要组成部分,先后出现了Access97、Access2000和AccessXP。其中AccessXP是最新版本。Access适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。MicrosoftAccess是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。图4-1是一个“学生”表的例子。“学生”表由9个记录组成,一个记录占一行,每一个记录由学号、姓名、性别、出生日期、电话号码、宿舍号、班长、系号和中共党员9个字段组成。“学号”是字段名,其下面的02010101,02010102等是字段的值。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。Access2000数据库由七种对象组成:表、查询、窗体、报表、页、宏和模块。

表(Table)——表是数据库的基本对象,是创建其他6种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。页(Page)——也叫数据访问页。是连接到数据库的Web页,在数据访问页中,可以查看、添加、编辑和操作存储在数据库中的数据。数据访问页还可以包括其他来源的数据,例如MicrosoftExcel。宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一些常用的操作供用户选择,使用起来十分方便。模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用VisualBasic编程。第二章毕业设计正文选题背景:现在的社会日新月异,发展的非常快。计算机的发展也是非常的快了,而且每年都有不同的要求。仓库的数据量也非常的大,资料可能经常性的发生更换,原来手工的管理模式就显的不怎么的合适了。而且手工的数据是存放在多处的,没有使用统一管理的模式,数据整理非常的麻烦,统计也困难,很多的情况下,管理人员都是在重复一些相同的工作。做一些相似的报表,这样不但降低了工作效率,而且非常的容易出错。在这种条件下,使用微机管理就显的非常的合适了。只要你正确的录入,统计,报表输出一点问题都没有的。货物做为仓库管理最主要的管理对象,货物档案管理系统就成了信息化管理系统中中不可缺少的部分,它的内容对于工厂的管理者说都至关重要。但一直以来人们使用传统人工的方式进行货物的档案管理,这种管理方式存在着许多缺点,如:效率低,容易出错,格式不规范。另外时间一长,不容易进行统计和分析。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对货物进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高工厂管理的效率。因此,开发这样一套管理软件成为很有必要的事情。而且只要软件的设计合理,可以为工厂提供合理的管理模式。通过本系统软件,能帮助工作人员利用计算机,快速方便的对仓库的货物管理进行管理、输入、输出、查找的所需操作,使散乱的和、货物信息能够具体化,直观化、合理化。本软件适用于工厂,对货物的信息可以随时输入、输出、查找、修改、汇总。方案论证:仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

本系统主要完成对仓库货物情况的管理,包括数据库中表的添加、修改、删除等。系统还可以完成对各类信息的浏览、查询、添加、删除、修改、报表等功能。

系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。

经过分析,我们使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在操作系统方面,虽然现在Linux的发展速度非常的快,但是对于大多数的使用者来说,操作显然没有微软的WINDOWS那么的流行和傻瓜化。而且现在计算机的运算速度已经不能和以前相提并论了,而且硬件的价格也一天天的在下降了,所以也不用为了节省整体的造价而改用硬件要求很低的DOS系统了。所以我们决定该仓库管理系统将运行在普遍使用的WINDOWS操作系统上来协助管理人员轻松地进行与数据库的连接和管理。在这么多的访问接口里面微软对于ADO非常的推崇,并且下一代的数据访问技术也将是采取这样的思路,而且本身来说ADO模型简单,但是功能强大,使实现人员无须关心一些底层的操作,而把更多的经历放在业务逻辑的设计上面。综上所述,我们选择了VisualBasic+ADO+ACCESS来开发整个系统。2.2.1、实现功能:能够浏览仓库中货物的所有信息能够对货物的信息注册登记管理货物资料的数据库建立和管理能够通过货物的一个信息找到此货物的相关信息通过一条信息找到与之匹配的信息(例如:查询同一货物的所有供应商)多用户数据安全管理,保证各部门的数据安全、完整,对每个使用本系统用户进行权限的设置简易操作,不需要计算机专业人员。货物查询,查询条件为货物名称信息的综合查询用户管理:设置两个级别用户:管理员和普通用户,管理员有权限使用所有的功能,普通用户只能使用查询功能,用户使用本系统之前必须先通过身份认证(用户级别、用户名和密码,密码输入有次数限制,连续三次输入错误密码则锁定该用户)2.2.2功能与模块设计包括货物的总体管理系统、入库管理系统、出库管理系统、借出信息管理系统、系统备份等,这几个方面都是必须要满足:基本情况录入:输入本系统所需的基本数据。货物出入处理:处理货物入库、出库的情况。货物查询:提供查询货物的基本情况功能。系统启动画面↓权限认证画面↓仓库管理系统主画面库存管理入库管理出库管理借出信息管理系统备份2.2.3数据库设计创建“仓库管理系统”数据库系统中需要使用的数据表。仓库管理系统登陆表库存表入库表出库表借条信息表登陆2、库存3、入库表4、出库表5、借条信息过程(设计或实验)论述:执行流程图与解说2.3.1登陆流程图设计说明:进入主界面后,提示输入用户名和密码,在输入之后按确定进入,验证用户名和密码,实现流程:(1)检测数据库中有无管理员帐号,如果有,则等待用户输入用户名和密码,否则按程序本身自动执行插入命令,新建一个管理员用户,并等待用户输入.(2).验证用户名和密码是否正确,错误次数不能超过三次,超过三次则退出系统登陆界面(3)当验证通过后,检测该登陆用户的管理权限,并设置变量传值给主窗体.2.3.2主界面操作图设计说明:此窗体为主窗体操作界面,为配合数据执行模式,自制了菜单,使众多功能都能整齐而有序的排列.实现功能:(1).获得登陆界面传递的权限信息,设置用户是否可以使用(库存管理,入库管理,出库管理,系统操作,保存,修改,删除)这些操作.(2).默认进入仓库管理菜单,设置等待操作状态2.3.3所有货物与增加货物数据图所有货物E-R图增加货物E-R图注:数据初始化是对程序中所使用的表格进行颜色和表格间距的处理,并绑定数据源为进行到下一步操作做准备实现功能:(1).执行库存信息表的全查询,获得所有字段名称,通过字段名称来分配数据列表的列数.(2).执行数据初始化,因使用的图表控件附带下拉列表框,分类选择框等功能,可以很方便的进行即时操作,所以数据的初始化是针对数据来确定哪一列的宽度与文本框的属性.(3).给图表控件的第一列赋值,赋值对象是库存信息表的各字段名称.(4).统计所有表内信息,得出行数,显示数据0(5).开始根据内容给图表控件赋值,同时设置状态,即不可保存,可修改,可删除.(因为在查询数据的同时无需执行保存数据,而可以进行数据的修改和删除)2.3.4入库与入库数据处理图所有入库信息E-R图增加入库数据E-R图2.3.5数据保存流程图在点击上列按钮后,系统属于可保存状态,不可修改状态,不可删除状态.点击保存功能实现:验证输入对象:即是保存库存信息的内容还是入库表的内容,判断表格中是否是否为空,为空提示并退出操作验证用户输入的数据中是否有必填的字段未填的,如果有,提示并退出操作,等待用户补齐以上顺利完成,对每行进行组织语句(插入语句),然后执行该语句,语句成功提示并退出操作,否则通过防错提示并退出操作2.3.6库存管理注:增加:刷新表格数据,调整到等待输入状态保存:执行增加操作后,并输入了必要的数据后执行,保存用户输入的数据修改:对原有数据进行修改,课程编号为唯一值不可修改删除:删除表格中所选目标行退出:退出课程管理界面,返回到主界面视图2.3.7查询实现功能:支持库存信息,入库信息与出库信息的所有查询,加大了查询的范围,任何该表的参数都可以查询到.设计进程:3月13日:获得毕业设计课题与论文规范3月14日:构思后台数据库的内容,前台操作界面与实现大体的功能3月15日:发现第三方flexcell控件,试用效果对此毕业设计有很大帮助3月16日:创建数据库后台,建立连接数据库的模块,创建主界面窗体,编写了菜单的程序,并初步使用数据处理3月17日:构思资源优化,并根据ADO中的详细介绍实现数据分页显示,并编写了数据与图表之间的读取,保存3月18日:完成了修改与删除操作的处理,并实现对课程的管理,用户管理与班级管理等窗体的内容3月19日:加入图表菜单显示功能,加入查询功能3月20日:完成统计查询的功能,新建登陆窗体,处理非管理员与管理员的权限等问题3月21日:加入防错代码,并进行大范围测试,减少程序出错机率3月22日:后期进行美化处理,加入窗体透明化API3月23日:引用论文规范的模板,着手论文的完成3月24日:完成论文3月25日:准备幻灯片演讲稿3月26日:完成演讲稿的内容结论和总结:确定了本系统的实用价值后,选用了目前最常用也最简便的access数据库做为后台,鉴于ADO在很多程序里的广泛应用,使用ADO来连接数据库将是最为适用的,并且在定义了ADO的连接模块后,对于将来的升级也会很方便,只要修改一下连接源,就可以轻松的更换后台,access适用于单机版,当想转换为网络版的SQL数据库时,就很容易做到为了减少系统的数据资源,选用了目前最方便的将数据交给后台处理的方法,即使用SQL的语句将数据库交给ACCESS后台,由后台来处理,这样系统的执行会加快,也使用程序本身变得简单本程序使用了新型控件flexcell,此控件的双色表格与单元格的特殊赋值功能不但能带给用户最好的视觉感受,同时在操作时大大减少了手动输入操作,因此也为非计算机人员的可操作性带来很大的方便。自行编写了菜单程序:增强了非计算机人员的可操作性,使整个窗体布局更加直观化。支持右键菜单,在flexcell控件上点击鼠标右键,可出现快捷菜单,可以更方便更直观的处理数据。支持全方位查询,可以通过计算机人员的自写语句实现定位查询,只要语句正确,都能找到所要找的记录。使用了透明API函数,在调用用户管理与课程管理等窗体的时候,对该窗体进行透明化处理。

三、致谢由于以前对VisualBasic的接触并不是很多,对它的开发环境不是非常了解,所以在程序的开发过程中遇到了很多的困难,但经过同学和指导老师的帮助,一一化解了困难,并从中学到了很多编程方面的知识。但是由于经验方面的原因,以及对库存方面的操作流程了解不足,该系统还有许多不尽如人意的地方和功能上的缺陷,这些都有待于进一步改善。在本次毕业设计中,我从指导老师张老师身上学到了很多东西,张老师认真负责的工作态度,无论在理论上还是实践中,她都给予我很大的帮助,是我得到不少的提高,相信对我以后的工作和学习都会有很大的帮助,感谢她细心而耐心的辅导。

四、附录连接数据库的模块代码PubliccnnAsNew'新建一个数据源Publicqy1AsNew'数据一个记录集Publicqy2AsNew'数据一个记录集SubMain()tkOpenAccessDB&"\"'连接数据库If=adStateOpenThen'表状态EndIf"select*from登陆",cnn,adOpenStatic,adLockReadOnly,adCmdText'查询表内是否有数据If=0ThenSetqy1=("insertinto登陆values('admin','admin','超级管理员')")'表内无数据执行此语句新建用户EndIfEndSubPrivateSubtkOpenAccessDB(_tkAsString,_OptionaltkUserIDAsString,_OptionaltkPasswordAsString_)'连接数据库参数OnErrorGoTotkFinish"Provider="&_"DataSource="&tk&";"&_"Mode=ShareDenyNone;"&_"ExtendedProperties=;"&_"JetOLEDB:Systemdatabase=;"&_"JetOLEDB:RegistryPath=;"&_"JetOLEDB:DatabasePassword=;"&_"JetOLEDB:EngineType=5;"&_"JetOLEDB:DatabaseLockingMode=1;"&_"JetOLEDB:GlobalPartialBulkOps=2;"&_"JetOLEDB:GlobalBulkTransactions=1;"&_"JetOLEDB:NewDatabasePassword=;"&_"JetOLEDB:CreateSystemDatabase=False;"&_"JetOLEDB:EncryptDatabase=False;"&_"JetOLEDB:Don'tCopyLocaleonCompact=False;"&_"JetOLEDB:CompactWithoutReplicaRepair=False;"&_"JetOLEDB:SFP=False;"&_tkUserID,_tkPasswordExitSubtkFinish:MsgBoxEndEndSub

登陆界面与代码PrivateSubXPButton1_Click()OnErrorGoTofinishuser=Setmdbrs=("select*from登陆where用户名='"&&"'and密码='"&&"'")If=TrueThen=""=""MsgBox"用户名和密码不正确!!"Elseuser111=(0)sup=(2)If(2)="超级管理员"Thenadmin=True'MsgBox"您是超级管理员!!"'MsgBoxuserElseadmin=False'MsgBox"您不是超级管理员!!"EndIfUnloadMeEndIfExitSubfinish:MsgBoxEndSubPrivateSubXPButton2_Click()EndEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCallXPButton1_ClickEndIfEndSubPrivateSubText2_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCallXPButton1_ClickEndIfEndSub

主窗体界面与代码PrivateSubabou_Click()EndSubPrivateSubcmai_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubbak_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubexit_Click()Ifmdi=FalseThenMsgBox"请保存数据!",vbInformation,"不允许当前操作!"ElseEndEndIfEndSubPrivateSubhuifu_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubjiecha_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubjietiao_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubkecheng_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubMDIForm_Load()="今天是"&Year(Date)&"年"&Month(Date)&"月"&Day(Date)&"日,欢迎您使用仓库管理系统!"&"当前操作者:"&user111&"权限:"&supEndSubPrivateSubreach_Click()Ifmdi=FalseThenMsgBox"请关闭打开的窗口!",vbInformation,"不允许当前操作!"Else'UnloadMeEndIfEndSubPrivateSubrelog_Click()Ifmdi=FalseThenMsgBox"请关闭打开的窗口!",vbInformation,"不允许当前操作!"ElseUnloadMeEndIfEndSubPrivateSubsturea_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubstureg_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubtuifang_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubuser_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubxuankecha_Click()Ifmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSubPrivateSubzhuxiu_Click()Ifadmin=FalseThenMsgBox"你没有管理本功能的权限,请与管理员联系!"ExitSubEndIfIfmdi=TrueThenElseMsgBox"每次只能打开一个窗口,请关闭正在打开的窗口!",vbInformation,"不允许当前操作!"EndIfEndSub用户管理界面与代码DimgridsaveAsBooleanDimgrideditAsBooleanDimgriddeleteAsBooleanPrivateSubForm_Load()OnErrorGoTofinish"CNwinndy","W]vyY-nonvk-u\nty-Zbl_e-`hms^"'进行注册WithGrid1.AllowUserResizing=True.DisplayFocusRect=False.ExtendLastCol=True.Appearance=Flat.FixedRowColStyle=Flat.ScrollBarStyle=Flat.="Tahoma".=8.BackColorFixed=RGB(90,158,214).BackColorFixedSel=RGB(110,180,230).BackColorBkg=RGB(90,158,214).BackColorScrollBar=RGB(231,235,247).BackColor1=RGB(231,235,247).BackColor2=RGB(239,243,255).GridColor=RGB(148,190,231).AllowUserResizing=True.DisplayFocusRect=False.ExtendLastCol=True.Appearance=Flat.FixedRowColStyle=Flat.ScrollBarStyle=Flat.GridColor=RGB(148,190,231).="Tahoma".=8.Column(0).Width=0.Column(1).Width=100.Column(2).Width=100.Column(3).Width=100.Column(3).CellType=cellComboBox.ComboBox(3).Clear.ComboBox(3).AddItem"超级管理员".ComboBox(3).AddItem"一般用户"EndWith'="Provider=OLEDB:DatabasePassword=;DataSource="&&"\"'=30'Callcallmain(1).Locked=Truegridsave=Falsegridedit=Truegriddelete=Truemdi=FalseExitSubfinish:MsgBoxEndSubPrivateSubcallmain()OnErrorGoTofinishgridsave=Falsegridedit=Truegriddelete=TrueSetmdbrs=("select*from登陆")=1i=3=i+1Fori=0To2(0,i+1).Text=(i).NameNexti=1DoWhileNot=+1Forj=1To3'设定读取列If(j-1)=NullThen'空值的处理(i,j).Text=""Else(i,j).Text=(j-1)EndIfNexti=i+1'读取下一记录Loop(1).Locked=TrueExitSubfinish:MsgBoxEndSubPrivateSubForm_LostFocus()EndSubPrivateSubForm_Unload(CancelAsInteger)mdi=TrueEndSubPrivateSubXPButton1_Click()OnErrorGoTofinishgridsave=Truegridedit=Falsegriddelete=FalseSetmdbrs=("select*from登陆")=1=2(1).Locked=False(1,1).SetFocusExitSubfinish:MsgBoxEndSubPrivateSubXPButton2_Click()OnErrorGoTofinishIfgridsave=FalseThenMsgBox"不支持保存操作!",vbInformation,"当前不支持"ExitSubEndIfIf(1,1).Text<>""And(1,2).Text<>""ThenSetmdbrs=("select*from登陆where用户名='"&(1,1).Text&"'")If=TrueThenSetmdbrs=("insertinto登陆values('"&(1,1).Text&"','"&(1,2).Text&"','"&(1,3).Text&"')")MsgBox"提交成功!",vbInformation,""CallcallmainElseMsgBox"该管理员己存在!",vbInformation,"不可重名"ExitSubEndIfElseMsgBox"用户名和密码都不可以是空格!",vbInformation,"错误提示"EndIfExitSubfinish:MsgBoxEndSubPrivateSubXPButton3_Click()OnErrorGoTofinishIfgridedit=FalseThenMsgBox"当前修改操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfFori=1To-1Setmdbrs=("update登陆set密码='"&(i,2).Text&"',权限='"&(i,3).Text&"'where用户名='"&(i,1).Text&"'")NextMsgBox"修改的数据己经完成",vbInformation,"完成操作"CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton4_Click()OnErrorGoTofinishIfgriddelete=FalseThenMsgBox"当前删除操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfIfhang=0ThenMsgBox"没有选择用户或者没有用户可以删除!",vbInformation,"非使用对象"ExitSubEndIfSetmdbrs=("deletefrom登陆where用户名='"&(hang,1).Text&"'")MsgBox"目标己删除,请刷新数据!",vbInformation,"删除成功"CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton5_Click()UnloadMeEndSubPrivateSubGrid1_RowColChange(ByValRowAsLong,ByValhang=RowEndSub库存管理界面与代码Dimgridedit1AsBooleanDimgridsave1AsBooleanDimgriddelete1AsBooleanPrivateSubForm_Load()OnErrorGoTofinishmdi=False"CNwinndy","W]vyY-nonvk-u\nty-Zbl_e-`hms^"'进行注册Setmdbrs1=("select*from库存")'选择表=6'定义grid控件列数(1).Width=60'定义列的宽度(2).Width=70(3).Width=120(4).Width=70(5).Width=70WithGrid1'定义grid控件的属性.AllowUserResizing=True.DisplayFocusRect=False.ExtendLastCol=True.Appearance=Flat.FixedRowColStyle=Flat.ScrollBarStyle=Flat.="Tahoma".=8.BackColorFixed=RGB(84,201,134).BackColorFixedSel=RGB(167,111,177).BackColorBkg=RGB(198,229,211).BackColorScrollBar=RGB(167,111,177).BackColor1=RGB(231,235,247).BackColor2=RGB(198,229,211).GridColor=RGB(148,190,231).Column(0).Width=0.Column(3).CellType=cellComboBox'定义第三列为选择框.ComboBox(3).Clear.ComboBox(3).AddItem"布料".ComboBox(3).AddItem"胶水".ComboBox(3).AddItem"纸板".ComboBox(3).AddItem"包装材料".ComboBox(3).AddItem"其它材料".Column(4).CellType=cellComboBox'定义第四列为选择框.ComboBox(4).Clear.ComboBox(4).AddItem"个"'选择框中添加数据.ComboBox(4).AddItem"只".ComboBox(4).AddItem"盒".ComboBox(4).AddItem"支".ComboBox(4).AddItem"本".ComboBox(4).AddItem"条".ComboBox(4).AddItem"张".ComboBox(4).AddItem"斤"EndWithCallcallmain(1).Locked=Truegridsave1=Falsegridedit1=Truegriddelete1=Truemdi=FalseExitSubfinish:MsgBoxEndSubPrivateSubForm_Unload(CancelAsInteger)mdi=TrueEndSubPrivateSubXPButton1_Click()OnErrorGoTofinishgridsave1=Truegridedit1=Falsegriddelete1=FalseSetmdbrs=("select*from库存")=1=2(1).Locked=True(1,2).SetFocus(5).Locked=FalseExitSubfinish:MsgBoxEndSubPrivateSubXPButton2_Click()'gridsave=TrueOnErrorGoTofinishIfgridsave1=FalseThenMsgBox"不支持保存操作!",vbInformation,"当前不支持"ExitSubEndIfIf(1,2).Text=""ThenMsgBox"名称不可以是空格!",vbInformation,"错误提示"ExitSubEndIfIf(1,3).Text=""ThenMsgBox"请选择分类!",vbInformation,"错误提示"ExitSubEndIfIf(1,4).Text=""ThenMsgBox"请选择单位!",vbInformation,"错误提示"ExitSubEndIfIf(1,5).Text=""ThenMsgBox"请输入数量!",vbInformation,"错误提示"ExitSubEndIf'插入数据Setmdbrs=("insertinto库存(名称,分类,单位,数量)values('"&(1,2).Text&"','"&(1,3).Text&"','"&(1,4).Text&"',val('"&(1,5).Text&"'))")MsgBox"提交成功!",vbInformation,""CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton3_Click()'修改数据OnErrorGoTofinishIfgridedit1=FalseThenMsgBox"当前修改操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfFori=1To-1'修改每一行中的数据Setmdbrs=("update库存set名称='"&(i,2).Text&"',分类='"&(i,3).Text&"',单位='"&(i,4).Text&"',数量=val('"&(i,5).Text&"')whereid=val('"&(i,1).Text&"')")NextMsgBox"修改的数据己经完成",vbInformation,"完成操作"CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton4_Click()'删除数据OnErrorGoTofinishDimiAsIntegerIfgriddelete1=FalseThenMsgBox"当前修改操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfIfhang=0ThenMsgBox"没有选择库存或者没有库存可以删除!",vbInformation,"非使用对象"ExitSubEndIfSetmdbrs=("select*from库存whereid=val('"&(hang,1).Text&"')")i=MsgBox("确认删除库存编号为:"&(0).Value&"名称为:"&(1)&"的记录吗",4,"删除记录")Ifi=6ThenSetmdbrs=("deletefrom库存whereid=val('"&(hang,1).Text&"')")MsgBox"目标己删除,请刷新数据!",vbInformation,"删除成功"CallcallmainElseMsgBox"目标没有删除!",vbInformation,"删除失败"EndIfExitSubfinish:MsgBoxEndSubPrivateSubXPButton5_Click()UnloadMeEndSubPrivateSubcallmain()OnErrorGoTofinishgridsave1=Falsegridedit1=Truegriddelete1=TrueSetmdbrs=("select*from库存")=1i=5=i+1Fori=0To4'显示列名(0,i+1).Text=(i).NameNexti=1DoWhileNot'显示表中数据=+1Forj=1To5'设定读取列If(j-1)=NullThen'空值的处理(i,j).Text=""Else(i,j).Text=(j-1)EndIfNexti=i+1'读取下一记录Loop(1).Locked=TrueExitSubfinish:MsgBoxEndSubPrivateSubGrid1_RowColChange(ByValRowAsLong,ByValhang=RowEndSub入库管理界面与代码Dimgridedit1AsBooleanDimgridsave1AsBooleanDimgriddelete1AsBooleanPrivateSubForm_Load()OnErrorGoTofinishmdi=False"CNwinndy","W]vyY-nonvk-u\nty-Zbl_e-`hms^"'进行注册Setmdbrs1=("select*from入库表")=7(1).Width=30(2).Width=120(3).Width=120(4).Width=70(5).Width=70(6).Width=70WithGrid1.AllowUserResizing=True.DisplayFocusRect=False.ExtendLastCol=True.Appearance=Flat.FixedRowColStyle=Flat.ScrollBarStyle=Flat.="Tahoma".=8.BackColorFixed=RGB(84,201,134).BackColorFixedSel=RGB(167,111,177).BackColorBkg=RGB(198,229,211).BackColorScrollBar=RGB(167,111,177).BackColor1=RGB(231,235,247).BackColor2=RGB(198,229,211).GridColor=RGB(148,190,231).Column(0).Width=0.Column(2).CellType=cellComboBox.ComboBox(2).ClearSetmdbrs2=("select名称from库存")DoWhile=False.ComboBox(2).AddItem(0)LoopEndWithCallcallmain(1).Locked=Truegridsave1=Falsegridedit1=Truegriddelete1=Truemdi=FalseExitSubfinish:MsgBoxEndSubPrivateSubForm_Unload(CancelAsInteger)mdi=TrueEndSubPrivateSubXPButton1_Click()OnErrorGoTofinishgridsave1=Truegridedit1=Falsegriddelete1=FalseSetmdbrs=("select*from入库表")=1=2(1).Locked=True(1,2).SetFocus(6).Locked=TrueExitSubfinish:MsgBoxEndSubPrivateSubXPButton2_Click()'OnErrorGoTofinishIfgridsave1=FalseThenMsgBox"不支持保存操作!",vbInformation,"当前不支持"ExitSubEndIfIf(1,2).Text=""ThenMsgBox"名称不可以是空格!",vbInformation,"错误提示"ExitSubEndIfIf(1,3).Text=""ThenMsgBox"供应商不可以是空格!",vbInformation,"错误提示"ExitSubEndIfIf(1,4).Text=""ThenMsgBox"请输入数量!",vbInformation,"错误提示"ExitSubEndIfIf(1,5).Text=""ThenMsgBox"请输入单价!",vbInformation,"错误提示"ExitSubEndIfDimaAsDoublea=Val(1,4).Text)Setmdbrs=("insertinto入库表(名称,供应商,数量,单价)values('"&(1,2).Text&"','"&(1,3).Text&"',val('"&(1,4).Text&"'),val('"&(1,5).Text&"'))")Setmdbrs1=("select数量from库存where名称='"&(1,2).Text&"'")a=(0)+aSetmdbrs1=("update库存set数量='"&a&"'where名称='"&(1,2).Text&"'")MsgBox"提交成功!",vbInformation,""CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton3_Click()OnErrorGoTofinishIfgridedit1=FalseThenMsgBox"当前修改操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfFori=1To-1Setmdbrs=("update入库表set名称='"&(i,2).Text&"',供应商='"&(i,3).Text&"',数量=val('"&(i,4).Text&"'),单价=val('"&(i,5).Text&"')whereid=val('"&(i,1).Text&"')")NextMsgBox"修改的数据己经完成",vbInformation,"完成操作"CallcallmainExitSubfinish:MsgBoxEndSubPrivateSubXPButton4_Click()OnErrorGoTofinishDimiAsIntegerIfgriddelete1=FalseThenMsgBox"当前修改操作不被允许!",vbInformation,"非使用对象"ExitSubEndIfIfhang=0ThenMsgBox"没有选择入库信息或者没有入库信息可以删除!",vbInformation,"非使用对象"ExitSubEndIfSetmdbrs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论