1、xx理工学院毕业设计(论文)千丝坊进销存管理系统摘 要千丝坊进销存管理系统是一种管理商业企业中各种数据的软件,利用本系统用户可以很方便地对企业仓库进行有效的管理,提高各个部门的工作效率。本文首先简要介绍了我国商业企业的现状以及进销存数据管理系统的特点、功能和使用对象,使读者对进销存管理系统有了初步的认识。接着详细介绍了数据库和VB的相关知识;在编程工具方面,主要介绍了VB的特点和怎样用VB和access操作数据库连接。以及对vb界面,属性,编程等各个方面方面的一系列操作过程。最后,我给出了大家所完成的进销存数据管理系统说明书,主要内容包括软件的功能、设计框图、数据库结构和各模块的操作说明。关键
2、词:进销存管理系统,数据库编程,VB,ACCESS 2003 Qiansifang enterprise enters sells saves the management systemABSTRACTYIWU Qiansifang Enters sells saves the management system, database programming, VB, ACCESS 2003enters sells saves the management system is a kind of commercial enterprise management in a variety of d
3、ata software, using this system the user can easily warehouse for effective management of the enterprise, improve the working efficiency of the various departments. This article first briefly introduces the present situation of our country business enterprise and enters sells saves the data manageme
4、nt system characteristic, function and use of the object, make the reader to have a preliminary understanding of enters sells saves the management system. Then the paper introduces the database and VB related knowledge; In terms of programming tools, mainly introduced the characteristic of VB and ho
5、w to use VB and access database connection operation. As well as to the vb interface, the attribute, programming in various aspects, such as a series of process operation. Finally, I gave all enters sells saves the data management system specification complete, the main content including software fu
6、nction, design diagram, database structure and the operating instructions of each module.KEY WORDS: Enters sells saves the management system, database programming, VB, ACCESS 20032目录前 言1第一章 开发运行环境及相关理论知识31.1 开发运行环境31.2 vb语言和应用程序的基本特点31.2.1 可视化设计31.2.2 事件驱动编程31.2.3 提供了易学易用的应用程序集成开发环境41.2.4 结构化的程序设计语言
7、41.2.5 支持多种数据库的访问41.3 数据库的概念51.3.3实现数据库之间的联系61.3.4数据库系统61.3.5 Access和Visual Basic 结合的优点6第二章 系统分析 3.1 开发背景和意义73.3用户的基本需求3.2系统的主要模块功能实现83.3进销存系统流程图8第三章 系统设计143.1数据库设计143.2 功能模块设计183.2.1系统登陆表单143.2.2用户申请表单163.3.3修改密码表单19第五章 系统实施205.1销售单基本操作215.1.1、销售单具体操作235.1.2、销售单查询255.1.3、销售单一览275.2 销售退货28结论296.1 设计
8、结果及设计讨论296.1.1 设计结果296.1.2 设计讨论296.2 设计心得306.3本系统尚存的问题30致 谢31参考文献32前言当前, 我国商业正处在一个高速发展的时期, 也是我国商业由传统商业向现代化商业转变的重要时期,正在经历由经验决策到信息决策转变的时期,如何及时准确地获得市场信息、商品信息,了解市场的发展趋势,来预测、指导经营活动;如何及时准确地掌握企业内部商品的购销动态、商品的品类结构、商品的价格结构、库存状况、资金状况等信息,已成为竞争的对象。只有把全面完整的信息作为决策的基础和依据,使整个商业活动信息化,才能运筹帷幄,掌握未来。从几时起,“商战”已成为信息战,“商战”已
9、从商场之外打响。经营者已经不只仅仅关心所经营商品的销售额、库存量,经营者更关心的是哪一些商品带来了更多的利润,哪一些商品“只吃米不下蛋”。今天哪些商品热销,明天哪些商品走俏,进什么样的货、从何处进、进多少等等问题。如何适时地了解顾客的”胃口”已成为经营的关键,如果准备得太多或者太少都不会达到最佳的效果。要想达到上述目的,需要各种各样的信息作为依据:畅销、滞销商品的信息、供应商及其供应商品的信息、顾客的信息、市场的信息等等。而且,当今商业经营中商品品种日益丰富,周转期越来越短,信息量日益增多,原始的管理手段已不能适应现代管理对信息的需求,对有些信息地统计,依靠手工已经不可能实现,即使有了结果,也
10、不能避免信息的滞后、不准确、不全面等弊端。 商业经营者对信息的需求越来越迫切和苛刻,商场之间的竞争的白热化使利用计算机对信息进行管理已成为经营活动中不可缺少的手段。计算机管理信息系统已成为进行现代商业管理的有利工具。 随着通讯技术、网络技术、计算机技术、软件技术的发展,利用计算机系统通过对经营活动中用到的信息进行收集、整理、加工参与管理并辅助决策已成为可能。通讯技术的发展缩短了世界的距离、缩短了人们与信息的距离,人们可以足不出户便可以将全世界的信息成为自己的囊中之物。网络的发展已彻底消除了异构网络间的鸿沟,计算机技术和软件技术的发展已大大提高了其性价比,使其应用大放异彩。充分利用以上各种技术,
11、可以实现对包括电子订货(EOS)系统;网上商店、电子购物系统等在内的整个商业活动的全方位管理。如何对商场实施计算机管理和如何让计算机系统更好地辅助管理和决策已成为关键。 第1章 VB语言概述1.1 VB简介 VB是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。VB是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。 美国微软公司在1991年推出VB1.0至今已经经历了6个版本,VB6.0运行在win9x或winme,win2000,winxp,windowsNT
12、等操作系统下,是一个32位的应用程序开发工具。1.2 VB语言的基本特点及VB应用程序的基本持点 VB程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程.1.2.1 可视化设计 VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉Windows应用程序的用户而言是一点也不陌生,如窗体、菜单、命令按钮、工具按钮、检查框等等,用户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。1.2.2 事件驱动编程Windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求
13、程序设计不能是单一性的,在使用VB设计应用程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响应,这就是所谓的事件驱动编程。1.2.3 提供了易学易用的应用程序集成开发环境在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,是用户在友好的开发环境中工作。1.2.4 结构化的程序设计语言VB具有丰富的数据类型和结构化程序结构,而且简单易学。此外,作为一种程序设计语言,VB还有许多独到之处:l 强大的数值和字符处理功能。l 丰富的图形指令,可方便的绘制各种图形。l 提供静态和
14、动态数组,有利于简化内存管理。l 过程可递归调用,使程序更为简练。l 支持随机文件访问和顺序文件访问。l 提供了一个可供应用程序调用的包含多种类型的图表库。l 具有完善的运行出错处理。1.2.5 支持多种数据库的访问利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、dBASE、Microsoft FoxPro和Paradox等,也可以访问Microsoft Excel,Lotsl2-3等多种电子表格。2.1 数据库的概念数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系
15、数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 2.4 实现数据库之间的联系数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的记录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中
16、如何与其它的库建立关系。2.5数据库系统 数据库系统本质上是一个用计算机存储记录的系统。数据库本身可被看作为一种电子文件柜:也就是说,它是收集计算机数据文件的仓库或容器。系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。总之,数据库系统是一个计算机存储记录的系统,即,它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。 2.6 Access和Visual Basic 结合的优点除了Access和Visual Basic各自的特点之外,将两者结合起来使用,最主要的优点就是两者使用相同的数据库引擎,即Microsoft Jet。Microsoft
17、Jet是Microsoft Access数据库系统的数据库系统的数据库引擎组件。在1992年Access 1.0 发布的时候,Jet首次问世。1993年Visual Basic 3.0发布的时候,Jet 1。1内置于其中。此后,只要发布新版本的Access,就会有相应版本的Jet数据库问世。当一个新版本的Visual Basic准备发布的时候,它一定会内置进行了一些修改的最新版本Jet数据库。由于Access和Visual Basic使用的相同数据库引擎,因此可以建立既包括Access组件又包括Visual Basic组件的应用程序,这样就提高了程序的稳定性,充分发挥了两者各自的优点。5洛阳理
18、工学院毕业设计(论文)第2章 进销存系统简介 2.1开发背景和意义义务千丝坊日用品有限公司成立于2009年10月1日,是一家专业从事电子商务美甲产品生产销售为一体的阿里批发及外贸销售为一体的公司。由于公司目前规模不是很大,物资经销企业又属于较传统企业,企业的管理基本采用传统的管理方式。工作人员使用传统人工的方式管理进销存数据,每天都在用单据的方式处理进销存数据,然后归档,这种管理方式存在着如下的缺点:管理效率低下,劳动强度大,投入成本多。 信息处理慢、流通滞后,准确率低,工作效率低,企业内部沟通不畅通,不能为管理者提供有效的决策信息。时间一长将会产生大量的文件和数据,对于查找、管理都带来不少的
19、困难。商品到货入库、出库流程繁琐,杂乱,周期长。这些存在的问题给公司的仓库管理人员及销售人员带来了极大的不便,严重阻碍了公司的发展。为了提高企业管理上的灵活性,实现企业的稳步发展,满足企业高复杂、快速、准确的管理工作要求 迎接日益激烈的市场竞争,信息技术为他们提供了最好的途径。以计算机与通信技术为基础的信息技术已经进入了蓬勃发展的时期。信息技术为人们创造了一种全新的不受时间、地域和计算机本身约束而实现信息交流、共享和协作的方式,这种新的处理方式给企业带来了新的机遇和挑战。3.1用户的基本需求商品进销存管理系统需要实现以下需求:1、 够对企业所拥有的各种商品的基础信息进行维护和管理。商品的基础信
20、息包括:商品的顺序号、商品名称、商品规格、计量单位、备注信息、库存数量等。系统需要能够对商品的信息进行添加、修改和删除,也可以按照一定的条件来进行查询,而且还需要随时掌握库存商品的数量。2、 时对商品进货以补充库存量的不足。商品的进货信息包括顺序号、单据编号、商品名称、进货数量、进货价格、进货日期、总金额、规格、仓库、备注等。系统需要能够对进货信息进行添加、修改、删除,也可以按照一定条件来进行查询。3、 跟踪各种商品的销售信息。商品的销售信息包括顺序号、商品名称、客户名称、购买数量、售出价格、销售日期、规格、总金额等。系统要求能够对销售信息进行添加、修改、和删除,也可以按照一定的条件来进行查询
21、。4、 并且能够对商品的库存量进行报警,以防仓库的商品数量不足影响商品的销售。可以根据库存的大小和销售的情况,来对库存上限和库存下限进行设置,然后根据库存上限和库存下限进行库存的商品数量调整。库存表包括顺序号、商品名称、商品规格、商品单价、总金额、库存上限、库存下限、仓库号、报警信息。还能够按照一定的条件对库存进行查询、而且还能对库存上限和库存下限进行设置。然后能根据库存的上限和库存下限进行库存的报警查询。3.2本进销存系统的主要模块设计根据需求分析的结果,本系统的主要划分为以5个子模块:系统管理、基本资料、进货管理、销售管理和库存管理。商品进销存系统是一个基于管理员的系统,它只有管理员才能对
22、他进行操作。以下分别介绍系统中的5个子模块:1系统管理模块管理员可以对系统进行一切操作包括:管理员添加、管理员申请和密码修改。2基本资料模块基本资料模块用来对企业所拥有的各种商品的基本信息进行维护和管理。在该系统中,需要对商品的基本信息进行添加、修改和删除,包括仓库资料、商品资料、计量单位、商品规格、生产厂商、客户资料、供应商资料。也可以按照一定的条件查询。3进货管理模块进货模块用来对企业所需要的各种商品的添加,以保证仓库的商品的稳定。该模块能够根据基本资料来进行商品的进货,然后还能根据添加的每次进货信息进行修改和删除,也可以按照一定的条件来进行查询。按照商品名称、仓库号和商品规格对所进商品的
23、库存数量上自动增加所进的数量,保证仓库中实物和数据的一致性。4销售管理模块销售信息管理模块用来跟踪商品的每一次销售的信息。该模块需要能够添加每次的销售信息,也可以对销售信息进行修改和删除,也可以按照一定的条件查询。当添加销售信息时,需要在所售商品的库存量上自动减去所销售的数量。3.3进销存系统流程图如表3-1:表3-1进销存系统流程图进销存管理系统基本资料 销售管理库存管理系统设置系系统登陆用用户申请密密码修改退出库系统进货管理进进货单进出货查询进出货一览销销售单销销售单查询销销售单一览销销售退货退退货一览库库存一览仓仓库资料商商品资料计计量单位规规格生生产厂商客客户资料供供应商资料报告警查询
24、报告警设置第三章 数据库设计 根据进存销的业务情况,本系统采用了小型的access数据库,数据库名称为 jcx.mdb,数据库包括以下10个表:仓库表(cangku)、供应商表(gongyingshang)、规格表(guige)、计量单位表(jiliangdanwei)、客户表(kuhu)、商品表(shangpin)、生产厂商表(shengchanchangshang)、进货表(jinhuo)、库存表(kucun)、退货表(retreat)。1、 仓库表-cangku表3-2仓库表顺序号id自动编号否编号bianhao文本50可变是否仓库号quwei文本50可变是否备注beizhu文本50可变
25、是否2、 供应商表-gongyingshang表3-3供应商表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号id自动编号否供应商名称name文本50可变是是联系地址phone数字长整型可变否是联系人lianxiren文本50可变是是联系地址adress文本50可变是是备注beizhu文本50可变是是3、 规格表-guige表3-4规格表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号id自动编号是商品规格guige文本50可变是是4、 单位表-jiliangdanwei表3-5单位表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号I
26、d自动编号是商品单位name文本50可变是是5、 客户表-kuhu表3-6客户表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号id自动编号否客户名称name文本50可变是是联系电话phone数字长整型可变否是联系人lianxiren文本50可变是是联系地址adress文本50可变是是备注beizhu文本50可变是是6、 商品表-shangpin表3-7商品表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号id自动编号是商品名称name文本50可变是是7、 生产厂商表-shengchanchangshang表3-8生产厂商表真实名称字段名称数据类型字段大
27、小字段是否固定允许零长度必要字段顺序号id自动编号是生产厂商name文本50可变是是8、 进货表-jinhuo表3-9进货表真实名称字段名称数据类型字段大小 字段是否固定允许零长必要字段顺序号Id自动编号否单据编号Danjuid数字长整型可变是是商品名称Name文本50可变是是进货日期Date日期/时间固定否是经办人jingbanren文本50可变是是商品价格Danjia货币固定否商品规格Guige文本50可变是是商品数量Shuliang数字长整型总金额Jine货币固定否是生产商Shengchanshang文本50可变是是仓库号Cangku文本50可变是是备注Beizhu文本50可变是是9、库
28、存表-kucun表3-10库存表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段顺序号Id自动编号否否商品名称name文本50可变是是商品规格guige文本50可变是是库存量kucunliang数字长整型可变是是仓库号cangku文本50可变是是报警baojing文本50可变是是金额jine货币可变是是库存上限shangxian数字长整型可变是是库存下限xiaxian数字长整型可变是是商品价格danjia货币固定是是生产商shengchanshang文本50可变是是10、退货表-retreat表3-11退货表真实名称字段名称数据类型字段大小字段是否固定允许零长度必要字段商品名称n
29、ame文本50可变是是生产厂商fc文本50可变是是单价danjia数字长整型数量shuliang文本50可变是是日期data日期50可变是是单据编号danjuid货币是计量单位guige数字长整型经办人jingbanren数字长整型金额jine货币固定13 3.2 功能模块设计商品存销系统中的系统设置模块包括系统登录功能、用户申请功能、修改密码功能和退出系统功能,主要由” 系统登录(frmlogin)”表单、“用户申请(userappend)” 表单“修改密码(modifycode)”表单。4.1系统登陆表单并不是每个人都可以访问该系统,必须是合法的用户才可以使用该系统的各项功能,在用户登陆前
30、各项菜单是不可用的,登陆后各菜单就变成可用。“系统登录”表单可以检测用户是否有正确的用户与密码,用来防止非法用户进入系统,为系统安全提供一层防护作用。其中用户名:zhang,admin,11;对应密码:zhang,123,11。登陆表单界面如下:图4-1 登陆表单界面登陆按钮的click的代码如下:If Trim(txtusername.Text = ) Then MsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 txtusername.SetFocus Else txtSQL = select * from user1 where u
31、sername = & txtusername.Text & adors.Open txtSQL, conn, adOpenKeyset, adLockPessimistic If adors.EOF = True Then MsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 txtusername.SetFocus Else If Trim(adors(Password) = Trim(txtpassword.Text) Then 判断密码输入正确性 MsgBox 正确登录, vbOKOnly + vbExclamation, main
32、.jiben.Enabled = True main.jinhuo.Enabled = True main.xiaoshou.Enabled = True main.kucun.Enabled = True adors.Close Me.Hide Load main main.Show Else MsgBox 输入密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 txtpassword.SetFocus txtpassword.Text = End If End If End If miCount = miCount + 1 If miCount = 3 T
33、hen 记录密码输入的次数,累计到3此则自动结束程序 Me.Hide End If 4.2用户申请表单“用户申请表单”可以增加用户,使更多的人可以访问该系统。但是并不是每个用户都可以申请的。用户可以申请数据库表中不存在的任何的用户名和密码。如果你申请的用户名未被使用,则申请成功,否则,申请失败!用户申请表单界面如下:图4-2 用户申请表单界面其中申请的代码实现:Private Sub apply_Click()Dim sql As StringSet conn = New ADODB.Connectionconn.Open Provider=Microsoft.Jet.OLEDB.4.0;Da
34、ta Source=jcx.mdb;Persist Security Info=False;Set addrs = New ADODB.Recordset sql = select * from user1 where username = & txtusername & addrs.Open sql, conn, adOpenKeyset, adLockPessimisticIf Trim(txtusername.Text) = Then MsgBox 用户名不能为空,请输入您要申请的用户名, vbOKOnly + vbExclamation, 用户申请 txtusername.Text =
35、 txtpwd.Text = txtusername.SetFocus Exit SubEnd IfIf Not addrs.EOF = True Then MsgBox 此用户名已存在,请另外输入!, vbOKOnly + vbExclamation, 用户申请 txtusername.Text = txtpwd.Text = txtusername.SetFocus Else addrs.AddNew addrs.Fields(username) = Trim(txtusername.Text) addrs.Fields(password) = Trim(txtpwd.Text) addr
36、s.Update addrs.Close MsgBox 恭喜你,申请成功!, vbOKOnly + vbExclamation, 申请成功 txtusername.Text = txtpwd.Text = Unload MeEnd If End Sub4.3修改密码表单 使用此功能的用户,必须是具有访问该系统的权限,即是能登陆到该系统的用户,如果不能访问该系统的用户不能使用该功能。修改密码表单,主要是进入系统的用户修改自己的密码的基本信息。不进入系统的用户不能使用该功能。修改密码表单界面如下:图4-3 修改密码表单界面其中修改的代码实现:Dim sql As StringIf txtnewpw
37、d.Text txtnewpwdagain.Text Then MsgBox 两次输入的密码不同!请重新输入, vbOKOnly + vbInformation, txtnewpwd.SetFocus Exit Sub End If sql = select * from user1 where username = & txtusername.Text & and & password= & txtpwd.Text & rs.Open sql, conn, adOpenKeyset, adLockPessimistic If rs.EOF = True Then MsgBox 用户名或密码错
38、误, vbOKOnly + vbExclamation, txtusername.Text = txtusername.SetFocus txtpwd.Text = rs.Close Exit Sub Else rs.Fields(password) = Trim(txtnewpwd.Text) rs.Update rs.CloseMsgBox 修改密码成功!, vbOKOnly + vbExclamation, 修改成功! End If19第5章 详细设计 销售信息管理模块用来跟踪商品的每一次销售的信息。该模块需要能够添加每次的销售信息,也可以对销售信息进行修改和删除,也可以按照一定的条件查
39、询。当添加销售信息时,需要在所售商品的库存量上自动减去所销售的数量。5.1销售单基本操作表5-12销售单基本操作销售单基本操作销售单一览销售单查询操作添加销售单修改销售单删除记录退出操作5.1.1、销售单具体操作是指对于销售这个业务的基本的操作,例如:添加和修改的基本操作。在销售单基本操作中有四部分組成:1、 添加销售单:点击添加按钮则弹出“添加销售单”的窗体。2、 修改销售单:点击修改按钮则弹出“修改销售单”的窗体。3、 在表格上删除销售单中的记录。4、 退出销售单的基本操作。销售单基本操作的界面如下: 图5-4 销售单基本操作点击添加按钮则弹出“添加销售单“的界面如下:图5-5添加销售单点
40、击修改按钮则弹出“修改销售单”的窗体的流程图:有 表5-13修改销售单修改保存查查询销售没有直接退出过程图5-6 修改销售界面其中,修改中有一个查询框,可以对已有的编号进行查询,如果存在该记录则把它们赋给相应的文本框和组合框。用户可以对这些值做任何合法的修改,修改完后点击修改后则修改成功。如果不存在该记录则系统提示,则系统提示不存在该记录。其中修改的按钮同密码的修改代码,其查询按钮代码如下: 其“查询按钮“的代码实现如下:Private Sub Command1_Click()Dim sql As Stringsql1 = select * from xiaoshou where danjui
41、d= & txtid.Text & rs.Open sql1, conn, adOpenDynamic, adLockOptimisticIf rs.EOF = True Then MsgBox (无此编号,请重新输入) rs.Close Exit Sub Else Comboname.Text = rs.Fields(name) Combouser1.Text = rs.Fields(jingbanren) txtPrice.Text = rs.Fields(shoujia) txtQuantity.Text = rs.Fields(shuliang) Combofc.Text = rs.Fields(shengchanshang) Comboguige.Text = rs.Fields(guige) DTPicker1.Value = rs.Fields(data)