VB图书销售管理系统.doc
《VB图书销售管理系统.doc》由会员分享,可在线阅读,更多相关《VB图书销售管理系统.doc(21页珍藏版)》请在咨信网上搜索。
XXXXX 《VB程序设计》课程设计报告 题目:图书销售管理系统 所在院系:信息技术学院 学 生: XX 指导老师: XX 日 期:二XXXXXXX 摘 要: 图书作为一种关系到人们工作、学习及生活等各个方面的特殊商品,在人们的生活水平日益提高的同时,它的地位也越来越重要, 然而图书品种繁多,销售模式特殊,随着信息化的快速发展和业务量的不断增大,传统的手工管理手段已经无法适应图书销售业的发展,如今,图书销售业需要实现销售业务的计算机管理,迫切需要开发出相应的销售管理软件,从而加强对图书销售的管理,通过计算机来完成大量本来由工作人员手工完成的工作,真正达到合理和充分利用现有资源,减轻工作压力的效果。因此, 开发一个图书销售管理系统是很有必要的,除此之外,图书销售管理系统也有着广泛的市场前景和实际的应用价值。 经过分析,使用微软公司的Visual Basic6.0开发工具及Access数据库,设计了图书销售管理系统。 关键字:图书销售管理系统,数据库,Visual Basic6.0 Abstract: As a particular commodity,books affect people’s work , study and life and so on.At the same time , people’s living standards are rising quickly, now , it plays a more and more important role, however, a wide variety of books and special sales mode, With the rapid development of information technology and the growing volume of business, the traditional management tools have not adapted the development of the bookselling industry, today, industry sales of books need to achieve sales of computer management. it is urgent to develop relevant sales management software , so that people can strengthen the Book sales management, using computers to finish the large amount of work which was finished by hand before ,people can really make full use of existing resources and alleviate the pressure of work.. As a result, it is very necessary to develop a Book Selling Management System., in addition, the book sales management systems also have broad market prospects and practical application. After analysis, using Microsoft's Visual Basic6.0 and Access database development tool to design the book sales management system.. Key words: Book Selling Management System, database, Visual Basic6.0 一:开发环境介绍: 1.1 Visual Basic简介 Visual Basic简称VB,是Microsoft公司推出的一种 Windows应用程序开发工具。是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。 早在1991年,为了简化Windows应用程序的开发,微软公司推出了Visual Basic1.0,如今的最新版本是Visual Basic 6.0。Visual Basic 6.0集成开发环境包含标题栏、菜单栏、工具栏、窗体设计器窗口、工程资源管理器窗口、工程窗口、窗体布局窗口和属性窗口。Visual Basic 6.0 的特点有:可视化的设计平台、面向对象的设计方法、事件驱动的编程机制、结构化的设计语言、充分利用Windows资源、开放的数据库功能与网络支持。 二:系统需求分析与功能模块 2.1 系统需求分析 一般的图书销售管理系统包括,进货管理,销售管理,库存管理,退货管理,销售统计,信息维护等功能。以下介绍一下销售管理系统的一些必备功能,每个功能由若干相关的子模块构成。 ⑴ 进货管理 包括进书录入及查询 ⑵ 销售管理 主要对销售的情况进行记录及浏览销售情况 ⑶ 库存管理 主要对库存量进行录入与查询。 ⑷ 退货管理 对顾客退回来的书籍进行管理,包括退货录入及查询 ⑸ 销售统计 主要是对销售业绩进行统计,以报表的形式显示销售业绩 ⑹ 信息维护 主要包括图书信息维护,人员信息维护及用户信息维护,其中只有管理员可以对人员信息进行维护,管理员可以更改所有用户的信息,用户只能修改个人信息。 2.2 系统的功能可用如图2-1所示框图表示。 系统登陆 图书销售管理系统 进货管理 销售管理 库存管理 退货管理 销售统计 信息维护 图2-1 2.3 数据库设计 本系统的数据库采用 Microsoft Access 2003 2.3.1 建立Access 数据库 启动Access 2003,选择文件,新建,空数据库(books_sale.mdb),如图2-2所示 图2-2 2.3.2 创建表 在上面的基础上,选择主菜单中的插入->表格,根据要求设计相应的表格,本系统中设计的表格如下所示: ⑴ tb_login (用户登录信息表) ⑵ tb_buybooks(图书进货录入表) ⑶ tb_personnelinfo(人员信息维护表) ⑷ tb_sale (图书销售表) ⑸ tb_store(图书库存表) ⑹ tb_withdraw(图书退货表) 三:系统具体实现 3.1 欢迎界面 ⑴.在此界面中引用了一个第三方控件(ccrpprg6),它是一个进度条控件。 首先要加载此控件,具体方法是把压缩包ccrpprg6.zip解压缩,然后在工具箱的空白处单击鼠标右键,从弹出的快捷菜单中启动"部件"窗口,如图3-1所示。 图3-1 点击"浏览"按钮,从存放ccrpProgressBar控件的文件夹中找到ccrpprg.ocx文件。 点击"应用"后ccrpProgressBar控件就添加到工具箱中了。 ⑵.向窗体中添加一个ccrpProgressBar控件和一个Timer控件 Timer控件的Interval值设置为100,与ccrpProgressBar控件的默认值一致。 ⑶.在timer1的timer事件中添加如下代码 If i = 100 Then Frm_before.Hide Timer1.Enabled = False '定时器停止工作 Frm_login.Show Else ’i 不为100则进度条向前进 ccrpProgressBar1.Value = i i = i + 2 End If ⑷. 使本窗体透明,新建一个模块Module1,添加如下代码 Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long ’AnimateWindow是一个窗口打开和关闭时产生动画效果的新函数,因为是一个新的函数, 所以在此定义 Public Const WS_EX_LAYERED = &H80000 Public Const GWL_EXSTYLE = (-20) Public Const LWA_ALPHA = &H2 ’表示把窗体设置成半透明样式 Public Const LWA_COLORKEY = &H1 ’不显示窗体中的透明色 Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 在form的load 事件中加入如下代码 Timer1.Enabled = True Timer1.Interval = 100 '定时器开始工作 Frm_before.Visible = True rtn = GetWindowLong(Me.hwnd, GWL_EXSTYLE) '取窗口的原先样式 rtn = rtn Or WS_EX_LAYERED '使窗体添加上新的样式WS_EX_LAYERED SetWindowLong Me.hwnd, GWL_EXSTYLE, rtn '把新的样式赋给窗体 SetLayeredWindowAttributes Me.hwnd, 0, 150, LWA_ALPHA '把窗体设置成半透明样式,第二个参数表示透明程度取值范围0 --255, 为0时就是一个全透明的窗体了 3.2 系统登录 ⑴. 在窗体上加个adodc1控件,登录的主要代码为 Dim i As Integer Adodc1.Refresh Adodc1.Recordset.MoveLast Adodc1.Recordset.MoveFirst For i = 1 To Adodc1.Recordset.RecordCount If 控件名.Text = "" Then ’如果控件中的内容为空,则显示提示 MsgBox "请选择用户类型!", vbOKOnly + vbInformation, "注意" ElseIf (Combo1.Text = Adodc1.Recordset.Fields("userkind")) And (Trim(Text1.Text) =Adodc1.Recordset.Fields("name"))And(Trim(Text2.Text)=Adodc1.Recordset.Fields("password")) Then ’判断用户名与密码是否相符 Frm_main.Show Unload Me Exit Sub Else MsgBox "无效的密码,请重试!", "登陆" Exit Sub End If Next ⑵.若当前用户是新用户,则可以单击新用户注册进行注册,主要代码如下: ①.在Module1中加入如下代码: Option Explicit Public con As ADODB.Connection Public rst As ADODB.Recordset Public Sub OpenDataBase() Set con = New ADODB.Connection con.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=books_sale.mdb;Persist Security Info=False" Set rst = New ADODB.Recordset con.Open End Sub ②.在caption属性为”新用户注册”的按纽的click事件中添加如下形式的代码 Call OpenDataBase rst.Open "tb_login", con, adOpenStatic, adLockOptimistic, -1 If Text1.Text = "" Then …………提示不能为空 ElseIf Text2.Text = "" Then …………提示不能为空 Else For i = 1 To rst.RecordCount If Text1.Text = rst.Fields("name").Value Then MsgBox "该用户已存在,请重新输入用户名!", vbOKOnly + vbExclamation, "用户" Exit Sub Else rst.MoveNext End If Next I ’判断新的用户名是否与已存在的用户重名 rst.AddNew rst.Fields("字段名") = Text.Text rst.Update rst.Requery rst.Close MsgBox "新用户添加成功!", vbOKOnly + vbInformation, "提示" Unload Me End If 3.3 主界面 ⑴.选择VB IDE中的菜单栏中的工具->菜单编辑器,进行如下(图3-2)设置 图3-2 ⑵.加Toolbar控件,单击如图3-3中的 添加6个按纽,并分别设置其标题及关键字,对应的 与中的数值要一致。 图3-3 在toolbar1的buttonclick事件中加入如下形式代码 Select Case Button.Key Case "关键字" 语句 End Select ⑶.加ImageList控件,然后右击打开如图3-4的属性页,选择图像,单击 ,添加6个图片 图3-4 ⑷.在图3-3中选择通用,然后设置其图像列表为ImageList1 即 ⑸.添加StatusBar,timer控件 在statusbar的属性页中,选择窗格,然后单击,插入相应的窗格 在timer1的timer事件中加入语句 StatusBar1.Panels(3).Text = Time ’显示当前系统时间 在form的load事件中的主要代码如下 StatusBar1.Panels(1).Text = "欢迎使用图书销售管理系统!" StatusBar1.Panels(2).Text = Format(Date, "dddddd") ’以完整日期表示法显示当前系统中的日期 If Frm_login.Combo1.Text = "0" Then Me.personnelim.Enabled = False ‘如果登录的用户为一般用户则该用户不能对人员信息进行维护 3.4 进货管理 ⑴.进书录入 ①.在确定按纽的click事件中加入如下形式代码 Call OpenDataBase rst.Open "表名", con, adOpenStatic, adLockOptimistic, -1 rst.AddNew rst.Fields("表中字段名") = Text1.Text rst.Update rst.Requery rst.Close MsgBox "新书添加成功!", vbOKOnly + vbInformation, "提 示” ②.在form 的load 事件中加入如下语句 DTPicker1.Value = Date ’使Dtpicker1的当前值为系统日期 ⑵.进书查询 在“查询“按纽的click 事件中添加如下代码 Dim sql As String sql = "select * from tb_buybooks where" If Combo1.Text = "" Then MsgBox "请选择图书进货日期!", vbOKOnly + vbExclamation Combo1.SetFocus Exit Sub Else sql = sql & "ISBN = '" & Trim(Combo1.Text) & "'" End If Adodc1.RecordSource = sql Adodc1.Refresh ’查询指定日期的进书情况 3.5 销售管理 ⑴.图书销售录入(代码同进书录入的代码) ⑵.图书销售浏览 ①. 在from的load 事件中添加如下代码 Call OpenDataBase rst.Open "tb_sale", con, adOpenStatic, adLockOptimistic, -1 ②.在通用代码段中添加如下形式代码 Public Sub viewdatas() On Error Resume Next Text.Text = rst.Fields("字段名”)Value ’把数据库中的字段值赋给相应的控件 End Sub ③.在”第一本”按纽的click事件中加入如下代码 rst.MoveFirst ’移到表中的第一条记录 Call viewdatas ④. 在”上一本”按纽的click事件中加入如下代码 If rst.BOF Then ’判断是否是第一条记录 MsgBox "已经是第一条记录!", vbOKOnly + vbInformation Else rst.MovePrevious ’向前移一条记录 Call viewdatas End If ⑤. 在”下一本”按纽的click事件中加入如下代码 If rst.EOF Then ’判断是否是最后一条记录 MsgBox "已经是最后一条记录!", vbOKOnly + vbInformation Else rst.MoveNext ’向后移一条记录 Call viewdatas End If ⑥. 在”最末本”按纽的click事件中加入如下代码 rst.MoveLast ’移到最后一条记录 Call viewdatas 3.6 库存管理 ⑴.库存录入 (代码同进书录入的代码) ⑵.库存查询 ①.在“查询“按纽的click事件中添加如下代码 Dim txtSQL As String txtSQL = "select * from tb_store " If Text7.Text = "" Then sMeg = "请输入图书编号!" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" Text7.SetFocus Exit Sub Else txtSQL = txtSQL & " where ISBN = '" & Trim(Text7.Text) & "'" End If Adodc1.RecordSource = txtSQL ’重新给数据源赋值’ Adodc1.Refresh ②.Adodc1的记录源设置如图3-5所示: 图3-5 3.7退货管理 ⑴.退货录入 (代码同进书录入的代码) ⑵.退货查询 (同库存查询) 3.8 销售统计 ⑴.图书销售业绩报表 ①.选择VB IDE 的菜单栏中的工程-> 添加Data report,添加一个数据报表,名称使用默认的Datareport1。 ②.设定 Datareport对象的DataSource属性为Environment1。 ③.设定Datareport对象的DataMember属性为 Command1。 ④.右击设计器,在弹出的快捷菜单中单击“检索结构”选项。 ⑤.向相应的节添加相应的控件。 报表Datareport1的设计界面如图3-6 所示。 图3-6 在主窗体的菜单栏中选择销售统计->图书销售业绩报表,加入语句DataReport1.Show 3.9信息维护 ⑴.图书信息维护(同图书销售浏览) ⑵.人员信息维护 添加一些常用按纽之后,然后在人员信息维护中加一个(CommonDialog)按纽, 在“浏览图片”的click事件中添加如下代码 With Me.CommonDialog1 .DialogTitle = "选择要导入的图片" .Filter = "选择图片类型|*.jpg|*.bmp|*.bmp|*.gif|*.*|*.jpg" .ShowOpen .InitDir = App.Path Me.Picture1.Picture = LoadPicture(Me.CommonDialog1.FileName) End With ⑶.用户信息维护 在Form的 load事件中加入如下代码 If Frm_login.Combo1.Text = "0" Then ’判断当前使用者是管理员还是一般用户 Me.Combo1.Text = Frm_login.Text1.Text ’若为一般用户则该用户名赋值给Combo1.Text,否则,则把所有用户名都加到Combo1中 Else Set s = New ADODB.Connection Dim str As String str = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\books_sale.mdb;persist security info=false" s.Open str Set c = New ADODB.Recordset c.Open "select * from tb_login", str, 1, 1 c.MoveFirst While Not c.EOF Combo1.AddItem (c.Fields("name").Value) c.MoveNext Wend End If 在“确定”按纽的click事件中加入如下代码 Call OpenDataBase rst.Open "tb_login", con, adOpenStatic, adLockOptimistic, -1 Adodc1.RecordSource = "select password from tb_login where name = combo1.text" If Text1.Text <> rst.Fields("password").Value Then ’判断输入的原密码是否与数据库中的相同 MsgBox "您输入的原密码不正确,请重新输入!", vbOKOnly + vbInformation, "提示" Else rst.Fields("password") = Text2.Text rst.Update rst.Requery rst.Close MsgBox "密码修改成功!", vbOKOnly + vbInformation, "提示" Unload Me End If 四:调试过程 ⑴.系统运行时的第一个界面如图4-1所示 图4-1 ⑵.然后进入登录界面,如图4-2所示 图4-2 ⑶.用户正确登录之后则可以进入主界面,主界面如图4-3所示 图4-3 ⑷.若该用户第一次使用本系统,则可以选择“新用户注册“来进行注册,如图4-4所示 图4-4 ⑸.新注册用户的用户名不能与数据库中已经存在的用户重名,运行效果如图4-5所示 图4-5 ⑹.运行时单击主界面中的Toolbar中的“进货”按纽或菜单栏中的进货管理->进书录入则运行界面如图4-6所示 图4-6 ⑺.单击主界面的菜单栏中的进货管理->进书查询,则运行界面如图4-7所示 图4-7 ⑻.单击主界面的菜单栏中的销售管理->图书销售浏览,则运行界面如图4-8所示 图4-8 ⑼.单击主界面的菜单栏中的库存管理->库存查询,则运行界面如图4-9所示 图4-9 ⑽.单击主界面的菜单栏中的销售统计à 图书销售报表,则运行界面如图4-10所示 图4-10 ⑾.单击主界面的菜单栏中的信息维护->人员信息维护,则运行界面如图4-11所示 图4-11 ⑿.单击主界面的菜单栏中的信息维护->用户信息维护,则运行界面如图4-12所示 图4-12 ⒀.单击主界面的菜单栏中的帮助->关于,则运行界面如图4-13所示 图4-13 五:总结 通过本次实验,了解了做一个系统的大概步骤。首先,应该确定该系统要实现的功能,以功能为目标,逐步细化;其次,在做的过程中也应该考虑到界面设计的问题,界面是软件直接与人打交道的主要途径,因此,应根据实际情况设计相应的界面,当系统中有多个模块时,应尽量使各个模块的界面风格保持一致;最后,添加代码,不断地对程序进行调试,达到最终目标。在设计时也会存在一些细节上的问题,例如,在用户登录界面中,首先要用鼠标把光标移到用户名后对应的编辑框中,然后在键盘上输入用户名,接着再次重复以上操作输入密码,这样让用户频繁的在鼠标与键盘之间来回变换,会使用户感觉到疲劳,对系统产生反感,因此,在设计的过程中应尽量避免出现此现象。 在自己认为系统做好了之后,然后换位思考一下(把自己当成各种阶层的用户),会发现很多问题,比如说,提示信息不足,导致用户不知道某些事情是否已经完成了等等。 六:参考文献 [1] 刘瑞新,汪远征,Visual Basic 程序设计教程,北京:机械工业出版社,2000.10 [2] 张翼英,Visual Basic 课程设计,北京:清华大学出版社,2008.1 [3] 龙马工作室,新编 Visual Basic 6.0程序设计从入门到精通,北京:人民邮电出版社,2008.4- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 图书 销售 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文