(精品)商场管理系统(2013年优秀毕业设计)_第1页
(精品)商场管理系统(2013年优秀毕业设计)_第2页
(精品)商场管理系统(2013年优秀毕业设计)_第3页
(精品)商场管理系统(2013年优秀毕业设计)_第4页
(精品)商场管理系统(2013年优秀毕业设计)_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

大学毕业设计论文课题 商场管理系统姓 名 学 科 专 业 . 指 导 教 师 日期: 2005年5月-前言-商场管理系统是一个商场不可缺少的部分,它的内容对于商场的决策者和管理者来说都至关重要,所以商场管理系统应该能够为用户提供充足的信息和快捷的销售,查询手段。但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对品质信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高商场管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套商场管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。-摘要-商场管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本系统主要完成对商场的管理,包括进货管理,销售管理,库存管理和员工管理四个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统的核心是销售、库存查询和进货管理三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成销售或进货操作时系统会自动地完成相对应信息的修改。查询功能也是系统的核心之一,在系统中主要根据商品编号和商品名称等进行查询,其目的都是为了方便用户使用,以求更快的查找到各个物料和产品品质的基本信息。系统有完整的用户添加、删除和密码修改功能,系统采用Microsoft Office中的Access 2000来设计数据库,并使用当前优秀的开发工具VB 6.0 ,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。英文摘要SummaryThis system chiefly accomplishes the stock management to the storehouse,includes being put in storage, goes out the warehouse and stocks, and staffs information, six aspects such as suppliers information as well as cryptogram management etc. What the system can accomplish to various kind the information glances over and the function such as inquires about, adds, deletes andmodification etc.The systematic nucleus is is put in storage, stocks and goes out the contact between the warehouse, and when accomplishes being put in storage or going out a warehouse, the system can accomplish voluntarily the modification of stock to other table of influence that the modification of every table all will be linkageed when operating. Inquiring about the function also is one of systematic nucleus, namely having the wallscroll spare to inquire about and inquires about with many conditions in the system, also having accurately the query to inquire about with bluring, not only there is the condition query of static state in the system, also having the condition query of trends formations, his purpose all is using for convenient user. The system has completeuser to add, deletes and the cipher modification function, and has the reportform andprints the function.The Access 2000 that the system adopted among Microsoft Office comesthe design data warehouse, and use before one zorch development tool - VB6.0, it has the most nimble data base structure, and the application has thegood support to the data warehouses.The development background of this the subject, course of function and the development that will be accomplished were chiefly introduced to thesis.The emphatic explanation focal point of systems design, design thought and difficult point technology and settlement scheme.The keyword: the data base, SQLs language, vb6.0,s data base package, theWarehouse management.关键字:控件、窗体、数据库,visual basic语言,商场,商品目录引言.1第一章 Visual basic 6.0 简介. 21.1 Visual basic 6.0 简介.21.2 ACCESS数据库介绍. 31.3 ADO技术. 31.4 SQL语言.4第二章 商场管理系统. . 62.1系统分析.62.2 数据库设计.72.3系统功能介绍.924 流程图和E-R图设计.102.5系统演示. .14第三章 系统测试. .20结束语. . .24参考文献. . .25代码清单. . .27附图引言本软件使用Microsoft Visual Basic 6.0进行编写。数据库技术的产生与发展源于对于数据的组织和管理。数据库技术是数据管理的技术,它随着数据管理任务的需要而产生于20世纪60年代中期。这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识。数据库技术的基本思想是对数据实行集中,统一,独立的管理,用户可以最大限度的共享数据资源。数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上的数据和数据库应用程序构成的数据处理系统。数据库系统是由数据,数据库管理系统,应用程序,用户组成。数据库的特点:1.实现数据共享 2.实现数据独立3.减少了数据冗余度 4.避免了数据不一致性5.加强了对数据的保护。数据库应用系统(DATABASE APPLICATION SYSTEMS DBAS)1 管理信息系统2 开放式信息服务系统一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。第一章 系统实现的理论基础1.1 VISUAL BASIC 6.0 简介Visual Basic作为当今社会功能强大的可视化开发工具具有以下几大特点:(1)成功的简化了界面的设计过程。它在Windows平台上提供了图形用户界面(GUI)的集成开发环境(IDE)。在集成开发环境中,你可以选择想要显示的工具栏,将按钮添加并移动到工具栏中,在不固定的或固定的工具栏中以及SDI或MDI界面中进行选择,Visual Basic的IDE就像飞机的坐舱,完成你工作所需的所有量表和仪器都已经配备好了。采用简单易学的Basic语言,它既适用于没有任何编程经验的开发者学习,也适合于开发各种复杂的底层应用程序,使用Basic语言编写的应用程序简洁灵巧易于维护,可以说它是一种“天生结构化”的语言。(2)提供了多种向导。利用这些向导,可以快速地完成一般性的任务,例如生成其控件不绑定到数据控件上的纯代码窗体,建立查询,添加工具,制作图表,以及发布创建的应用程序等,这样可以大大加快应用程序的开发过程。(3)具有强大的数据和字符串处理功能。Visual Basic还是一种易于扩充功能的开发系统。一方面,它可以使用第三方厂家提供的各种Visual Basic使用的控件;另一方面,开发者也可以使用其他编程语言编写自己所需的控件,因此它是一种可以不断扩充功能的开发系统。(4)提供了IntelliSense技术。当你在Visual Basic的代码窗口敲进对象名称的时候,IntelliSense技术会自动向你显示一些相关的信息,例如对象的属性和方法等。当一种方法或函数的参数被输入时,IntelliSense有助于确保开发者们为Visual Basic提供正确的变量以及帮助用户自己编写正确的函数。IntelliSense也有助于提高开发者们的开发能力,因为他们此时不必再记忆那些复杂的对象属性及函数参数了。1.2 ACCESS数据库介绍Microsoft Access 是微软公司开发的第一个面向Windows平台的桌面数据库管理系统,它充分利用了Windows平台的优越性,如图形界面和Windows的事件驱动机制等。作为Microsoft的office套件产品之一,access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型积极大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。1.3 ADO技术 Active Data Objects(ADO)微软最新的数据库访问技术,它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提高通用数据访问(Universal Data Access).OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation的封装接口。对那些熟悉RAO的程序员来说,可以把OLE DB比作是ODBC驱动程序。如同RAO对象是ODBC驱动程序接口一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB Provider)。ADO最重要的三个对象是:Connection, Command, Recordset。(1) Connection对象Connection对象用于建立与数据库的连接。通过连接可从应用程序访问数据源。它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息。(2) Command对象在建立Connection后,可以发出命令操作数据源。一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。(3) Recordset对象Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行,移动行、添加、更改、删除记录。1.4 SQL语言SQL语言是一种介于关系代数与关系演算之间的结构化查询语言,其功能不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时有简单易学的语言。SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:(1) 综合统一数据库系统的主要功能是通过数据库支持的数据语言来实现的。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而是系统具有良好的可扩展性。(2)高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。(3)面向集合的操作方式非关系数据模型采用的是面向记录的操作方式,操作对象是一记录。例如查询所有平均成绩在80分以上的学生姓名,用户必须一条一条地把满足条件的学生记录找出来(通常要说明具体处理过程,即按照哪条路径,如何循环等)。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提出两种使用方式SQL语言既是自含试语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语言能够嵌入到高级语言(例如C、COBOL、FORTRAN)程序中,供程序员设计程序时使用。而在两中不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。(5)语言简捷,易学易用 SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只使用了9个动词:数据查询(SELECT)、数据定义(CREATE,DROP,ALTER)、数据操作(INSERT,UPDATE,DELETE)和数据控制(GRANT,REVOKE)。SQL语言接近英语口语,因此容易学习,容易使用。第二章 需求分析2.1系统分析作为一个商场管理系统,其功能是实现商场中商品的进货销售,库存等管理的系统化、规范化和自动化。本系统主要要完成的功能有:(1)交易管理:包括进货登记、销货登记、退货登记等。其中进货登记中还包含进货商登记,如过是新的进货厂商,可以直接在此登记入库。进货和销售的主要交易都是在此进行。每次交易(包括进货、销货和退货)都需要对商品名称、生产厂商、商品型号、单价、数量、总金额、交易日期、经手业务员编号等各项记录。在交易过程中,程序的编写尽可能的方便员工进行交易,比如:进货登记时,如果商品编号相同,则自动添加该商品的其它属性;销货登记时,用户只要输入商品编号,该商品的其它属性即可自动出现。退货登记时,只要输入正确的销货编号,其销售信息也将自动列出,尽量的方便了用户的操作,同时对于登陆的员工编号程序也自动的将其列在进货登记、销货登记中,已防止员工进行非正常的交易。(2)进货统计:包括今日进货统计、本月进货统计、本季度进货统计、本季度进货统计、本年度进货统计等。其中每次进货统计都是按进货厂商和进货总金额统计显示的。使用一个表格显示所选时间段的全部进货数据,包括进货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进货总金额。(3)销货统计:包括今日销售统计、本月销售统计、本季度销售统计、本年度销售统计等,其中每次销售统计都是按生产厂商和销售总金额统计显示的。使用一个表格显示所选时间段的全部销售数据,包括销货编号、商品名称等。再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的销售总金额。(4)查看数据表:实现各种数据表的浏览,包括进货表,商品库存表、销售表、退货表、员工表、进货商表等。对于员工表管理员还可以对其进行删除或添加用户操作。(5) 系统管理: 包括更换用户、修改密码、退出系统等。更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然,同时方便了普通用户的交接班使用本系统。修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了。(6) 其它窗体: 包括主窗体、登陆窗体、系统初始化窗体。主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中。登陆窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,已防止其它的非法人员使用该系统。并对登陆的用户做一下权限的区别:分为管理员和普通员工。系统初始化窗体的主要目的是:在本系统的试运行阶段成功后是管理员可以直接把除了员工表以外的所有数据表的内容清零。登陆窗体中设计了一个权限,可以区分是员工登陆还是管理员登陆,如果是管理员则提示是否进行系统初始化,否则直接进入主窗体。其功能模块图请查看附图。2.2数据库设计上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。开发本系统中使用的数据库系统是Windows Access 2000 。从上面的功能分析不难看出本系统需要建立以下几个数据表:buy表(进货表)、goods表(现存商品表)、sell表(销售表)、retreat表(退货表)、employee表(员工表)、manufacturer表(进货商表)。由于数据量比较小,所以这些数据表都存在一个数据库下:sellsystem.mdb 下面对各个数据表的结构做一下简单介绍:在系统的数据库设计中,进货表、销货表、商品库存表和退货表涉及了交易管理三个子菜单的绝大部分数据,是本系统数据库的核心,所以将对其部分表的设置列表显示。Manufacturer表(进货商表)中包括有厂商编号、厂商名称、联系人姓名、电话、厂商地址等字段,表略。employee(员工表)中包括有员工编号、员工姓名、员工密码、员工电话、员工地址等字段,表略。buy表(进货表)中包括有进货编号、商品编号、商品名称、生产厂商、型号、数量、进货价、进货年、进货月、进货日、总金额、业务员编号等。设计该数据表的主要目的是方便管理员的查看,使系统的数据管理能够更加层次化。具体设置如表3-1所示。表3-1 buy表字段名数据类型说明进货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币进货年数字整型进货月数字整型进货日数字整型业务员编号文本字段大小为20总金额货币货币goods表(现存商品表)中包括有商品编号、生产厂商、商品名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等字段。具体设置如表3-2所示。表3-2 goods表字段名数据类型说明商品编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币销货价货币货币sell表(销货表)中包括有销货编号、商品编号、商品名称、生产厂商、型号、数量等字段,由于篇幅有限,其表略。 retreat表(退货表)中包括有退货编号、销货编号、生产厂商、商品名称、型号、单价、数量、总金额、退货年、退货月、退货日、业务员编号等。具体设置如表3-3所示。表3-3 retreat表字段名数据类型说明退货编号文本字段大小为20销货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20单价货币货币数量数字长整型总金额货币货币退货年数字整型退货月数字整型退货日数字整型业务员编号文本字段大小为202.3系统功能介绍(1)登陆窗体 该登陆窗体对用户登陆做了一个简单的判断,如果是管理员登陆则可进入初始化界面,然后再进入主界面。 具体做法是:先在窗体级中定义一个记录集,用于打开employee表,打开后将该表中的字段:员工姓名,依次加到combo1中。全加入后关闭记录集,然后对combo1和text1中的内容做一下简单判断:如果combo1和text1中的数据正好和employee表中的某个记录相同,则通过登陆窗体,否则提示用户用户名或密码有误。在通过登陆窗体中还要对用户名做一下判断:如果是管理员登陆,则进入系统初始化窗体,如果是普通用户登陆,则进入主界面。(2) 初始化窗体 该初始化窗体为本系统的使用者提供了试运行服务,如果使用者试运行后决定正式使用,可以通过管理员登陆本窗体对系统进行初始化,即清空试运行阶段的所有销售数据。具体实现过程为:定义5个记录集,其每一个记录集控制一个数据表的打开与关闭操作,其记录集的取名与数据表相近:rs_sell, rs_buy, rs_goods, rs_retreat,rs_manufacturer.当管理员点击是标签时,先出现一个消息框,问管理员是否真的要进行初始化。如果是,则5个记录集依次连接到5个数据表上,然后对每个数据表的内容进行删除操作。具体删除方法为:先对表的状态进行判断,如果某个数据表的内容为空,则直接关闭记录集,以免多步操作数据表出现错误;如果该数据表不为空,则依次删除该数据表的每一个记录,对于每一个数据表都要做此判断,并且每打开一个新的数据表都要关闭上一个数据表,这样操作起来层次显得比较清晰,而且维护起来也比较方便。(3)主窗体 主窗体的建立十分简单,只需将所要实现的功能编辑成菜单即可。该窗体的运行过程为:用户首先进入登陆窗体,如果是管理员登陆,则先进入初始化窗体,经过判断是否需要初始化后,进入主窗体。其权限为:销货统计、进货统计、查看数据表和系统管理。其权限的设置使管理员能够方便的查看任何时间段内的所有信息,还可以对员工表进行管理。如果是普通用户登陆,则直接进入主窗体,其授予的权限只有交易管理和系统管理,也就是说员工只能负责对商品进行如库登记、销货登记和退货登记,另外在一个员工对本系统使用的整个期间内,进货登记、销货登记和退货登记三个窗体中的显示的业务员编号都由系统自动给出的该员工的员工编号。(4)进货登记窗体 本窗体用来实现商品进货功能,将进货信息添加到buy表,再将该信息选择性的加入goods表。如果是新的进货厂商,可以在此入库登记。其具体实现过程如下所述:先在窗体级变量中定义三个记录集:rs_buy,rs_goods,rs_manufacture用来控制三个数据表:buy表,goods表,manufacturer表。在用户点击添加商品中的添加入库操作之前,程序先会检查是否有用户是否有个别属性为空,并做出提示。然后将商品添加到buy表中,再添加到goods表。在添加到goods表时,程序会先判断该商品编号是否已经存在,如果存在则直接将该添加信息的数量加到goods表中相应的记录上。为此,进货编号、商品编号是buy表、goods表中不可重复的属性。为方便用户操作,程序特在商品编号的文本框:text2的Change事件中做了一个判断,即如果该商品编号存在的话直接显示该商品的其他属性。另外,对于总金额文本框也是由数量和进货价两个文本框的Change事件计算入内的。如果是新的进货商,可以将它的信息添加到进货商表。其过程和上面所说的添加到buy表基本相同,这里就不做介绍了。(5) 销货登记窗体 本窗体主要功能是对商品进行销售,首先对员工输入的销货信息进行完整条件的判断,条件符合后进行销售。然后将销售信息存入sell表,并对goods表的数量做相应修改。 具体实现过程为:先在窗体集中定义两个记录集:rs_sell,rs_goods,用来控制两个数据表:sell表和goods表。在销货窗体中,如果用户输入的商品编号已经存在,则该商品的其它属性将随着text2(即商品编号)的Change事件出现在其对应的位置上。而销售日期和业务员编号已经是程序默认给出的系统时间和登陆员工的编号。在判断没有空缺属性后该商品将顺利添加如库,而且该商品在goods表中的数量也将随之做相应的改变,使goods表和sell表的总和保持原来goods表中的数量值。(6)退货窗体 本窗体的功能是实现商品退货功能,当人为判断某商品可以退货时即可将该商品退货。其数据库实现为:先将该信息加入retreat表,然后从sell表中减掉,最后对goods表的数量做一下调整即可。其具体实现过程是:先在窗体集中定义三个记录集:rs_sell,rs_goods,rs_retreat用来控制三个数据表:sell表、goods和retreat表。在退货窗体中,如果用户输入的销货编号存在,则关于该商品的销售信息将依次出现在相应的对话框中。退货成功后,该退货信息先添加到退货表,然后将其退货数量从相应的sell表中减掉,并添加到goods表中。(7)进货统计菜单 进货统计菜单下有4个子菜单,分别是今日进货统计、本月进货统计、本季度进货统计、今年进货统计。由于他们的界面非常相似,本程序中使用了一个SSTab控件以选项卡的形式在一个窗体中实现以上4个子菜单。这样做使窗体显得更加美观。为项目添加了必要的控件之后,开始进行界面设计。先在窗体上添加一个SSTab控件,单击鼠标右键在快捷菜单中选择”属性”命令。将其选项卡的数目定为4个,标题分别为:今日进货、本月进货、本季度进货、本年度进货。由于每个选项卡的界面都一样,现以”今日进货”选项卡为例,加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是才用的相对路径与sellsystem的buy表连接的,两个Adodc连接的SQL语句分别如下:select * from buyselect 生产厂商,sum(总金额) as 各厂商进货总金额 from buy group by 生产厂商。(8)销货统计窗体 销售统计菜单下有4个子菜单,分别是今日销货、本月销货、本季度销货、今年销货。由于它们的界面非常相似,本程序中使用一个SSTab控件以选项卡形式在一个窗体中实现4个子菜单。其界面设计和窗体说明与进货统计大同小异,也一样一个选项卡为例进行说明,现以”今日销货”为例:加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件。其中两个Adodc的数据源连接都是采用的相对路径与sell表连接的,两个Adodc连接的SQL语句分别如下:select * from sellselect 生产厂商,sum(总金额) as 各厂商销货总金额 from sell group by 生产厂商。 (9)查看进货表 其界面的设计比较简单,只是一个datagrid控件,一个Adodc控件(已隐藏)和四个Command控件。本窗体的主要设计在于其四个命令按纽在进货表为空时不可用。(10)查看进货表 本窗体的主要设计目的是设置一个查询商品库存表的条件 。具体操作为:为查询现存商品表设立了一个简单的查询条件,一个是直接显示现存的全部商品表,一个是按条件对现存商品进行查询,用户可以根据自己需要按商品名称或生产厂商分别进行查找。该窗体的实现是要在窗体集的变量中设置一个记录集rs_goods,用来控制goods表,然后将记录集在打开窗体时的select语句设为与本窗体的text1和text2有关的SQL语句。然后让现存商品表显示出来。(11)管理员工表 本窗体的制作目的在于方便对管理员用户的管理, 本节前面曾经提过系统初始化的功能,但其初始化并不能对员工表进行操作,当管理员登陆本系统时,可以访问此窗体,对用户表进行维护。但不能对管理员进行删除操作,此操作已被本人屏蔽。 (12)更换用户功能 在一个商场可能会存在员工交接班的现象,为了方便用户交接班的操作顺利进行,在系统管理模块中做了一个更换用户子菜单,该子菜单便顺利的实现了此功能,而且它也方便了管理员的登陆管理。(13)修改密码 为了方便用户使用,在本模块中还设置了一个修改密码窗体,该窗体主要包括一个用户名输入、一个原密码输入和两个新密码输入。此窗体实现的功能是显而易见的,方便了用户的操作,增加了系统使用的安全性。具体做法是:先要求用户将四个必填项填写完整,然后对两个新密码进行相同判断,如果相同,则将记录集rs_employee打开,对用户名和原密码进行核对,如果相同,就将老密码替换为新密码。本节总结:对于本商场管理系统功能的实现,重点和难点有以下几处:交易管理模块:在本模块中,对于商品的进货、销货和退货操作时,都要注意其操作过程中商品数量及其它属性的变化,本人在制做此模块时,采用了指导教师的提供给我的思想:进货登记时,将进货信息添加到进货表中。然后对商品库存表的编号进行判断,如果进货信息的商品编号存在,则将商品库存表中相应记录的商品数量做对应调整;如果商品编号不存在,则直接将进货信息添加到商品库存表中。销货登记时,先将商品的销货信息添加到销货表中,然后将商品库存表中响应的商品的数量做相对调整,保证商品数量的一致性。退货登记时将退货信息添加到退货表中,然后将退货数量从销售表中减掉,最后将退货数量加到商品库存表中。在本系统管理员登陆时,显示给管理员的第一个界面:系统初始化也是本系统的又一大功能特色,其实现过程中要严格控制每一个记录集对相应数据表的打开与关闭操作。2.4程序流程图和E-R图设计登录界面是是面界主面界主查看数据表销售统计进货统计退货登记销售登记进货登记是是否管理员否各模块的E-R图设计:1交易管理模块:用于管理商品的进货,销售,退货登记的操作。实体E-R图如下: 交易管理 销售登记退货登记进货登记 2进货统计管理:主要用于对商品每日,每月,第季度,每年的进货情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下: 进货统计管理 本季度进货今年进货本月进货今日进货3销售统计管理:主要用于对商品每日,每月,第季度,每年的销售情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态。实体E-R图如下:销售统计管理 本季度销售今日销售今年销售本月销售4查看数据表:主要能查看进货表,商品信息表,销售表,退货表等进行查看,以实现对商品信息的及时了解。实体E-R图如下:查看数据表 进货商表管理员工表进货表退货表销售表现存商品表2.4系统演示 图2-1 登陆窗体管理员登陆 进入系统初始化界面 图2-2 系统初始化窗体图2-3 管理员主界面管理员权限:进货统计、销货统计、查看数据表、系统管理。进货统计界面图2-4 进货统计窗体销货统计界面图2-5 销货统计界面 进货表界面图2-6 进货表窗体 销售表、退货表、商品库存表、进货商表与进货表基本相同,表略。 查询库存表界面 修改密码界面图2-7 查询现存商品窗体 图2-8 修改密码窗体管理员工表界面图2-9管理员工表窗体关于界面图2-10关于窗体当普通用户登陆本系统时,其权限只有主界面的交易管理和系统管理。下面列出交易管理模块中的三个窗体。销货界面 图2-11 添加销货信息窗体退货界面图2-12 添加退货信息界面进货界面图2-13 添加进货信息窗体第三章 系统测试本章是对商场管理系统进行全面测试,目的在于屏蔽掉系统无法识别的多种非法操作。已防止在用户对本系统进行使用时错误操作造成系统出错。在本商场管理系统所有界面和功能都已设计完毕后,需要对其进行一下测试,以屏蔽掉许多的非法操作,进一步完善本商场管理系统。具体测试结果如下:(1)对交易管理模块进行测试:在进货登记窗体中,发现对于进货编号系统需要对其进行唯一设定,即入库登记时进货编号应是buy(进货表)表中所没有的。所以需要先屏蔽掉该处的非法操作。具体做法是:在窗体级变量中定义一个变量rs_buy,作为对buy(进货表)表的记录集。让记录集连接到一个指定进货编号为进货登记窗体中文本框text2的text属性的值的进货表记录中,如果该记录的编号与正在添加的进货信息中的进货编号一致,则提示用户该编号已无法使用。如图5-1所示: 图5-1其实现主要代码如下所示:Dim rs_buy As New ADODB.Recordset 定义连接buy表的记录集Dim str_buy As String 定义连接SQL的连接字符串Private Sub Command1_Click() 单击商品入库按钮事件str_buy = select * from buy where 进货编号= & Text1.Text & rs_buy.Open str_buy, cnn, adOpenStatic, adLockOptimistic If rs_buy.EOF = True Thenrs_buy.AddNew rs_buy.Fields(进货编号) = Text1.Text将进货信息添加到buy(进货表)表中rs_buy.Updaters_buy.Close 关闭进货表ElseMsgBox 此进货编号已存在,请重添!, vbOKOnly + vbInformation, 注意Text1.Text = Text1.SetFocus rs_buy.Close Exit SubEnd IfEnd Sub 对于进货信息入库操作中,需要对商品编号进行核对,如果新输入的商品编号为goods表所有,则直接将该添加信息的数量添加到goods表相对应的记录上即可。同时为了方便用户的操作,在输入商品编号的文本框text2的Change事件里设定了关于已存在商品编号的处理:将该商品的其它属性自动添加到该窗体的对应文本框中。进货商信息的添加一样需要屏蔽掉相同的厂商编号。 在销货登记窗体中,销货编号也要保持其唯一性,具体做法与上面所说的屏蔽进货编号大体一致,这里就不在说明了。同时为了方便用户的操作,在输入商品编号的文本框text2的Change事件里设定了关于已存在商品编号的处理:将该商品的其它属性自动添加到该窗体的对应文本框中。进货商信息的添加一样需要屏蔽掉相同的厂商编号。在退货登记窗体中,先对退货编号的唯一性进行一下设定,具体做法同进货编号唯一性的设定一致,这里也不在详细说明了。(2)对进货统计模块的测试:由于本模块中四个字菜单的窗体界面大体一致,所以我只对其一个界面的测试进行一下介绍:在今日进货子菜单中,首先发现在buy表为空的时候,8个命令按纽的点击将产生非法操作,也就是记录集无法实现上下移动。具体修改操作如下:先定义一个窗体集的变量rs_buy,用来对进货表进行操作,将该记录集要打开的SQL语句中添加一个buy表的打开操作,如果打开该窗体发现没有记录,则将8个Command命令按纽的Enable属性设为False。其它三个子菜单的测试也产生了同样的错误,也需要对3个子菜单中的8个Command命令按纽进行相对屏蔽,在这里就不详细介绍了。其相关代码如下所示:Dim rs_buy As New ADODB.Recordset 定义连接buy表的记录集Dim str_buy As String 定义连接SQL的连接字符串Private Sub mnBuyToday_Click() 单击今日进货统计菜单事件strbuy = select * from buy where 进货年= & inty & and 进货月= & intm & and 进货日= & intd & rs_buy.Open strbuy, cnn, adOpenKeyset, adLockPessimisticfrmBuyall.Adodc1.RecordSource = strbuy frmBuyall.Adodc1.RefreshfrmBuyall.DataGrid1.ReBindIf rs_buy.EOF = True ThenfrmBuyall

温馨提示

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

评论

0/150

提交评论