基于VB的超市销售管理系统的设计与实现

上传人:txadgkn****dgknqu... 文档编号:69304128 上传时间:2022-04-05 格式:DOC 页数:42 大小:879.50KB
返回 下载 相关 举报
基于VB的超市销售管理系统的设计与实现_第1页
第1页 / 共42页
基于VB的超市销售管理系统的设计与实现_第2页
第2页 / 共42页
基于VB的超市销售管理系统的设计与实现_第3页
第3页 / 共42页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上基于VB6.0的超市销售管理系统的设计与实现姓 名 系 别、 专 业 导 师、 职 称 完 成 时 间 专心-专注-专业目 录摘 要随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于多造成了操作繁琐降低了小超市的工作效率。基于此,本文开发一个小型的超市管理系统。本系统结合实际的超市管理情况,以 Visual Basic6.0作为开发工具实现了超市管理系统。系统实现了包括销售管理负责每日销售情况盘点和每月销售情况统计并打印出统计报表。商品管理实现了商品的增加、修改和查询。用户管理包括了员工管理、会员管理和供应商管理。其中员工管理实现员工档案的建立,员工有关职位变动信息的修改。供应商的管理实现了供应商信息的录入、修改、查询和删除等功能。关键词:超市管理;VB;accessABSTRACTExpands unccasingly along with the small supermarket scale development,the commodity quantity sharp growth,related commodity each kind of information content also becomes time of growth.The supermarket in needs to carry on the statistical analysis all the time to commodity each kind of information.But the large scale supermarket management system management system function too was formidable creates the operation tediously toreduce the small supermarket working efficiency. In this case , it seems very essential to develop the small administrative system of a supermarket.This system combines real supermarket management system, analyze demand , adopt Visual Basic6.0 as developing instrument and develop unit edition supermarket administrative system that come out.The whole system have three large function like sale buy and database , and it base on functions and manage such as the sale of the goods ,and including entering staff change of foundation , old produce , position of staff of file ,etc. cause worker modification , staffs information inquiry of information , count ,etc. joining, newly. Inputting to suppliers information, revise , delete and hold letting and commodity stocks are inquired about etc. Keywords: The supermarket manages;VB;access1 引言1.1 系统的研究意义随着中小型超市的数量增加,超市的商品越来越多,价格的多样性以及员工数量增加。开发一个超市管理系统对一间超市的管理显得极其重要,合理地管理不但反映一个国家的科技水平。在这个经济时代到来的今天,用计算机控制超市的工作由自动化系统运行而完成。这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了商品的流通。由于各超市的商品的数量不断增多和超市规模的不断扩大,管理这些庞大的体系非常困难的,因为商品的情况是随时改变的,因此必需对商品进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储,查询是必不可少的业务。超市管理何管理好一个所有超市的信息,成为超市管理中的一个大问题。在这种情况下,一个可以规范化,自动化1的超市管理系统就显得非常必要。最初的超市管理,都是靠人力来完成的。当超市规模比较小的时候,人力可以完成,不过随着超市的规模越来越大,超市的员工人数和商品种类,商品数量也越来越多,依然维持着人力进行超市管理的时候,必然会造成工作效率低,工作错误增高的问题。为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有商品进行管理,并且准确无误,轻松自如。为此,本文开发了一个适合小型超市的超市销售管理系统。1.2 系统的研究现状就目前的国际形势而言,虽然计算机发展飞速。但是,在其飞速发展的同时,计算机技术并未全面深入到民用里。就拿我们国家来说,很多人不知道计算机编程的原理。但是,计算机技术是一个走在时代前列的先进技术,它终究还是能给人们工作与生活带来更高的效率。目前就全国的超市管理程序而言,仍然有相当一部分超市的超市管理系统存在着一些不足,比如系统不完善,功能不齐全,存在较多BUG等。甚至在有些偏远地区的超市没有使用便捷的超市管理系统来代替繁琐的人工管理。1.3 系统的研究内容超市管理系统就是把分散的超市的职工,供应商,商品销售等信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的超市管理系统。超市管理系统为超市提供信息咨询,信息检索,信息存取等服务。系统是超市管理的一个重要内容,随着时代的进步,超市也逐渐变的庞大起来。超市管理系统的流通部分2是对所有商品管理最重要的部分,流通系统将客户与商品,员工与客户,管理员与员工相互间联系起来,而且流通系统处理的数据类型3多,数量大,精细且频繁,因而需要系统应具备较完善的检验防错功能,从而根据系统的运行及反馈信息高质量,高效率地管理系统流通部门的全部功能。本系统包含五大模块:(1)系统管理:包括登录系统、注销系统。(2)商品信息:包括对商品添加、查询、删改。(3)用户管理:包括了供应商管理、员工管理、会员管理。(4)管理库存:包括了对商品库存的查询功能。(5)销售管理:具有商品销售、销售统计等功能。 (6)数据管理:具有数据备份及恢复功能。2 开发工具描述2.1 Visual Basic(VB)简介Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC4编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO连接数据库,或者轻松的创建ActiveX5控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。Visual Basic 的最大的优势在于它的易用性,可以让经验丰富的VB程序员或是刚刚懂得皮毛的人都能用自己的方式快速开发程序。而且 VB 的程序可以非常简单的和数据库连接。比如利用控件可以绑定数据库,这样一来用VB写出的程序就可以掌握数据库的所有信息而不用写一行代码。BASIC是种易学易用的高级语言6,非常适合初学者学习运用。事件驱动编程:Visual Basic允许创建反映用户动作7和系统事件8的程序。这种编程叫事件驱动编程。要了解事件驱动程序是怎样工作的,先要了解过去的程序怎样运行及在Windows环境中有何不同。 在Windows之前(回到往日的DOS和“史前时代”��之前),程序以顺序方式运行。也就是说,一旦程序启动,它就一条指令一条指令的向前执行,直到程序结束或出现致命错误。面向对象编程:使创建Windows程序较为容易的关键技术是面向对象编程,或OOP。这种技术可以创建可重用组建2,它是程序的组成模块。在讨论Visual Basic时,经常可以听到这些术语,因此对这些术语的基本理解十分有帮助。控件:提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。事件:由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。方法:嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。对象:程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是Visual Basic中所有对象的示例。过程:为完成任务而编写的代码段。过程通常用于响应特定的事件。属性:对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。2.2 Visual Basic语言特性一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。VB使得大量的外界控件有了自己的生存空间。大量的第三方控件针对VB提供。VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。2.3 Access 简介建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。在本系统中,做为图书仓库管理系统是一个比较小的应用系统,它所产生和处理的数据量也比较小。因此,没有必要使用像sql server和oracle这样的大型数据库。我首先想到的数据库是borland公司的paradox数据库。另外,microsoft office中的access数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了access数据库。access做为一个数据库管理系统,它被集成在microsoft office中。access数据库处理的基本结构,采取关系型数据库模式。与其他的数据库系统相比,access更加简单易学,一个普通的计算机用户可以很快地掌握它。access 2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与office其他组件交流数据,这些功能对一个一般用户而言已经足够了。Access能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件。2.4 设计所用到技术简介本设计采用了Microsoft Visual Basic 6.0作为开发工具,在连接数据库的时候采用了VB里的ADO方法进行了连接数据库和对数据库操作。后台数据库采用了Access 2000,以下对ADO和Access进行技术的简介:ActiveX Data Objects (ADO) 是微软最新的数据访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。 ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个Connection对象,但是可以有多个,独立的Recordset对象来使用它。ADO针对客户服务器以及WEB应用程序作了优化.以前的对象模型,如DAO和RDO是层次型的。也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef,的子对象。在创建一个QueryDef对象的实例之前,你不能创建DAO Recordset对象的实例。但ADO却不同,它定义了一组平面型顶级对象. 最重要的三个ADO对象是Connection, Recordset和Command. 本文将主要介绍Connection和Recordset这两个对象。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起起使用,先建立一个连接,然后获取数据。尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。一旦安装了ADO,在VB的工程-引用对话框中选择 ActiveX Data Objects 1.5 Library (ADODB).在其下的 ADO Recordset 1.5 Library是一个客户端的版本(ADOR),它定义了有聚的数据访问对象。ADOR 对于客户端的数据访问来说是足够的了,因为你不需要Connection对象来建立与远程数据源的联系。 如果你想要访问更多的外部数据源,你需要安装这些外部数据源自己的OLE DB Provider,就象你需要为新的数据库系统安装新的ODBC驱动程序一样。如果该外部数据源没有自己的OLE DB Provider,你就得使用OLE DB SDK来自己为这个外部数据源创建一个OLE DB Provider了。3 系统需求分析与总体框架3.1 需求分析 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算机作为一种高效的管理工具,对现代企业的管理发挥了极其重要的作用。超市是当前最重要的商业经营形式之一,为了进一步提高超市的管理水平和竞争力,管理信息系统在超市中的应用已是大势所趋。传统的计算机管理在超市流程中的数据处理比较繁琐、效率低、易出错,这就制约了企业的发展。因此企业利用成熟的管理思想和先进的信息技术来提高管理水平和经济效益就显得尤为重要。基于先进的计算机技术开发的超市管理信息系统可以帮助超市改变落后的经营模式,并且可以使管理层及时、合理地进行管理和决策。因此设计开发的超市管理信息系统应顺应社会发展的潮流。作为计算机应用的一部分,使用计算机对超市的信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。3.2系统的体系结构设计如果要完成一个完整的超市管理系统,需要的相关信息很多。由于种种条件的限制,同时考虑到开发成本,所以本系统仅实现基本的管理功能。本毕业设计为超市管理信息系统,本管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。超市管理信息系统经过系统的分析后,将整个系统分成7大模块,分别为系统管理模块、用户管理模块、商品信息模块、商品库存信息模块、会员信息模块、数据管理模块以及销售信息模块。系统设置模块:设置本系统将要显示的内容及注销用户功能。用户管理模块:完成供应商信息、员工信息及权限设置和会员的添加和修改。商品信息模块:完成商品的添加删除与修改。商品库存信息模块:完成商品的入库出库和库存查询。数据管理模块:备份、还原数据库。销售管理模块:实现商品销售和销售统计两项功能。系统的体系结构图如下图3-1所示:超市管理系统系统设置用户管理商品管理库存管理数据管理销售信息注销登陆供应商管理员工管理会员管理商品添加商品查询商品修改数据备份数据恢复商品销售销售统计图 3-1 系统各功能模块设计库存查询4 系统设计4.1 数据库设计本超市销售管理系统为实现超市进、销、存三大关键环节,需建立商品信息表、商品销售表、库存表。其中商品信息包括商品编号、商品名称、商品价格、会员价格、商品类型、进货价格、包装率。商品销售信息包括商品编号、商品名称、销售日期、销售数量。库存信息包括商品编号、商品名称、库存数量。另外本系统考虑了对供应商,员工,会员三类人员的管理。需建立供应商、员工表、会员表。系统总体E-R图员工商品客户供应商销售销售数量操作供货会员价格商品价格商品类型进货价格供应商编号供应商电话供应商地址供应商名称图 4-1 总体E-R图会员客户会员编号会员电话会员姓名商品编号员工职务员工性别员工编码商品编号商品名称包装率商品名称员工姓名销售日期作为Microsoft公司的桌面数据库,ACCESS在VB中的应用非常广泛,为此我选用ACCESS数据库来进行数据库的逻辑设计。根据前面定义的实体及实休之间的关系,形成数据库的表格以及各个表之间的关系。本软件的数据库用VB的“可视化数据管理器”新建一个名称为“supermarket.mdb”的数据库,该数据库主要由下述七张表构成:管理员表:admin;员工档案表:employee;供应商信息表:provider;商品信息表 merchandise;会员注册信息表member;商品销售表 distribution;商品库存表 stockpile。1.超市管理员表:admin说明:超市管理的信息情,管理员ID设为主键、索引。表4-1 管理员表列名数据类型长度可否为空注释ID文本50Not Null帐号pswd文本50Not Null密码popedom文本50Not Null权限2.超市员工档案表 employee 说明:此表记录了每个超市员工的信息情况,员工编号workid 设为主键、索引。表 4-2 超市员工档案表列名数据类型长度可否为空注释workid文本50Not Null员工编号name文本50Not Null员工姓名sex文本50Not Null 员工性别duty文本50Not Null信息添加日期3.超市供应商信息表 provider说明:此表记录是供货商品给超市的每一个供应商的信息表,供应商编号merchandiseid 设为主键。表 4-3 超市供应商信息表列名数据类型长度可否为空注释merchandiseid文本50Not Null供应商编号providername文本50Not Null供应商名称providertel数字长整型Not Null 供应商电话provideraddess文本50Not Null供应商地址4.超市商品信息表 merchandise说明:此表记录是超市商品的信息表,供应商编号面上merchandiseid 设为主键。表 4-4 超市商品信息表列名数据类型长度可否为空注释merchandiseid文本50Not Null商品编号mname文本50Not Null商品名称number数字长整型Not Null 商品电话saleprice货币50Not Null商品价格memberprice货币货币Not Null会员价格purchaseprice货币货币Not Null进货价格casingratio数字长整型Not Null包装率mchtype文本50Not Null商品类别5.会员注册信息表member说明:此表是在超市里已注册会员的信息的表,会员的编号 memberid设为主键。表4-5 会员注册信息表列名数据类型长度可否为空注释memberid文本50Not Null会员编号mname文本50Not Null会员名称mtel数字长整型Not Null 商品电话maddress文本50Not Null会员地址integral数字长整型Not Null会员电话6.商品销售表 distribution说明:此表是在超市销售商品记录信息的表,出售商品的编号dbid 设为主键。表 4-6 商品销售表列名数据类型长度可否为空注释dbid自动编号自动编号Not Null出售编号merchid文本50Not Null商品编号mchname文本50Not Null 商品名称dnumber数字长整型Not Null销售数量date日期/时间日期/时间Not Null销售日期7.商品库存表 stockpile 说明:此表是在超市商品库存信息表,商品的编号merchid设为主键。表 4-7 商品库存表列名数据类型长度可否为空注释merchid文本50Not Null商品编号mchname文本50Not Null商品名称number数字长整型Not Null 库存数量4.2 数据字典4.2.1 数据流条目(1) 销售信息=商品编号+商品名称+商品数量+出售日期(2) 添加商品信息=商品编号+商品名称+商品数量+销售价格+商品会员价+商品种类+商品进价+包装率(3) 库存信息=商品编号+商品名称+商品数量(4) 供应商信息=供应商编号+供应商姓名+供应商电话+供应商地址(5) 员工信息=员工编号+员工姓名+员工性别+员工职务4.2.2 文件条目(1) 文件名:商品清单组成:商品编号+商品名称+商品数量+商品价格+商品会员价+进货价格+包装率+商品种类组织:按商品编号递增排列(2) 文件名:供应商清单组成供应商编号+供应商姓名+供应商电话+供应商地址组织:按供应商编号递增排列(3) 文件名:员工清单组成员工编号+员工姓名+员工性别+员工职务+员工权限组织:按员工编号递增排列(4) 文件名:库存清单组成商品编号+商品名称+商品数量组织:按商品编号递增排列5 系统功能的详细设计5.1组件的公共模块在工程中添加一个模块,命名为 “Module1” ,此模块有两个功能:(1)用来连接数据库及相关的初始化操作。(2)存放在对数据库的操作过程中可能用到的一些公共函数。添加全局变量:Sub Main()过程组件启动入口手动加入Sub Main()过程,这个就是在“工程属性”中指定的启动对象。这个过程完成ActiveX DLL的初始化工作。在这个过程中假如对opendb()的默认设置,并打开数据库连接。在Sub Main 中的opendb()函数,功能是用来连接到数据库。opendb()函数-与数据库建立连接。功能: 返回值:Boolean类型,True表示成功,False表示失败。search()函数-执行查询语句。功能:通过查询语句,从数据库中得到一个结果集。详细代码如下所示:Option ExplicitPublic con As New ADODB.ConnectionDim rs As ADODB.RecordsetPublic HYSZ As String 会员功能设置Public RoundSZ As String 四舍五入功能设置Public Sub opendb() 数据库连接 con.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & supermarket.MDB;Persist Security Info=False con.CursorLocation = adUseClient con.OpenEnd SubPublic Sub main() Frmdl.ShowEnd SubPublic Function search(sql As String) 执行查询语句 On Error Resume Next Set rs = New ADODB.Recordset rs.ActiveConnection = con rs.CursorType = adOpenKeyset rs.Source = sql rs.LockType = adLockOptimistic rs.Open Set search = rsEnd Function5.2登陆窗口 Frmdl进入登陆界面后,首先输入账号和密码,系统打开管理员表”admin”表进行查询,若找到与输入的账号和密码相同的记录,则会弹出程序主窗口,表示登陆成功。否则系统会提示账号程序主窗口,表示登陆成功。否则系统会提示账号和密码错误信息。要求重新登陆。登陆流程如下图5-1所示:开始账号密码是否正确关闭管理员表关闭管理员表否登陆成功是是图 5-1 登录窗口流程图进入登陆界面输入账号密码打开管理员表If rs.RecordCount 0 Then 判断是否有数据 If rs.Fields(pswd).Value = txtpasw.Text Then 判断密码是否正确 If rs.Fields(popedom).Value = all Then 判断用户的权限 MDIFrmMain.munsystem.Enabled = True Else MDIFrmMain.munsystem.Enabled = False End If MDIFrmMain.Show Unload Me Else MsgBox 密码错误! txtpasw.Text = txtpasw.SetFocus Exit Sub End If说明:进入登陆界面后,首先输入账号和密码,系统打开数据库表“admin”表进行判定。如果找到与输入的账号和密码相同的记录,则弹出程序主窗口,即登陆成功。判定用户权限时,如果该用户的权限值等于“all”就会把菜单的值设为“true” 。否则就会设为“false”,这样菜单其他功能就不能选择。然后就会过MDIFrmMain.Show 弹出程序主窗口,Unload Me关闭当前窗口。如果密码不正确,会弹出“密码错误”提示。5.3 销售管理功能的实现销售管理功能包括商品销售和销售统计功能。销售商品时,首先输入商品编号,系统打开商品表,查找该编号的商品是否存在。若存在,则显示商品名称和价格。判定购买数量是否小于或等于库存数量,若库存中数量不足,则系统会提示库存中的剩余数量,否则,还将会对实收现金是否为空进行判定,若不为空,则进入下一判定,若实收现金大于或等于应收现金,则系统提示找零数额。若小于应收现金,系统则会提示钱没收够。销售统计将直接列出销售清单。流程图如下图5-2所示:输入商品编号就可以自动得到商品名称和商品价格的实现代码如下:sqlstr = select * from merchandise where merchandiseid= & TxtMCHId.Text & Set rs = search(sqlstr) If rs.RecordCount 0 Then TxtMCHName.Text = rs.Fields(mname).Value TxtMCHSP.Text = rs.Fields(saleprice).Value输入商品编号商品编号存在否显示对应商品名称及价格购买数量是否大于库存数量实收现金是否为空实收现金是否小于应收现金销售成功否否是否否提示没有此商品提示商品库存数量是提示输入实收现金提示钱没收够是是图 5-2 销售功能流程图结束 5.4供应商添加 FrmProvider添加供应商信息时,首先判定供应商编号是否为空和重复,再判定供应商姓名是否为空,供应商的电话是否为空和数字,最后判定供应商地址是否为空。若为空或重复,则给出提示信息,并要求重新输入,否则打开供应商表,将表指针移到最后一条记录,可添加一条新纪录,然后关闭供应商标,即实现了供应商信息的添加。改流程图如下图5-3所示:输入供应商编号编号是否合法打开供应商表否否否是否是是是是图 5-3 供应商添加流程图输入供应商姓名姓名是否合法输入供应商电话姓名是否合法输入供应商电话电话是否合法输入供应商地址地址是否合法添加一条新纪录关闭供应商表否结束从数据库检查供应商编号是否存在实现的代码如下:sqlstr = select * from provider where merchandiseid= & TxtMCHId.Text & Set rs = search(sqlstr) If rs.RecordCount 0 ThenMsgBox 重复的供应商编号供应商数据表(provider)读取字段等于“供应商编号”文本框的所有信息,赋值给一个变量“sqlstr”,通过search(sqlstr)传参到已在模块定义好的查询语句进行查询。如果在供应商数据表(provider)已存在该“供应商编号”返回值为1,如果不存在返回值为0。通过IF判断语句判断如果返回行数不等于 0 则会弹出“重复的供应商编号”提示。5.5供应商查询及删除 FrmPSel查询时,将根据条件直接列出符合条件的供应商清单。从数据库检查供应商编号是否存在实现的代码如下: sqlstr = select * from provider where merchandiseid= & TxtMCHId.Text & Set rs = search(sqlstr) If rs.RecordCount 0 ThenMsgBox 重复的供应商编号 查询供应商信息时,首先打开供应商表,从供应商数据表(provider)读取字段等于“供应商编号”文本框的所有信息,赋值给一个变量“sqlstr”,通过search(sqlstr)传参到已在模块定义好的查询语句进行查询。如果在供应商数据表(provider)已存在该“供应商编号”返回值为1,如果不存在返回值为0。如果该供应商没有给超市提供商品了,管理员可以把该供应商删除。删除功能实现的代码如下:If MsgBox(确定删除此供应商么?, vbOKCancel) = vbOK Then rs.Delete rs.MoveFirst MsgBox 删除成功End Ifrs.MoveFirst方法将当前记录位置移动到 Recordset 中的第一个记录。并提示删除成功信息。如果选择“取消”就不会进行删除操作。5.6员工信息的添加FrmEmployee员工信息添加时,首先会判定员工编号是否为空,然后判定员工编号是否重复,再则判定员工姓名是否为空,最后判定员工职务是否为空。若为空或编号重复,则给予相应提示并返回。否则打开员工信息表,并将记录指针移到最后一条记录,添加一条新记录,然后关闭员工信息表,即实现了员工信息的添加。流程图如下图5-4所示:输入员工编号编号是否合法打开员工信息表添加一条新记录否否是是图 5-4 员工添加流程图输入姓名姓名是否合法输入职务职务是否合法关闭员工信息表结束是否员工职务可以为员工档案添加时选择不同的职务,下拉选项框ComboBox,通过该下拉框的List属性可以把该超市的选用到的员工职务事先添加进去,这样可以实现下拉框多重选择。输入员工相信息后通过“确定”选项,就可以把员工档案添加成功。实现代码如下: sqlstr = INSERT INTO employee Values ( & TxtEId.Text & , & TxtEName.Text & , & CmbSex.Text & , & CmbBy.Text & ) Set rs = search(sqlstr) MsgBox 添加成功!代码解释:INSERT INTO:可以把一条记录或多条记录添加到指定的数据库表中。Values后的每个值,代表是添加的每个记录的值。5.7员工信息的查询和删除 FrmESel删除员工信息时,首先给出警告提示,在确认删除的情况下,打开员工信息表,按员工编号找到相应的记录,调用函数,将该条记录删除即可,最后关闭员工信息。实现代码如下: 根据用户要求查询 sqlstr = select * from employee where 1=1 If TxtEId.Text Then sqlstr = sqlstr & and workid= & TxtEId.Text & End If If TxtEName.Text Then sqlstr = sqlstr & and name= & TxtEName.Text & End If If CmbBy.Text And CmbBy.Text 请选择职务 Then sqlstr = sqlstr & and duty= & CmbBy.Text & End If Set rs = search(sqlstr) If rs.RecordCount 0 Then CmdUpDate.Enabled = True CmdDel.Enabled = True End If Set DataGrid1.DataSource = rsEnd Sub删除员工代码如下Private Sub CmdDel_Click() 删除员工If MsgBox(确定删除此员工么?, vbOKCancel) = vbOK Then rs.Delete rs.MoveFirst MsgBox 删除成功 End IfEnd Sub5.8商品信息添加 FrmMCHD添加商品信息时,首先要求输入商品编号,并判断编号是否合法,若不合法,提示重新输入,否则输入商品名称并判断合法性,若不合法,提示重新输入,否则,输入商品数量,价格等相关信息,揭开商品信息表,将记录指针移到表尾,调用增加记录函数,曾一条新记录,关闭商品信息表,即实现了商品信息的增加。商品信息添加流程图如图5-5所示:输入商品编号编号是否合法选择商品类别添加一条新记录否否是是图 5-5 商品添加流程图输入商品名称名称是否合法输入数量结束打开商品信息表关闭商品信息表商品添加代码如下:If TxtMCHId = Then MsgBox 请输入商品编号 TxtMCHId.SetFocus Exit Sub End If 判断是否有此商品了 sqlstr = select * from merchandise where merchandiseid= & TxtMCHId.Text & 从数据库中查找 Set rs = search(sqlstr) If rs.RecordCount 0 Then MsgBox 此编号已经使用! Exit Sub End If If TxtMCHName = Then MsgBox 请输入商品名称 TxtMCHName.SetFocus Exit Sub End If If TxtMCHNum = Then MsgBox 请输入商品数量 TxtMCHNum.SetFocus Exit Sub End If If TxtMCHSP = Then MsgBox 请输入商品销售价格 TxtMCHSP.SetFocus Exit Sub End If If TxtMCHMP = Then MsgBox 请输入商品会员价格 TxtMCHMP.SetFocus Exit Sub End If If TxtMCHPP = Then MsgBox 请输入商品进货价格 TxtMCHPP.SetFocus Exit Sub End If If TxtMCHCR.Text 100 Then MsgBox 请输入0-100之间的数 TxtMCHCR.Text = 0 Exit Sub End If 销售价=销售价+包装率 If TXTMCHCP 0 Then TxtMCHSP.Text = TxtMCHSP + TxtMCHSP * (TxtMCHCR.Text / 100) End If If CmbType.Text = Or CmbType.Text = 请选择类型 Then MsgBox 请选择类型 CmbType.SetFocus Exit Sub End If 添加新商品 sqlstr = INSERT INTO merchandise Values ( & TxtMCHId.Text & , & TxtMCHName & , & TxtMCHNum & , & TxtMCHSP.Text & , & TxtMCHMP.Text & , & TxtMCHPP.Text & , & TxtMCHCR.Text & , & CmbType.Text & ) Set rs = search(sqlstr) 新商品入库,如果有此商品添加数量 sqlstr = select * from stockpile where merchid= & TxtMCHId & Set rs = search(sqlstr) If rs.RecordCount 0 Then rs.Fields(number).Value = rs.Fields(number).Value + TxtMCHNum rs.Update Else sqlstr = INSERT INTO stockpile Values ( & TxtMCHId.Text & , & TxtMCHName & , & TxtMCHNum & ) Set rs = search(sqlstr) End If MsgBox 商品添加成功!End Sub以上为系统流程代码。5.9会员信息添加添加会员信息时,首先输入会员编号,并判断编号是否合法,若不合法,则提示重新输入编号,否则输入会员姓名,并判断姓名是否合法,若不合法,则提示重新输入姓名。否则输入会员电话,接着打开会员信息表,将记录指针移到表尾,调用记录添加函数,添加一条新记录,最后关闭会员信息表,即实现了会员信息的添加。会员信息添加功能的流程图如下图5-6所示:输入会员编号编号是否合法打开会员信息表移到表尾否否是是图 5-4 员工添加流程图输入会员姓名姓名是否合法输入会员电话添加一条新记录结束关闭会员信息表会员信息的添加代码如下:If TxtId.Text = Then MsgBox 请输入会员编号 TxtId.SetFocus Exit Sub End If sqlstr = select * from member where memberid= & TxtId.Text & Set rs = search(sqlstr) If rs.RecordCount 0 Then MsgBox 此编号已经使用! Exit Sub End If If TxtName.Text = Then MsgBox 请输入会员姓名 TxtName
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!