还剩67页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
超市管理信息系统设计与实现摘要超市管理信息系统是典型的信息管理系统MIS其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面系统使用MICROSOFT公司的VISUALBASIC开发工具主要完成对超市的管理,包括进货管理,销售管理,库存管理和员工管理四个方面系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能系统的核心是销售、库存查询和进货管理三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成销售或进货操作时系统会自动地完成相对应信息的修改系统有完整的用户添加、删除和密码修改功能,系统采用MicrosoftOffice中的Access2000来设计数据库,它有着最为灵活的数据库结构,对数据库应用有着良好的支持论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程重点地说明了系统设计的重点、设计思想、难点技术和解决方案关键字控件、窗体、数据库,visualbasic语言,超市,商品ABSTRACTThesupermarketmanagementinformationsystemisthetypicalinformationmanagementsystemMISItsdevelopmentmainlyincludesthebackenddatabasetheestablishmentandthesafeguardingaswellasfrontendtheapplicationprogramdevelopmenttwoaspects.ThissystemuseMICROSOFTCorporationVISUALBASICdevelopmentkitmainlycompletestothesupermarketcontrolincludingstockswithgoodsthecontrolthesalescontrolthestockmanagementandthestaffcontrolsfouraspects.Thesystemmaycompletetoeachcategoryoffunctionandsooninformationbrowseinquiryincreasedeletionmodification.Thesystemcoreisthesalethestockinquiresandstockswithgoodscontrolsthreebetweentherelationeachtablemodificationalllinkageinfluenceothertableswhencompletesthesaleorstockswithgoodstheoperationthesystemtobeableautomatedlytocompletecorrespondstheinformationthemodification.ThesystemhastheintegritytheusertoaddthedeletionandthepasswordmodificationfunctionthesystemusesinMicrosoftOfficeAccess2000todesignthedatabaseithasthemostflexibledatabasestructurehasthegoodsupporttothedatabaseapplication.Thepapermainlyintroducedthistopicdevelopmentbackgroundmustcompletefunctionanddevelopmentprocess.Keyexplanationsystemdesignkeypointdesignthoughtdifficulttechnologyandsolution.Keyword:widgetformsthedata-basevisualbasiclanguagetheWarehousemanagementmenchandise.目录TOC\o1-3\h\z\u摘要IABSTRACTII目录III引言1第一章系统需求分析
21.1开发背景
21.2系统分析
31.3系统可行性分析
41.4系统开发应用的关键技术及软件说明6第二章系统功能设计
102.1系统功能
102.2程序流程图10第三章系统数据库设计
133.1数据库的概念
133.2创建数据库文件
143.3怎样创建一个数据表
153.4VB连接ACCESS2000数据库
163.5数据库设计17第四章详细设计20系统功能的详细设计与实现
204.1窗体设计
204.2主界面设计
224.3交易管理单元设计
234.4进货、销货统计管理单元设计
334.5查看数据表单元设计
384.6系统管理单元设计45第五章系统测试与设计要点
495.1本次毕业设计的重点、难点、与创新点
495.2测试实例的选择研究
495.3测试环境
525.4测试结果及测试结果分析52总结53致谢55参考文献56附录部分源程序57引言超市管理信息系统是一个超市不可缺少的部分它的内容对于超市的决策者和管理者来说都至关重要所以超市管理信息系统应该能够为用户提供充足的信息和快捷的销售,查询手段但一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难随着科学技术的不断提高计算机科学日渐成熟其强大的功能已为人们深刻认识它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分使用计算机对品质信息进行管理具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高超市管理的效率也是企业的科学化、正规化管理与世界接轨的重要条件因此,开发这样一套管理软件成为很有必要的事情在下面的各章中我们将以开发一套超市管理信息系统为例谈谈其开发过程和所涉及到的问题及解决方法第一章系统需求分析
1.1开发背景随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,超市管理的全面自动化、信息化则是其中极其重要的部分为了加快超市管理自动化的步伐,提高超市的管理业务处理效率,建立超市管理信息系统已变得十分必要将计算机这一信息处理器应用于超市的日常管理已是形式所逼,而且这也将为超市管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力采用计算机管理信息系统已成为超市管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益主要体现在极大提高了超市工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入超市的信息管理的操作自动化和信息的电子化,全面提高了超市的管理水平入库、库存、出库还是现在企业超市管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的所以如何设计好超市管理信息系统,尽可能地减少超市管理的重复性和低效性就成为当前最为重要的问题超市供销管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分另外,经办人信息和厂家信息管理也是超市信息管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用通过对超市管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本系统是一个适应现今超市供销管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值超市管理信息系统的框架图认识商品订货确认订货报表消费纪录单订货报表结销帐售盘数点量图
1.1超市管理信息系统的框架图
1.2系统分析作为一个超市管理信息系统,其功能是实现超市中商品的进货销售,库存等管理的系统化、规范化和自动化本系统主要要完成的功能有
(1)交易管理包括进货登记、销货登记、退货登记等其中进货登记中还包含进货商登记,如果是新的进货厂商,可以直接在此登记入库进货和销售的主要交易都是在此进行每次交易(包括进货、销货和退货)都需要对商品名称、生产厂商、商品型号、单价、数量、总金额、交易日期、经手业务员编号等各项记录在交易过程中,程序的编写尽可能的方便员工进行交易,比如进货登记时,如果商品编号相同,则自动添加该商品的其它属性;销货登记时,用户只要输入商品编号,该商品的其它属性即可自动出现退货登记时,只要输入正确的销货编号,其销售信息也将自动列出,尽量的方便了用户的操作,同时对于登陆的员工编号程序也自动的将其列在进货登记、销货登记中,以防止员工进行非正常的交易
(2)进货统计包括今日进货统计、本月进货统计、本季度进货统计、本年度进货统计等其中每次进货统计都是按进货厂商和进货总金额统计显示的使用一个表格显示所选时间段的全部进货数据,包括进货编号、商品名称等再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的进货总金额
(3)销货统计包括今日销售统计、本月销售统计、本季度销售统计、本年度销售统计等,其中每次销售统计都是按生产厂商和销售总金额统计显示的使用一个表格显示所选时间段的全部销售数据,包括销货编号、商品名称等再使用另一个表格显示分别从各个厂商进货的金额,还有一个文本框用于显示次时间段的销售总金额
(4)查看数据表实现各种数据表的浏览,包括进货表,商品库存表、销售表、退货表、员工表、进货商表等对于员工表管理员还可以对其进行删除或添加用户操作5系统管理包括更换用户、修改密码、退出系统等更换用户的操作方便了用户的使用,同时更加方便了管理员对于系统数据的查询,可以做到随时查看,以使管理员对帐目一目了然,同时方便了普通用户的交接班使用本系统修改密码和退出系统都是对于系统管理的辅助功能,再这里就不详细说明了6其它窗体包括主窗体、登陆窗体主窗体就是将各个模块的大意列在菜单中,然后通过每一个菜单将其它的窗体逐个对应的连到主窗体中登陆窗体为本系统的启动窗体,其功能是让合法的用户使用本系统,已防止其它的非法人员使用该系统
1.3系统可行性分析
1.管理可行性分析超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可;管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好
2.经济可行性分析超市管理信息系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,短期就能够基本收回开发系统的投资,从经济角度来说,本系统开发完全必要
3.技术可行性分析1硬件PC机(奔3CPU,128M内存,64M显卡,40G硬盘)2软件Windows98/2000/XPVISUALBASIC
6.0Access2003系统本身对硬件和软件的要求都不高且系统兼容性很强,平台的移植性也很好,因此无论在系统的硬件及软件上都满足开发的要求3运行上的可行性●操作简单简单的操作规则使操作人员能轻松掌握●查询方便用户可设定任意条件和任意的查询项目进行检索●统计灵活任意条件下任意项目的产品入库时间、数量等的统计及查询项目均可进行交叉统计●数据维护供应商或销售商信息的录入及商品类别、规格、颜色、名称的输入,可修改、删除、查询●工作方式非实时联网在单机联网系统和多机联网系统中,计算机工作时仍和独立式系统一样,单机完全独立运行系统工作与网络无关,因此系统非常可靠和稳定,避免了因网络故障而导致不能操作的局面
4.社会可行性分析目前超市管理信息系统已经得到了广泛的应用,超市管理需要现代化和信息化,只有合理地运用信息化的管理,才能在市场竞争中立于不败超市管理信息系统不仅能够提高经营者的回报,而且能够随时掌握市场的动向,为经营者提供必要的市场信息,解决了经营者最需要解决的迫切问题,同时管理信息系统对操作人员的素质要求不高,也合理地节约了成本的投入
5.可行性研究结论该拟开发的管理信息系统操作方便灵活,便于学习,因此,该系统具有可行性通过经济、技术、和社会等方面的可行性研究,可以确定本系统的开发完全必要,而且是可行的,可以立项开发
1.4系统开发应用的关键技术及软件说明1.VISUALBASIC
6.0简介VisualBasic作为当今社会功能强大的可视化开发工具具有以下几大特点1成功的简化了界面的设计过程它在Windows平台上提供了图形用户界面(GUI)的集成开发环境(IDE)在集成开发环境中,你可以选择想要显示的工具栏,将按钮添加并移动到工具栏中,在不固定的或固定的工具栏中以及SDI或MDI界面中进行选择,VisualBasic的IDE就像飞机的坐舱,完成你工作所需的所有量表和仪器都已经配备好了采用简单易学的Basic语言,它既适用于没有任何编程经验的开发者学习,也适合于开发各种复杂的底层应用程序,使用Basic语言编写的应用程序简洁灵巧易于维护,可以说它是一种“天生结构化”的语言2提供了多种向导利用这些向导,可以快速地完成一般性的任务,例如生成其控件不绑定到数据控件上的纯代码窗体,建立查询,添加工具,制作图表,以及发布创建的应用程序等,这样可以大大加快应用程序的开发过程3具有强大的数据和字符串处理功能VisualBasic还是一种易于扩充功能的开发系统一方面,它可以使用第三方厂家提供的各种VisualBasic使用的控件;另一方面,开发者也可以使用其他编程语言编写自己所需的控件,因此它是一种可以不断扩充功能的开发系统4提供了IntelliSense技术当你在VisualBasic的代码窗口敲进对象名称的时候,IntelliSense技术会自动向你显示一些相关的信息,例如对象的属性和方法等当一种方法或函数的参数被输入时,IntelliSense有助于确保开发者们为VisualBasic提供正确的变量以及帮助用户自己编写正确的函数IntelliSense也有助于提高开发者们的开发能力,因为他们此时不必再记忆那些复杂的对象属性及函数参数了2.ACCESS数据库介绍MicrosoftAccess是微软公司开发的第一个面向Windows平台的桌面数据库管理系统,它充分利用了Windows平台的优越性,如图形界面和Windows的事件驱动机制等作为Microsoft的office套件产品之一access已经卖出了近700万份成为世界上最流行的桌面数据库系统Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,MicrosoftFoxPro)和服务器、小型积极大型机上的许多SQL数据库Access还完全支持Microsoft的OLE技术Access还提供windows操作系统的高级应用程序开发系统Access与其它数据库开发系统之间相当显著的区别就是您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差
3.ADO技术ActiveDataObjectsADO微软最新的数据库访问技术,它被设计用来同新的数据访问层OLEDBProvider一起协同工作,以提高通用数据访问UniversalDataAccess.OLEDB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象ADO向我们提供了一个熟悉的,高层的对OLEDB的Automation的封装接口对那些熟悉RAO的程序员来说,可以把OLEDB比作是ODBC驱动程序如同RAO对象是ODBC驱动程序接口一样,不同的数据源要求它们自己的OLEDB提供者OLEDBProviderADO最重要的三个对象是:ConnectionCommandRecordset1Connection对象 Connection对象用于建立与数据库的连接通过连接可从应用程序访问数据源它保存诸如指针类型连接字符串查询超时连接超时和缺省数据库这样的连接信息2Command对象 在建立Connection后可以发出命令操作数据源一般情况下Command对象可以在数据库中添加删除或更新数据或者在表中进行数据查询Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用3Recordset对象 Recordset对象只代表一个记录集这个记录集是一个连接的数据库中的表或者是Command对象的执行结果返回的记录集在ADO对象模型中是在行中检查和修改数据的最主要的方法所有对数据的操作几乎都是在Recordset对象中完成的Record对象用于指定行移动行、添加、更改、删除记录
4.SQL语言SQL语言是一种介于关系代数与关系演算之间的结构化查询语言,其功能不仅仅是查询SQL是一个通用的、功能极强的关系数据库语言SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时有简单易学的语言SQL语言集数据查询(DataQuery)、数据操纵(DataManipulation)、数据定义(DataDefinition)和数据控制(DataControl)功能于一体,主要特点包括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程序流程图图
2.1程序流程图各模块功能图设计
1.交易管理模块用于管理商品的进货,销售,退货登记的操作功能图如下图
2.2交易管理模块图2.进货统计管理主要用于对商品每日每月,每季度,每年的进货情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态实体E-R图如下图
2.3进货统计管理图3.销售统计管理主要用于对商品每日每月,第季度,每年的销售情况进行统计管理,此功能只有以管理员的身份进入时才为可用状态实体E-R图如下图
2.4销货统计管理图4.查看数据表主要能查看进货表,商品信息表,销售表,退货表等进行查看,以实现对商品信息的及时了解实体E-R图如下图
2.5查看数据表图第三章系统数据库设计
3.1数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着WorldWideWebWWW的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一数据库技术能使Internet应用超越具有早期应用特点的简单的发布同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法这些技术没有脱离经典数据库技术的要求它们只是加重了数据库技术的重要性数据库的设计和开发及包括艺术有包括工程理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程数据库的目的是帮助人们跟踪事务经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库数据库也被越来越多地应用于生成和维护多媒体应用程序上计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中存储器的容量、存储速率直接影响到数据管理技术的发展从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势通常在数据处理中,计算是比较简单的而数据的管理却比较复杂数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分数据管理技术的优劣,将直接影响数据处理的效率数据库在一个管理信息系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致同时合理的数据结构也将有利于程序的实现设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的
3.2创建数据库文件如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到如下所示图
3.1打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮这些就新建了一个数据库文件图
3.2最后一步就是要选择一个要保存数据库文件的名字和位置点击创建就完成图
3.
33.3怎样创建一个数据表上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了图
3.4出现设计的界面后,就可以开始设计数据表了!图
3.
53.4VB连接ACCESS2000数据库用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处先看看VB是如何与ACCESS2000数据库相连接的SubConnStr连接数据库Setconn=CreateObjectADODB.Connection建立数据库连接对像DBpath=App.Path\data.mdb设置数据的路径conn.OpenProvider=Microsoft.Jet.OLEDB.
4.0;DataSource=DBpath打开数据库连接Setrs=CreateObjectADODB.Recordset设置数据库对像EndSub上面的一段代码就是连接数据库的上面用到了三个变量connDbpathrs其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量声明公用变量的方法如下PublicconnPublicrs上面就是声明为公用变量,上面的声明一定要放在模块的最上面如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错
3.5数据库设计上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少开发本系统中使用的数据库系统是WindowsAccess2000从上面的功能分析不难看出本系统需要建立以下几个数据表buy表进货表、goods表现存商品表、sell表销售表、retreat表退货表、employee表员工表、manufacturer表进货商表由于数据量比较小,所以这些数据表都存在一个数据库下sellsystem.mdb下面对各个数据表的结构做一下简单介绍在系统的数据库设计中,进货表、销货表、商品库存表和退货表涉及了交易管理三个子菜单的绝大部分数据,是本系统数据库的核心,所以将对其部分表的设置列表显示Manufacturer表(进货商表)中包括有厂商编号、厂商名称、联系人姓名、电话、厂商地址等字段,表略employee(员工表)中包括有员工编号、员工姓名、员工密码、员工电话、员工地址等字段,表略buy表(进货表)中包括有进货编号、商品编号、商品名称、生产厂商、型号、数量、进货价、进货年、进货月、进货日、总金额、业务员编号等设计该数据表的主要目的是方便管理员的查看,使系统的数据管理能够更加层次化具体设置如表3-1所示字段名数据类型说明进货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币进货年数字整型进货月数字整型进货日数字整型业务员编号文本字段大小为20总金额货币货币表3-1buy表goods表(现存商品表)中包括有商品编号、生产厂商、商品名称、型号、进货价、销货价、数量、进货年、进货月、进货日、业务员编号、总金额等字段具体设置如表3-2所示字段名数据类型说明商品编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20数量数字长整型进货价货币货币销货价货币货币表3-2goods表sell表销货表中包括有销货编号、商品编号、商品名称、生产厂商、型号、数量等字段,由于篇幅有限,其表略retreat表(退货表)中包括有退货编号、销货编号、生产厂商、商品名称、型号、单价、数量、总金额、退货年、退货月、退货日、业务员编号等具体设置如表3-3所示字段名数据类型说明退货编号文本字段大小为20销货编号文本字段大小为20商品名称文本字段大小为20生产厂商文本字段大小为20型号文本字段大小为20单价货币货币数量数字长整型总金额货币货币退货年数字整型退货月数字整型退货日数字整型业务员编号文本字段大小为20表3-3retreat表第四章详细设计系统功能的详细设计与实现
4.1窗体设计1登陆窗体设计图
4.1登陆窗体该登陆窗体对用户登陆做了一个简单的判断,如果是管理员登陆则可进入初始化界面,然后再进入主界面具体做法是先在窗体级中定义一个记录集,用于打开employee表,打开后将该表中的字段员工姓名,依次加到combo1中全加入后关闭记录集,然后对combo1和text1中的内容做一下简单判断如果combo1和text1中的数据正好和employee表中的某个记录相同,则通过登陆窗体,否则提示用户用户名或密码有误在通过登陆窗体中还要对用户名做一下判断如果是管理员登陆,则进入主界面实现代码如下PrivateSubLabel3_ClickIfCombo
1.Text=ThenMsgBox请输入用户名!vbOKOnly+vbInformation注意Combo
1.SetFocusExitSubElseIfText
1.Text=ThenMsgBox请输入密码!vbOKOnly+vbInformation注意Text
1.SetFocusExitSubEndIfstremployee=select*fromemployeewhere员工姓名=Combo
1.Textand员工密码=Text
1.Textrs_employee.OpenstremployeecnnadOpenStaticadLockOptimisticIfrs_employee.EOF=TrueThenMsgBox用户名或密码错误,请从新输入!vbOKOnly+vbInformation注意Combo
1.SetFocusrs_employee.CloseExitSubElsestrs=rs_employee.Fields员工编号rs_employee.CloseEndIf
4.2主界面设计图
4.3主界面主窗体的建立十分简单,只需将所要实现的功能编辑成菜单即可该窗体的运行过程为用户首先进入登陆窗体,如果是管理员登陆,则先进入初始化窗体,经过判断是否需要初始化后,进入主窗体其权限为销货统计、进货统计、查看数据表和系统管理其权限的设置使管理员能够方便的查看任何时间段内的所有信息,还可以对员工表进行管理如果是普通用户登陆,则直接进入主窗体,其授予的权限只有交易管理和系统管理,也就是说员工只能负责对商品进行入库登记、销货登记和退货登记,另外在一个员工对本系统使用的整个期间内,进货登记、销货登记和退货登记三个窗体中的显示的业务员编号都由系统自动给出的该员工的员工编号
4.3交易管理单元设计1.进货登记窗体图
4.4进货登记窗体本窗体用来实现商品进货功能,将进货信息添加到buy表,再将该信息选择性的加入goods表如果是新的进货厂商,可以在此入库登记其具体实现过程如下所述先在窗体及变量中定义三个记录集rs_buy,rs_goods,rs_manufacture用来控制三个数据表buy表,goods表,manufacturer表在用户点击添加商品中的添加入库操作之前,程序先会检查是否有用户是否有个别属性为空,并做出提示然后将商品添加到buy表中,再添加到goods表在添加到goods表时,程序会先判断该商品编号是否已经存在,如果存在则直接将该添加信息的数量加到goods表中相应的记录上为此,进货编号、商品编号是buy表、goods表中不可重复的属性为方便用户操作,程序特在商品编号的文本框text2的Change事件中做了一个判断,即如果该商品编号存在的话直接显示该商品的其他属性另外,对于总金额文本框也是由数量和进货价两个文本框的Change事件计算入内的如果是新的进货商,可以将它的信息添加到进货商表其过程和上面所说的添加到buy表基本相同,这里就不做介绍了添加商品与厂商的实现代码如下str_buy=select*frombuywhere进货编号=Text
1.Textrs_buy.Openstr_buycnnadOpenStaticadLockOptimisticIfrs_buy.EOF=TrueThenrs_buy.AddNewrs_buy.Fields进货编号=Text
1.Text......rs_buy.Fields总金额=ValText
13.Textrs_buy.Updaters_buy.CloseMsgBox此进货编号已存在,请重添!vbOKOnly+vbInformation注意sql=select*fromgoodswhere商品编号=Text
2.Textrs_goods.OpensqlcnnadOpenStaticadLockOptimisticIfrs_goods.EOF=TrueThenrs_goods.Closestr_goods=select*fromgoodsrs_goods.Openstr_goodscnnadOpenStaticadLockOptimisticrs_goods.AddNewrs_goods.Fields商品编号=Text
2.Text......rs_goods.Fields销货价=ValText
8.Textrs_goods.UpdateMsgBox商品入库成功vbOKOnly+vbExclamationrs_goods.CloseElsenumgoods=rs_goods.Fields数量rs_goods.Fields数量=ValText
6.Text+numgoodsrs_goods.UpdateMsgBox商品入库成功vbOKOnly+vbExclamationrs_goods.CloseEndIf2.销货登记窗体图
4.5销货登记窗体本窗体主要功能是对商品进行销售,首先对员工输入的销货信息进行完整条件的判断,条件符合后进行销售然后将销售信息存入sell表,并对goods表的数量做相应修改具体实现过程为先在窗体集中定义两个记录集rs_sell,rs_goods,用来控制两个数据表sell表和goods表在销货窗体中,如果用户输入的商品编号已经存在,则该商品的其它属性将随着text2即商品编号的Change事件出现在其对应的位置上而销售日期和业务员编号已经是程序默认给出的系统时间和登陆员工的编号在判断没有空缺属性后该商品将顺利添加如库,而且该商品在goods表中的数量也将随之做相应的改变,使goods表和sell表的总和保持原来goods表中的数量值销售按钮代码实现如下str_goods=select*fromgoodswhere商品编号=Text
2.Textrs_goods.Openstr_goodscnnadOpenStaticadLockOptimisticIfrs_goods.EOF=TrueThenMsgBox对不起,此商品型号已无货!请选择其他型!vbOKOnly+vbInformation注意rs_goods.CloseExitSubEndIfrs_goods.CloseIfText
11.Text=ThenMsgBox请填写销货数量!vbOKOnly+vbInformation注意Text
11.SetFocusExitSubEndIfText
12.Text=ValText
6.Text*ValText
11.Textstr_goods=select*fromgoodswhere商品编号=Text
2.Textrs_goods.Openstr_goodscnnadOpenStaticadLockOptimisticnumgoods=rs_goods.Fields数量rs_goods.Fields数量=numgoods-ValText
11.Textrs_goods.Updaters_goods.CloseMsgBox销售成功!vbOKOnly+vbExclamation注意EndSub3.退货窗体图
4.6退货窗体本窗体的功能是实现商品退货功能,当人为判断某商品可以退货时即可将该商品退货其数据库实现为先将该信息加入retreat表,然后从sell表中减掉,最后对goods表的数量做一下调整即可其具体实现过程是先在窗体集中定义三个记录集rs_sell,rs_goods,rs_retreat用来控制三个数据表sell表、goods和retreat表在退货窗体中,如果用户输入的销货编号存在,则关于该商品的销售信息将依次出现在相应的对话框中退货成功后,该退货信息先添加到退货表,然后将其退货数量从相应的sell表中减掉,并添加到goods表中退货按钮的代码实现如下DimsqlAsStringsql=select*fromgoodswhere商品编号=Text
16.Textrs_goods.OpensqlcnnadOpenStaticadLockOptimisticIfrs_goods.EOF=TrueThenrs_goods.Closestr_goods=select*fromgoodsrs_goods.Openstr_goodscnnadOpenStaticadLockOptimistic打开库存表rs_goods.AddNewrs_goods.Fields商品编号=Text
2.Text......rs_goods.Fields销货价=ValText
8.Textrs_goods.UpdateMsgBox退货成功vbOKOnly+vbExclamationrs_goods.Close关闭库存表Elsenumgoods=rs_goods.Fields数量rs_goods.Fields数量=ValText
11.Text+numgoodsrs_goods.UpdateMsgBox退货成功vbOKOnly+vbExclamationrs_goods.CloseEndIf
4.4进货、销货统计管理单元设计1.进货统计菜单图
4.7进货统计菜单进货统计菜单下有4个子菜单,分别是今日进货统计、本月进货统计、本季度进货统计、今年进货统计由于他们的界面非常相似,本程序中使用了一个SSTab控件以选项卡的形式在一个窗体中实现以上4个子菜单这样做使窗体显得更加美观为项目添加了必要的控件之后,开始进行界面设计先在窗体上添加一个SSTab控件,单击鼠标右键在快捷菜单中选择”属性”命令将其选项卡的数目定为4个,标题分别为今日进货、本月进货、本季度进货、本年度进货由于每个选项卡的界面都一样,现以”今日进货”选项卡为例,加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件其中两个Adodc的数据源连接都是才用的相对路径与sellsystem的buy表连接的,两个Adodc连接的SQL语句分别如下select*frombuyselect生产厂商sum总金额as各厂商进货总金额frombuygroupby生产厂商其日进货实现代码如下strfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
5.RecordSource=strfctotalfrmBuyall.Adodc
5.RefreshfrmBuyall.DataGrid
5.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
1.Text=rs_total.Fields进货总金额rs_total.Close2.销货统计菜单图
4.8销货统计菜单销售统计菜单下有4个子菜单,分别是今日销货、本月销货、本季度销货、今年销货由于它们的界面非常相似,本程序中使用一个SSTab控件以选项卡形式在一个窗体中实现4个子菜单其界面设计和窗体说明与进货统计大同小异,也一样一个选项卡为例进行说明,现以”今日销货”为例加入两个datagrid控件,两个Adodc控件,一个Label控件,一个textbox控件和8个command控件其中两个Adodc的数据源连接都是采用的相对路径与sell表连接的,两个Adodc连接的SQL语句分别如下select*fromsellselect生产厂商sum总金额as各厂商销货总金额fromsellgroupby生产厂商其日销售代码实现如下strfctotal=select生产厂商sum总金额as各厂商销售总金额fromsellwhere销售年=intyand销售月=intmand销售日=intdgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
5.RecordSource=strfctotalfrmSellall.Adodc
5.RefreshfrmSellall.DataGrid
5.ReBindrs_fctotal.Closestrtotal=selectsum总金额as销售总金额fromsellwhere销售年=intyand销售月=intmand销售日=intdrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmSellall.Text
1.Text=rs_total.Fields销售总金额rs_total.CloseEndSub
4.5查看数据表单元设计1.查看进货表图
4.9查看进货表其界面的设计比较简单,只是一个datagrid控件,一个Adodc控件(已隐藏)和四个Command控件本窗体的主要设计在于其四个命令按纽在进货表为空时不可用其实现代码如下strfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
5.RecordSource=strfctotalfrmBuyall.Adodc
5.RefreshfrmBuyall.DataGrid
5.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
1.Text=rs_total.Fields进货总金额rs_total.Close2.商品仓库存表用户可以根据自己需要按商品名称或生产厂商分别进行查找,也可以点击显示全部现存商品可以看到如下界面图
4.10商品仓库存表本窗体的主要设计目的是设置一个查询商品库存表的条件具体操作为为查询现存商品表设立了一个简单的查询条件,一个是直接显示现存的全部商品表,一个是按条件对现存商品进行查询,用户可以根据自己需要按商品名称或生产厂商分别进行查找该窗体的实现是要在窗体集的变量中设置一个记录集rs_goods,用来控制goods表,然后将记录集在打开窗体时的select语句设为与本窗体的text1和text2有关的SQL语句然后让现存商品表显示出来其实现代码如下IfText
1.Text=AndText
2.Text=ThenMsgBox请输入查询条件!vbOKOnly+vbInformationExitSubEndIf定义连接库存表条件时的SQL条件句IfText
1.Text=AndText
2.TextThenstrgoods=select*fromgoodswhere生产厂商=Text
2.TextEndIfIfText
1.TextAndText
2.Text=Thenstrgoods=select*fromgoodswhere商品名称=Text
1.TextEndIfIfText
1.TextAndText
2.TextThenstrgoods=select*fromgoodswhere商品名称=Text
1.Textand生产厂商=Text
2.TextEndIfrs_goods.OpenstrgoodscnnadOpenStaticadLockOptimisticIfrs_goods.EOF=TrueThenMsgBox库存商品中不存在此种商品!vbOKOnly+vbInformationText
1.Text=Text
2.Text=Text
1.SetFocusrs_goods.CloseExitSubElsefrmGoodsTable.Adodc
1.RecordSource=strgoodsfrmGoodsTable.Adodc
1.RefreshfrmGoodsTable.DataGrid
1.ReBindfrmGoodsTable.Showrs_goods.Close3.管理员工表图
4.11管理员工表本窗体的制作目的在于方便对管理员用户的管理,本节前面曾经提过系统初始化的功能,但其初始化并不能对员工表进行操作,当管理员登陆本系统时,可以访问此窗体,对用户表进行维护但不能对管理员进行删除操作,此操作已被本人屏蔽添加按钮的实现代码如下strempl=select*fromemployeewhere员工编号=Text
1.Textrs_empl.OpenstremplcnnadOpenKeysetadLockOptimisticIfrs_empl.EOF=TrueThenrs_empl.AddNewrs_empl.Fields员工编号=Text
1.Text......rs_empl.Fields员工地址=Text
6.Textrs_empl.Updaters_empl.CloseElseMsgBox该用户编号已存在请重新输入!vbOKOnly+vbInformation注意rs_empl.CloseExitSubEndIfMsgBox添加用户成功!vbOKOnly+vbInformation删除按钮的实现代码如下PrivateSubCommand7_ClickIfText
7.Text=ThenMsgBox请输入要删除的用户编号!vbOKOnly+vbInformationText
7.SetFocusExitSubEndIfIfText
7.Text=0001ThenMsgBox不能删除管理员帐户vbOKOnly+vbInformation注意Text
7.Text=Text
7.SetFocusExitSubEndIfIfMsgBox真的要删除该用户?vbYesNo+vbQuestion=vbNoThenExitSubEndIfstrempl=select*fromemployeewhere员工编号=Text
7.Textrs_empl.OpenstremplcnnadOpenKeysetadLockOptimisticIfrs_empl.EOF=TrueThenMsgBox该用户编号不存在,请重新输入!vbOKOnly+vbInformationExitSubrs_empl.CloseElsers_empl.Deleters_empl.Updaters_empl.Close
4.6系统管理单元设计1.更换用户功能在一个超市可能会存在员工交接班的现象,为了方便用户交接班的操作顺利进行,在系统管理模块中做了一个更换用户子菜单,该子菜单便顺利的实现了此功能,而且它也方便了管理员的登陆管理2.修改密码图
4.12修改密码为了方便用户使用,在本模块中还设置了一个修改密码窗体,该窗体主要包括一个用户名输入、一个原密码输入和两个新密码输入此窗体实现的功能是显而易见的,方便了用户的操作,增加了系统使用的安全性具体做法是先要求用户将四个必填项填写完整,然后对两个新密码进行相同判断,如果相同,则将记录集rs_employee打开,对用户名和原密码进行核对,如果相同,就将老密码替换为新密码其实现代码如下PrivateSubCommand1_ClickIfText
1.Text=ThenMsgBox请填写用户名!vbOKOnly+vbInformation注意Text
1.SetFocusExitSub......EndIfIfText
3.TextText
4.TextThenMsgBox两次输入的密码不同,请重新输入!vbOKOnly+vbInformationText
3.Text=Text
4.Text=Text
3.SetFocusExitSubEndIfstremployee=select*fromemployeewhere员工姓名=Text
1.Textrs_employee.OpenstremployeecnnadOpenStaticadLockOptimisticIfrs_employee.EOF=TrueThenMsgBox用户名或原密码有错误!vbOKOnly+vbExclamationText
1.Text=Text
2.Text=Text
1.SetFocusrs_employee.CloseElsers_employee.Fields员工密码=Text
3.Textrs_employee.UpdateMsgBox修改密码成功!vbOKOnly+vbInformationrs_employee.CloseUnloadMe本节总结对于本超市管理信息系统功能的实现,重点和难点有以下几处交易管理模块在本模块中,对于商品的进货、销货和退货操作时,都要注意其操作过程中商品数量及其它属性的变化,本人在制做此模块时,采用了指导教师提供给我的思想进货登记时,将进货信息添加到进货表中然后对商品库存表的编号进行判断,如果进货信息的商品编号存在,则将商品库存表中相应记录的商品数量做对应调整;如果商品编号不存在,则直接将进货信息添加到商品库存表中销货登记时,先将商品的销货信息添加到销货表中,然后将商品库存表中响应的商品的数量做相对调整,保证商品数量的一致性退货登记时将退货信息添加到退货表中,然后将退货数量从销售表中减掉,最后将退货数量加到商品库存表中在本系统管理员登陆时,显示给管理员的第一个界面系统初始化也是本系统的又一大功能特色,其实现过程中要严格控制每一个记录集对相应数据表的打开与关闭操作第五章系统测试与设计要点
5.1本次毕业设计的重点、难点、与创新点本人通过概述设计过程来说明本次毕业设计的重点、难点、与创新点,这样反而使读者更容易明白
1.如何确立目标对超市信息进行入库、库存、出库这些日常业务的需要高效性通过系统的实用,能够改变旧的超市管理模式,使对超市的管理、入库、库存、出库更加方便有效
2.如何数据采集通过Internet从网站上收集一些超市管理的相关信息,录入数据库,从而建立数据库,并在编码调试阶段测试各个功能模块的实现
3.安全性考虑考虑到不同用户的权限不同,第一次进入该系统时应该向管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中这样管理员就可赋予不同用户不同的权限每位用户根据自己的身份不同,进入不同的用户界面管理员有权力行使所有的管理功能,普通用户只能进行一般的查询
4.一致性建设在超市管理信息系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束
5.完整性调查根据超市管理管理信息系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障
6.运行设计本系统采用三种运行的控制,顺序、选择、循环运行模块分成基本的三个模块,即是输入模块,输出模块,处理模块等这使得整个系统的维护容易,简单;系统的结构层次简单,易懂
5.2测试实例的选择研究1.安全性测试登陆系统时,选择使用者输入错误密码看系统是否能够提示密码错误,并提示用户重新输入密码测试结果能够实现以上目标,系统安全性好测试效果如图
5.1图
5.1安全测试2.数据库完整性,一致性测试选择超级管理员登陆系统后,对超市进行管理操作,看是否能够实现数据的添加,删除,查询当数据输入不完整或者不一致时看系统是否能够提示数据错误选择数据备份和恢复,看系统是否能够实现对数据备份和恢复测试结果能够实现以上操作,系统数据比较完整,一致性强
(1)一致性效果如图
5.2所示图
5.2一致性测试
(2)完整性测试如图
5.3所示图
5.3完整性测试3.运行稳定测试运行系统后,打开Windows的任务管理器的进程管理,查看本系统内存占有量测试结果本系统能够在所有操作环境中稳定运行,内存占有量为9600k图
5.4稳定测试
5.3测试环境测试环境硬件PC机(奔3CPU,128M内存,64M显卡,40G硬盘)软件:操作系统Windows98/2000/XP
5.4测试结果及测试结果分析本系统的管理功能全面,性能稳定,可以有效的实现入库管理、出库管理及库存管理功能,从而改善了超市管理信息系统的服务质量,解决了以前单凭手工操作的麻烦,避免了易出错、难查询的数据库问题系统最大的特点就是可以连续不断的稳定运行,有很强的可靠性,准确性,易操作性企业可以快速的注册,也可根据其他的信息快速的查询到自己的进货、销货信息管理员管理机制,提高了本系统的安全性、可靠性、实用性同时超市管理模块可以快速进货销货以最快和最准确的动作完成新货入库、库存管理及销售全面的管理系统可以让超市的状况一目了然!本系统操作上简洁方便、界面上直观易懂用户对本系统功能几分钟的样子就可以熟练的操作这样就大大的减少了操作所花的时间,将给企业管理来意想不到的经济效益和社会效益,,增加企业收入总结本次超市管理信息系统是基于VisualBasic的ADO技术设计的选择了Access2000作为后端开发工具,开发数据库功能,并选择了VisualBasic
6.0作为界面前台开发工具在该系统开发中我通过建立数据库,以及对各种信息库的开发(如添加、查询、修改、删除)及设计系统维护安全部分,完成了此次对超市信息管理系统的设计在本次的开发过程中,我意识到最重要的环节在于对系统的流程、功能模块、框架结构等方面的把握和设计在需求分析结束以后,我们对一个系统需要具有哪些功能已经有了一定的认识,而如何以一个简洁、合理的系统结构去实现用户要求的功能就成为系统开发的关键环节在这方面我可以说是深有体会由于有些急于求成,在对ADO技术不是很了解的情况下就开始着手程序开发,所以当有时间静下来仔细理一下思路的时候发现走了很大的弯路,可以说是整个思路和设计要求有着非常大的差异值得庆幸的是,发现的比较及时,还有足够的时间让我转变思路,从头开始因此,通过这次超市管理信息系统的开发,我深刻认识到系统分析,以及对整个系统的总体设计的重要性只有走好了这一步,整个系统的开发才能事半功倍,否则就会是“棋差一着,满盘皆输”同时,在这次的系统开发中我也看到了自己在新知识的学习,新工具的应用方面的不足开始时,我对VisualBasic和Access可以说只是停留在书面上的了解,还不够深入透彻系统的开发过程也就成为我对这两种开发工具的深入透彻学习的过程正因为这样,所以在设计过程中往往会被一些问题卡住在原地徘徊了一段时间后,我通过查找参考资料,和同学交流,利用互联网向有经验的编程人员请教等各种方式试着克服在设计过程中遇到的困难随着开发设计的深入,我也逐渐掌握了一部分编程技巧,了解了一些关于编程方面的规律,一些困难也就迎刃而解了.经过一个多月的设计和开发,超市管理信息系统基本开发完毕其功能基本符合用户需求,能够实现品质检测的基本信息的录入、更新、修改删除查询等基本功能,从而实现产品检测的管理对于数据的一致性的问题也通过程序进行了有效的解决但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题这些都有待进一步改善致谢在本次毕业设计中,我从指导老师方霞老师身上学到了很多东西方老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导另外,在系统开发过程中助手同学也给于我很大的帮助,帮助我解决了不少的难点,使得系统能及时开发完成,还有同组的同学同样给与我不少帮助,这里一并表示感谢参考文献
[1]黄梯云.管理信息系统[M].北京:经济科学出版社.
2000.3
[2]萨师煊王珊.数据库系统概论[M].北京高等教育出版社.1983
[3]美HarveyM.Deitel等.VisualBasic6HowtoProgram[M].PearsonEducation.2003
[4]刘捡平杨春蓉.VB.net程序设计中分形算法剖析[J].新余高专学报.2005
[5]刘珊.用Access增强.NET数据报表功能[J].电脑编程技巧与维护.2006
[6]陈翔.基于VB6.0对文本文件的操作实现对轨道时间的提醒[J].电脑编程技巧与维护.2006
[7]胡建红周世科谢晓明.VB应用程序动态连接与创建数据库表的实现[J].计算机与现代化.2006
[8]张洪学范海震雷飚.基于VB6.0的DSP系统与PC机通信的实现[J].电光系统.2005
[9]李晓俊.给Access库文件加把“锁”[J].中国审计.2006
[10]HerbertGruttemeier.TheWaytoOpenAccess--FrenchStrategiestoMoveForward[J].图书情报工作.2006附录部分源程序
1、登陆窗口源程序DimstremployeeAsStringDimrs_employeeAsNewADODB.RecordsetPrivateSubForm_Activatestremployee=select*fromemployeers_employee.OpenstremployeecnnadOpenStaticadLockOptimisticDimiAsIntegerFori=0Tors_employee.RecordCount-1Combo
1.AddItemrs_employee.Fields员工姓名rs_employee.MoveNextNextrs_employee.CloseEndSubPrivateSubForm_Loadcnn.Provider=microsoft.jet.oledb.
4.0cnn.ConnectionString=App.Path\sellsystem.mdbcnn.OpenEndSubPrivateSubPicture1_ClickEndSubPrivateSubLabel3_ClickIfCombo
1.Text=ThenMsgBox请输入用户名!vbOKOnly+vbInformation注意Combo
1.SetFocusExitSubElseIfText
1.Text=ThenMsgBox请输入密码!vbOKOnly+vbInformation注意Text
1.SetFocusExitSubEndIfstremployee=select*fromemployeewhere员工姓名=Combo
1.Textand员工密码=Text
1.Textrs_employee.OpenstremployeecnnadOpenStaticadLockOptimisticIfrs_employee.EOF=TrueThenMsgBox用户名或密码错误,请从新输入!vbOKOnly+vbInformation注意Combo
1.SetFocusrs_employee.CloseExitSubElsestrs=rs_employee.Fields员工编号rs_employee.CloseEndIfIfCombo
1.Text=administratorThenfrminitial.ShowElsefrmMain.ShowfrmMain.mnBuyAll.Enabled=FalsefrmMain.mnSellAll.Enabled=FalsefrmMain.mnTable.Enabled=FalseEndIfUnloadMeEndSubPrivateSubLabel4_ClickUnloadMecnn.CloseEndSubPrivateSubPicture2_ClickEndSub
2、主界面源程序Dimrs_sellAsNewADODB.RecordsetDimrs_goodsAsNewADODB.RecordsetDimrs_buyAsNewADODB.RecordsetDimrs_retreatAsNewADODB.RecordsetDimrs_manufacturerAsNewADODB.RecordsetDimrs_employeeAsNewADODB.RecordsetDimrs_fctotalAsNewADODB.RecordsetDimrs_totalAsNewADODB.RecordsetDimstrsellAsStringDimstrgoodsAsStringDimstrbuyAsStringDimstrretreatAsStringDimstrmanufacturerAsStringDimstremployeeAsStringDimstrfctotalAsStringDimstrtotalAsStringDimintyAsIntegerDimintmAsIntegerDimintdAsIntegerPrivateSubForm_Loadinty=YearDateintm=MonthDateintd=DayDateFlash
1.Movie=App.Path\
99.swfEndSubPrivateSubForm_ResizeFlash
1.Width=Me.WidthFlash
1.Height=Me.HeightEndSubPrivateSubmnabout_ClickfrmAbout.ShowEndSubPrivateSubmnBuy_ClickfrmAddgoods.ShowEndSubPrivateSubmnBuyMonth_ClickfrmBuyall.Text
2.Enabled=FalsefrmBuyall.SSTab
1.Tab=1frmBuyall.SSTab
1.TabEnabled0=FalsefrmBuyall.SSTab
1.TabEnabled1=TruefrmBuyall.SSTab
1.TabEnabled2=FalsefrmBuyall.SSTab
1.TabEnabled3=FalsefrmBuyall.Showstrbuy=select*frombuywhere进货年=intyand进货月=intmrs_buy.OpenstrbuycnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
2.RecordSource=strbuyfrmBuyall.Adodc
2.RefreshfrmBuyall.DataGrid
2.ReBindIfrs_buy.EOF=TrueThenfrmBuyall.Adodc
6.RecordSource=strbuyfrmBuyall.Adodc
6.RefreshfrmBuyall.DataGrid
6.ReBindMsgBox您本月没有进货记录!vbOKOnly+vbInformation注意frmBuyall.Command
9.Enabled=FalsefrmBuyall.Command
10.Enabled=FalsefrmBuyall.Command
11.Enabled=FalsefrmBuyall.Command
12.Enabled=FalsefrmBuyall.Command
13.Enabled=FalsefrmBuyall.Command
14.Enabled=FalsefrmBuyall.Command
15.Enabled=FalsefrmBuyall.Command
16.Enabled=Falsers_buy.CloseExitSubEndIfrs_buy.Closestrfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intyand进货月=intmgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
6.RecordSource=strfctotalfrmBuyall.Adodc
6.RefreshfrmBuyall.DataGrid
6.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyand进货月=intmrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
2.Text=rs_total.Fields进货总金额rs_total.CloseEndSubPrivateSubmnBuyQuarterly_ClickfrmBuyall.Text
3.Enabled=FalsefrmBuyall.SSTab
1.Tab=2frmBuyall.SSTab
1.TabEnabled0=FalsefrmBuyall.SSTab
1.TabEnabled1=FalsefrmBuyall.SSTab
1.TabEnabled2=TruefrmBuyall.SSTab
1.TabEnabled3=FalsefrmBuyall.ShowSelectCaseintmCaseIs4intm=3CaseIs7intm=6CaseIs10intm=9CaseIs10intm=12EndSelectstrbuy=select*frombuywhere进货年=intyand进货月betweenintm-2andintmrs_buy.OpenstrbuycnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
2.RecordSource=strbuyfrmBuyall.Adodc
2.RefreshfrmBuyall.DataGrid
2.ReBindIfrs_buy.EOF=TrueThenfrmBuyall.Adodc
6.RecordSource=strbuyfrmBuyall.Adodc
6.RefreshfrmBuyall.DataGrid
6.ReBindMsgBox您本季度没有进货记录!vbOKOnly+vbInformation注意frmBuyall.Command
17.Enabled=FalsefrmBuyall.Command
18.Enabled=FalsefrmBuyall.Command
19.Enabled=FalsefrmBuyall.Command
20.Enabled=FalsefrmBuyall.Command
21.Enabled=FalsefrmBuyall.Command
22.Enabled=FalsefrmBuyall.Command
23.Enabled=FalsefrmBuyall.Command
24.Enabled=Falsers_buy.CloseExitSubEndIfrs_buy.Closestrfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intyand进货月betweenintm-2andintmgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
6.RecordSource=strfctotalfrmBuyall.Adodc
6.RefreshfrmBuyall.DataGrid
6.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyand进货月betweenintm-2andintmrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
3.Text=rs_total.Fields进货总金额rs_total.Closeintm=MonthDateEndSubPrivateSubmnBuyTable_ClickfrmBuyTable.ShowEndSubPrivateSubmnBuyToday_ClickfrmBuyall.Text
1.Enabled=FalsefrmBuyall.SSTab
1.Tab=0frmBuyall.SSTab
1.TabEnabled0=TruefrmBuyall.SSTab
1.TabEnabled1=FalsefrmBuyall.SSTab
1.TabEnabled2=FalsefrmBuyall.SSTab
1.TabEnabled3=FalsefrmBuyall.Showstrbuy=select*frombuywhere进货年=intyand进货月=intmand进货日=intdrs_buy.OpenstrbuycnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
1.RecordSource=strbuyfrmBuyall.Adodc
1.RefreshfrmBuyall.DataGrid
1.ReBindIfrs_buy.EOF=TrueThenfrmBuyall.Adodc
5.RecordSource=strbuyfrmBuyall.Adodc
5.RefreshfrmBuyall.DataGrid
5.ReBindMsgBox您今日没有进货记录!vbOKOnly+vbInformation注意frmBuyall.Command
1.Enabled=FalsefrmBuyall.Command
2.Enabled=FalsefrmBuyall.Command
3.Enabled=FalsefrmBuyall.Command
4.Enabled=FalsefrmBuyall.Command
5.Enabled=FalsefrmBuyall.Command
6.Enabled=FalsefrmBuyall.Command
7.Enabled=FalsefrmBuyall.Command
8.Enabled=Falsers_buy.CloseExitSubEndIfrs_buy.Closestrfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
5.RecordSource=strfctotalfrmBuyall.Adodc
5.RefreshfrmBuyall.DataGrid
5.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyand进货月=intmand进货日=intdrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
1.Text=rs_total.Fields进货总金额rs_total.CloseEndSubPrivateSubmnBuyYear_ClickfrmBuyall.Text
4.Enabled=FalsefrmBuyall.SSTab
1.Tab=3frmBuyall.SSTab
1.TabEnabled0=FalsefrmBuyall.SSTab
1.TabEnabled1=FalsefrmBuyall.SSTab
1.TabEnabled2=FalsefrmBuyall.SSTab
1.TabEnabled3=TruefrmBuyall.Showstrbuy=select*frombuywhere进货年=intyrs_buy.OpenstrbuycnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
4.RecordSource=strbuyfrmBuyall.Adodc
4.RefreshfrmBuyall.DataGrid
4.ReBindIfrs_buy.EOF=TrueThenfrmBuyall.Adodc
8.RecordSource=strbuyfrmBuyall.Adodc
8.RefreshfrmBuyall.DataGrid
8.ReBindMsgBox您今年没有进货记录!vbOKOnly+vbInformation注意frmBuyall.Command
25.Enabled=FalsefrmBuyall.Command
26.Enabled=FalsefrmBuyall.Command
27.Enabled=FalsefrmBuyall.Command
28.Enabled=FalsefrmBuyall.Command
29.Enabled=FalsefrmBuyall.Command
30.Enabled=FalsefrmBuyall.Command
31.Enabled=FalsefrmBuyall.Command
32.Enabled=Falsers_buy.CloseExitSubEndIfrs_buy.Closestrfctotal=select生产厂商sum总金额as各厂商进货总金额frombuywhere进货年=intygroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmBuyall.Adodc
8.RecordSource=strfctotalfrmBuyall.Adodc
8.RefreshfrmBuyall.DataGrid
8.ReBindrs_fctotal.Closestrtotal=selectsum总金额as进货总金额frombuywhere进货年=intyrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmBuyall.Text
4.Text=rs_total.Fields进货总金额rs_total.CloseEndSubPrivateSubmnChangeEmployee_Clickcnn.ClosefrmLogin.ShowUnloadMeEndSubPrivateSubmnChangePwd_ClickfrmChangePwd.ShowEndSubPrivateSubmnEmployeeTable_ClickfrmEmployeeTable.ShowEndSubPrivateSubmnExit_Clickcnn.CloseUnloadMeEndSubPrivateSubmnGoodsTable_ClickfrmShowGoodstable.ShowEndSubPrivateSubmnlogin_ClickfrmLogin.ShowEndSubPrivateSubmnManufacturerTable_ClickfrmManufacturerTable.ShowEndSubPrivateSubmnRetreat_ClickfrmRetreatgoods.ShowEndSubPrivateSubmnRetreatTable_ClickfrmRetreatTable.ShowEndSubPrivateSubmnSell_ClickfrmSellgoods.ShowEndSubPrivateSubmnSellMonth_ClickfrmSellall.SSTab
1.Tab=1frmSellall.Text
2.Enabled=FalsefrmSellall.SSTab
1.TabEnabled0=FalsefrmSellall.SSTab
1.TabEnabled1=TruefrmSellall.SSTab
1.TabEnabled2=FalsefrmSellall.SSTab
1.TabEnabled3=FalsefrmSellall.Showstrsell=select*fromsellwhere销售年=intyand销售月=intmrs_sell.OpenstrsellcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
2.RecordSource=strsellfrmSellall.Adodc
2.RefreshfrmSellall.DataGrid
2.ReBindIfrs_sell.EOF=TrueThenfrmSellall.Adodc
6.RecordSource=strsellfrmSellall.Adodc
6.RefreshfrmSellall.DataGrid
6.ReBindMsgBox您本月没有销售记录!vbOKOnly+vbInformation注意frmSellall.Command
9.Enabled=FalsefrmSellall.Command
10.Enabled=FalsefrmSellall.Command
11.Enabled=FalsefrmSellall.Command
12.Enabled=FalsefrmSellall.Command
13.Enabled=FalsefrmSellall.Command
14.Enabled=FalsefrmSellall.Command
15.Enabled=FalsefrmSellall.Command
16.Enabled=Falsers_sell.CloseExitSubEndIfrs_sell.Closestrfctotal=select生产厂商sum总金额as各厂商销售总金额fromsellwhere销售年=intyand销售月=intmgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
6.RecordSource=strfctotalfrmSellall.Adodc
6.RefreshfrmSellall.DataGrid
6.ReBindrs_fctotal.Closestrtotal=selectsum总金额as销售总金额fromsellwhere销售年=intyand销售月=intmrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmSellall.Text
2.Text=rs_total.Fields销售总金额rs_total.CloseEndSubPrivateSubmnSellQuarterly_ClickfrmSellall.SSTab
1.Tab=2frmSellall.Text
3.Enabled=FalsefrmSellall.SSTab
1.TabEnabled0=FalsefrmSellall.SSTab
1.TabEnabled1=FalsefrmSellall.SSTab
1.TabEnabled2=TruefrmSellall.SSTab
1.TabEnabled3=FalsefrmSellall.ShowSelectCaseintmCaseIs4intm=3CaseIs7intm=6CaseIs10intm=9CaseIs10intm=12EndSelectstrsell=select*fromsellwhere销售年=intyand销售月betweenintm-2andintmrs_sell.OpenstrsellcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
2.RecordSource=strsellfrmSellall.Adodc
2.RefreshfrmSellall.DataGrid
2.ReBindIfrs_sell.EOF=TrueThenfrmSellall.Adodc
6.RecordSource=strsellfrmSellall.Adodc
6.RefreshfrmSellall.DataGrid
6.ReBindMsgBox您本季度没有销售记录!vbOKOnly+vbInformation注意frmSellall.Command
17.Enabled=FalsefrmSellall.Command
18.Enabled=FalsefrmSellall.Command
19.Enabled=FalsefrmSellall.Command
20.Enabled=FalsefrmSellall.Command
21.Enabled=FalsefrmSellall.Command
22.Enabled=FalsefrmSellall.Command
23.Enabled=FalsefrmSellall.Command
24.Enabled=Falsers_sell.CloseExitSubEndIfrs_sell.Closestrfctotal=select生产厂商sum总金额as各厂商销售总金额fromsellwhere销售年=intyand销售月betweenintm-2andintmgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
6.RecordSource=strfctotalfrmSellall.Adodc
6.RefreshfrmSellall.DataGrid
6.ReBindrs_fctotal.Closestrtotal=selectsum总金额as销售总金额fromsellwhere销售年=intyand销售月betweenintm-2andintmrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmSellall.Text
3.Text=rs_total.Fields销售总金额rs_total.Closeintm=MonthDateEndSubPrivateSubmnSellTable_ClickfrmSellTable.ShowEndSubPrivateSubmnSellToday_ClickfrmSellall.SSTab
1.Tab=0frmSellall.Text
1.Enabled=FalsefrmSellall.SSTab
1.TabEnabled0=TruefrmSellall.SSTab
1.TabEnabled1=FalsefrmSellall.SSTab
1.TabEnabled2=FalsefrmSellall.SSTab
1.TabEnabled3=FalsefrmSellall.Showstrsell=select*fromsellwhere销售年=intyand销售月=intmand销售日=intdrs_sell.OpenstrsellcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
1.RecordSource=strsellfrmSellall.Adodc
1.RefreshfrmSellall.DataGrid
1.ReBindIfrs_sell.EOF=TrueThenfrmSellall.Adodc
5.RecordSource=strsellfrmSellall.Adodc
5.RefreshfrmSellall.DataGrid
5.ReBindMsgBox您今日没有销售记录!vbOKOnly+vbInformation注意frmSellall.Command
1.Enabled=FalsefrmSellall.Command
2.Enabled=FalsefrmSellall.Command
3.Enabled=FalsefrmSellall.Command
4.Enabled=FalsefrmSellall.Command
5.Enabled=FalsefrmSellall.Command
6.Enabled=FalsefrmSellall.Command
7.Enabled=FalsefrmSellall.Command
8.Enabled=Falsers_sell.CloseExitSubEndIfrs_sell.Closestrfctotal=select生产厂商sum总金额as各厂商销售总金额fromsellwhere销售年=intyand销售月=intmand销售日=intdgroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
5.RecordSource=strfctotalfrmSellall.Adodc
5.RefreshfrmSellall.DataGrid
5.ReBindrs_fctotal.Closestrtotal=selectsum总金额as销售总金额fromsellwhere销售年=intyand销售月=intmand销售日=intdrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmSellall.Text
1.Text=rs_total.Fields销售总金额rs_total.CloseEndSubPrivateSubmnSellYear_ClickfrmSellall.Text
4.Enabled=FalsefrmSellall.SSTab
1.Tab=3frmSellall.SSTab
1.TabEnabled0=FalsefrmSellall.SSTab
1.TabEnabled1=FalsefrmSellall.SSTab
1.TabEnabled2=FalsefrmSellall.SSTab
1.TabEnabled3=TruefrmSellall.Showstrsell=select*fromsellwhere销售年=intyrs_sell.OpenstrsellcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
4.RecordSource=strsellfrmSellall.Adodc
4.RefreshfrmSellall.DataGrid
4.ReBindIfrs_sell.EOF=TrueThenfrmSellall.Adodc
8.RecordSource=strsellfrmSellall.Adodc
8.RefreshfrmSellall.DataGrid
8.ReBindMsgBox您今年没有销售记录!vbOKOnly+vbInformation注意frmSellall.Command
25.Enabled=FalsefrmSellall.Command
26.Enabled=FalsefrmSellall.Command
27.Enabled=FalsefrmSellall.Command
28.Enabled=FalsefrmSellall.Command
29.Enabled=FalsefrmSellall.Command
30.Enabled=FalsefrmSellall.Command
31.Enabled=FalsefrmSellall.Command
32.Enabled=Falsers_sell.CloseExitSubEndIfrs_sell.Closestrfctotal=select生产厂商sum总金额as各厂商销售总金额fromsellwhere销售年=intygroupby生产厂商rs_fctotal.OpenstrfctotalcnnadOpenKeysetadLockPessimisticfrmSellall.Adodc
8.RecordSource=strfctotalfrmSellall.Adodc
8.RefreshfrmSellall.DataGrid
8.ReBindrs_fctotal.Closestrtotal=selectsum总金额as销售总金额fromsellwhere销售年=intyrs_total.OpenstrtotalcnnadOpenKeysetmadLockPessimisticfrmSellall.Text
4.Text=rs_total.Fields销售总金额rs_total.CloseEndSub超市进货部现存商品表管理者顾客销售表退货表进货表销售统计查看数据表系统主界面是登录界面登录失败进货登记销售登记退货登记进货统计退货登记销售登记交易管理否用户密码正确今年进货本季度进货进货统计管理进货登记管理员工表进货商表查看数据表本月销售今年销售今日销售本季度销售销售统计管理今日进货本月进货PAGEI。