目 录
一、系统简介 „„„„„„„„„„„„„„„„„„„1 二、系统整体分析 „„„„„„„„„„„„„„„„„„1 (一)系统功能分析 „„„„„„„„„„„„„„„2 (二)系统结构分析 „„„„„„„„„„„„„„„„3 (三)系统需求分析 „„„„„„„„„„„„„„„„4 三、数据库设计 „„„„„„„„„„„„„„„„„„„5 (一)数据库需求分析„„„„„„„„„„„„„„„„5 (二)数据库逻辑结构设计„„„„„„„„„„„„„„5 四、系统设计„„„„„„„„„„„„„„„„„„„„6 (一) 公用模块 „„„„„„„„„„„„„„„„„„6 (二) 主窗体模块 „„„„„„„„„„„„„„„„„7 (三)部分功能模块及程序说明„„„„„„„„„„„„8 五、结束语„„„„„„„„„„„„„„„„„„„„„16 参考文献 „„„„„„„„„„„„„„„„„„„„„17
商品销售管理系统
【内容摘要】运用现代信息技术再造的组织结构,建立一个适应知识经济创新时代需要的科学化、正规化管理方式 ,显得尤为重要。售货员站柜台的形式,已不能满足现有销售的发展,就迫切的必要引入新的思想技术和管理技术进入到超市管理中。超市销售管理系统是指以提供较手工方式下更高的效率和更低的出错率。
超市销售管理系统可对输入的商品信息进行添加、修改、查找、删除,商品销售汇总、前台销售等操作,这种集约化的管理模式,便于超市销售信息的汇总,整理和加工,在日常生活中提高生活效率,提供更好的优质的服务。
作为计算机应用的一部分,使用计算机对超市销售管理进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高商场超市销售管理的效率,也是科学化、正规化管理的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套超市销售管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
【关键字】超市销售管理系统 Visual Basic工具 Access数据库 DAO接口
一、系统简介
随着社会信息量的与日俱增,生活各方面都必要使用方便而有效的方式来管理自己的信息,对计算机日益普及的今天,对小型超市而言若采用一个行之有效的超市管理系统来管理自己的超市,会方便许多。以前单一的手工检索已不能满足人们的要求,为了便于超市和管理更为必要有效的超市管理软件。
本设计所完成的超市管理系统软件是一功能比较完善的数据管理软件,有数据操作方便高效等优点,本系统采用的是Visual Basic用为开发工具,系统使用Access97作为后台的数据管理系统,而在前端使用DAO作为数据访问接口。引用 Microsoft DAO 3.51 Object Library具有很好的可移植性,可在应用范
第 1 页 共 18 页
围较广的Windows系列操作系统上使用。数据访问对象DAO(Database Access Object)是Visual Basic 提供的对数据库的完整支持,与之相比Data控件虽不需要编程就能访问数据库,但其功能有限,只不过是封装了某些功能的DAO控件
Access数据库最重要的是不必编写程序。使用Access与Visual Basic结合开发。最主要的优点是两者使用相同的数据引擎,即Microsoft Jet由于Access 和Visual Basic使用相同的数据引擎Microsoft Jet 。因此可以建立即包括Access组件又包括Visual Basic组件的应用程序,这样就提高了程序的稳定性、充分发挥了两者各自的优点。
二、系统整体分析 本系统是根据现代超市销售管理的需要面开发的,方便、易操作及美观的界面给用户节省了不少宝贵的时间,全面实现对超市的商品的入库、销售、修改、删除、查找管理,大大减轻了管理人员的工作量,全面提高了超市的销售效率及服务质量。
(一)系统功能分析
在传统的零售业工作中,往往是用人工清点的方式来掌握仓库中现有的商品、使用手工记账的方式来掌握商品的进货销售情况。这种方式在商品数量较少、商品库存变换少的情况下,不失为一种较好的方法。但是,在目前的大中型零售业中,往往需要外理的商品种类数以千计,而且每天所发生的进货和销售情况纷繁复杂。如果要借助人工来实现这一系列数据的记录和管理,工作量将极为巨大,而且容易出现错误,造成管理上的混乱;更何况还需要对商品的数据进行统计和分析。
具体而言超市销售管理系统要实现以下的功能:
(1)系统管理:以实现对密码的合法修改、用户的合法注册、全部用户的查看以及对不需要的用户进行合法的删除。
(2)商品管理:以实现商品的入库,如已存在此商品则只是将其入库的数量与库存的数量相加。商品的列表,利用外部控件:”Microsoft FlexGrid Control 6.0”列出库存的全部商品,利用外部控件:”Microsoft Chart Control 6.0(OLEDB) ”用图形的方式列出商品的库存数量。商品的查询,在其中包含了商品的删除、商品的修改,根据商品的编号查询、删除、修改相应的商
第 2 页 共 18 页
品。
(3)商品销售:以实现商品的销售以及商品销售汇总。商品销售是指根据商品编号来销售商品,每销售一件商品自动从商品库存中减去相应的销售数量,并列出该商品的详细信息。如库存数量小于销售数量,则不能销售此商品。销售汇总是将当天的销售情况按商品编号和商品名称进行汇总。
(二)系统结构分析
通过对系统功能的分析,我们可以分析出超市管理系统大致可以分为四个模块: 系统管理模块、商品管理模块、商品销售模块、系统帮助模块。
各模块之间的结构关系如图:
用 户管理修改密码商品入库商品列表商品查询前台销售销售汇总关于系统管理商品管理 商品销售 帮助 系统登录 帮助
错误。于是超市销售管理系统便应运而生。实现超市管理工作系统化规范化、自动化正确的进货和库存控制及批货。
系统开发的总体任务是实现超市商品销售的系统化、规范化和自动化。本超市销售管理系统需要完成的功能主要是用计算机对超市销售管理进行日常的管理如:销售收款、商品查询、商品入库等。
具体而言,超市销售管理系统需要实现以下的需求:
(三)系统需求分析
为了提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的
第 3 页 共 18 页
(1)能够对超市所拥有和各种商品的基础信息进行维护和管理。商品的基础信息包括:商品编号、商品名称、商品规格、计量单位、备注信息、库存数量等。系统必要能够对商品信息进行添加、修改、删除。也可以按照一定的条件来进行查询,而且还必要随时掌握库存商品的数量,并且能够以图形的形式显示出现有商品的库存数量。
(2)跟踪各种商品的销售信息。商品的销售信息包括:商品编号、商品名称、销售规格、销售单位、销售单价、销售总价、销售日期等。系统能够对每销售一件商品,就从数据库中对该商品的数量减去该商品的销售单位。并且对该天的销售商品进行汇总。
三、数据库设计 (一)数据库需求分析
数据库是数据库应用程序和重要组成部分。设计结构合理、功能齐全的数据库对于提高数据库应用程序的开发效率和程序的性能都是非常重要的。
针对一般超市销售管理系统的需求,通过对商品销售的数据流程分析,设计如下面所示的数据项和数据结构:
系统管理:包括的数据项有 :用户名、密码。
商品管理:包括的数据项有:商品编号、商品名称、商品规格、商品价格、商品库存、商品备注等。
商品销售:包括的数据项有:商品编号、商品名称、销售单价、销售单位、销售规格、销售日期、销售总额。
(二)数据库逻辑结构设计
数据库逻辑设计的任务是建立数据库管理系统,能够处理的数据表。根据实际情况分别确定数据表中各字段的名称数据类型和值域范围等,并对各表进行数据结构设计、关键字设计和约束设计等。本系统建立如建立如: 系统管理表 :frmpass 商品管理表:frmspadd 商品销售表:frmspss
第 4 页 共 18 页
系统管理表 frmpass
字段名称 用户名 密码
商品管理表 frmspadd
字段名称 商品编号 商品名称 商品规格 商品价格 商品库存 备注
商品销售表 frmspss
字段名称 商品编号 商品名称 商品规格 销售单价 销售单位 销售日期 销售总额 数据类型 文本 文本 文本 货币 数字 日期/时间 货币 字段大小 50 50 50 \\ 长整型 \\ \\ 必须字段 否 否 否 \\ \\ 否 \\ 默认值 \\ \\ 0 0 0 \\ \\ 数据类型 文本 文本 文本 货币 数字 备注 字段大小 10 50 20 \\ 整型 \\ 必须字段 否 否 否 \\ 否 否 小数位数 \\ \\ \\ 自动 \\ \\ 默认值 \\ \\ \\ 0 \\ \\ 数据类型 文本 文本 字段大小 15 15 必须字段 否 否 四、系统设计 (一)公用模块
公用模块需求分析:建立超市销售管理系统工程后,其中不同的窗体都可能要访问数据库文件,即不同的窗体可能要使用相同的函数、变量等,所以需创建一个公用模块用来存放这些公用的函数、全局变量等,这样可以在工程中的任
第 5 页 共 18 页
何地方调用它们。
公用模块功能实现:新建一个模块,命名为Module1。访问数据文件的公用函数,定义公用变量:Public dbe As Database、Public rst As Recordset。定义Dbe为 数据库对象,用来打开数据库。定义rst为数据集对象,用来打开指定数据库中数据集。
(二)主窗体模块
主窗体模块需求分析:使用Visual Basic创建多文档程序界面(MDI)。MDI窗体是父窗体,可以包含其他窗体。超市销售管理系统中各个功能窗体之间是相互,如果做成相互之间直接链接起来会使窗体变得很复杂,所以做一个MDI界面的主窗体,这样可以自然、整齐有序地衔接各个功能窗体。
主窗体模块功能实现:窗体名为:frmmain。在此窗体中添加了两个外部控件:Microsoft windows common control 6.0中的Toolbor 、Imagelis。这两个控件实现工具条。Imagelis是存储工具条(Toolbor)上的ICO图标的控件。
Private Sub MDIForm_Load() On Error Resume Next
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\") Set rst = dbe.OpenRecordset(\"frmspadd\") rst.MoveFirst Do While Not rst.EOF
If Val(rst!商品库存) <= 10 Then
Text1.Text = \"请注意:\" & rst!商品编号 + rst!商品_名称 + \"_库存为:\" + Str(rst!商品库存) + \"_ \" + Text1.Text Loop End Sub
End If
rst.MoveNext
MDIForm_load是指主窗体加载时实现当中代码的功能。利用dbe数据库对象将db2.mdb数据库打开。利用rst数据集对象将db2中的”frmspadd”表打开。用Do while循环语句查看数据库中”商品库存”小于或等于10的商品
第 6 页 共 18 页
在主窗体加载时,提示工作人员注意商品的库存。
Private Sub mnusplist_Click()
frmsplist.Top = 500 frmsplist.Left = 500 frmsplist.Height = 5865 frmsplist.Width = 7380 frmsplist.Show End Sub
Mnusplist_click是指当用户单击”商品管理”菜单中的”商品列表”子菜单,将在相对于主窗体高500左500的位置显示高为:5865宽为:7280的frmsplist(商品列表)窗体。
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case \"add\"
mnuspadd_Click Case \"list\"
mnusplist_Click Case \"sql\"
mnuspsql_Click Case \"xs\"
mnuxsqt_Click Case \"fz\"
mnuxsfz_Click Case Else
mnusystemquit_Click End Select
End Sub
Toolbar1_ButtonClick是指在Toolbar1(工具条)上的按钮单击则调用相应的
第 7 页 共 18 页
过程。例如:case “add”则调用mnuspadd_Click过程。
(三)部分功能模块及程序说明 (1)系统登录模块
系统登录模块需求分析:系统登录不从属于主界面,所以它使用的是一个普通窗体而不是主窗体的子窗体。它的作用是录入用户名及用户密码,并将其与数据库中的用户信息进行比较或匹配,是合法用户则允许登录。设计时须对于用户使用时可能出现的错误做出提示;防止非法登录。本系统不区分大小写。用户密码中很可能由于用户输入的错误,在密码中误加了空格,为防止这样的错误,应该去掉密码中的空格。
系统登录模块功能实现:窗体的名称(frmlogin)。在此窗体有combo、text、commandButton三种控件。实现用户的合法登录。
Private Sub Command1_Click()
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\")
Set rst = dbe.OpenRecordset(\"select 用户名,密码_ from frmpass where 用户名='\" & Trim(Combo1.Text)_ & \"' and 密码='\" & Trim(Text2.Text) & \"'\")
If Combo1.Text <> \"\" Then
If rst.EOF = True And rst.BOF = True Then
n = MsgBox(\"密码或用户名错误!\系统提示\")
Combo1.SelLength = 0 Combo1.SelLength = 15 Text2.Text = \"\" Combo1.SetFocus
Else
frmmain.Show
Me.Hide
End If rst.Close
Else
n = MsgBox(\"请选择用户名\系统提示\")
第 8 页 共 18 页
End If
Command1_Click指command1(确定)按钮单击时进行输入的用户名和密码的判断,如果数据库中有此用户名并且密码且与输入的用户名和密码相同,则登录成功。Frmmain.show是指将主窗体显示。Me.hide是指将登录窗体隐藏。如登录不成功,则不能登录。
Private Sub Form_Load() On Error Resume Next Set
dbe
=
OpenDatabase(App.Path
&
\"\\data\\db2.mdb\")
Set rst = dbe.OpenRecordset(\"frmpass\") Dim i As String
For t = 0 To Val(rst.RecordCount) - 1
i = Trim(rst.Fields(\"用户名\").Value) rst.MoveNext Combo1.AddItem i
Next t rst.Close End Sub
Form_Load是指当窗体加载时利用 ”for t=0 to val(rst.recordcount)-1” 将 db2.mdb数据库中的frmpass表中的”用户名”字段全部添加到”用户名”(combo1)输入框中。
(2)系统管理模块
系统管理模块需求分析:合法用户登录系统需要用户名和密码,那么系统管理模块中肯定要包含能让合法用户修改密码的功能,在修改密码时,要求用户输入用户名和旧密码才能修改密码,可以防止非法用户修改合法用户的密码。新用户的添加的比不可少的,那么对于某些不再使用或需要禁止其使用的用户名要能够删除。对系统中已存在的合法用户要可以查询其用户名。本模块中包括用户管理、修改密码和退出系统三个子菜单,为减少复杂性将添加用户、查询用户和删
第 9 页 共 18 页
除用户这三项功能集中到用户管理菜单中。此模块名为系统管理模块当然要包括一个退出系统的子菜单。
系统管理模块功能实现:此模块中包含了修改密码(frmmodpass)和用户管理(frmuser)两个窗体。在修改密码(frmmodpass)窗体中添加了Combo、text、commandButton三种控件,以实现密码的合法修改。而在用户管理(frmuser)窗体添加了MSFlexGrid、Frame、text、commandButton四种控件,以实现用户合法注册、用户合法删除、用户查看。
Private Sub Form_Load()
On Error Resume Next
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\") Set rst = dbe.OpenRecordset(\"frmpass\") FlexGrid1.Clear FlexGrid1.Cols = 2 FlexGrid1.FixedCols = 0 FlexGrid1.FixedRows = 1
FlexGrid1.ColWidth(0) = FlexGrid1.Width / 2 FlexGrid1.ColWidth(1) = FlexGrid1.Width / 2 FlexGrid1.TextMatrix(0, 0) = \"用户名\" FlexGrid1.TextMatrix(0, 1) = \"密码\" FlexGrid1.Rows = 2 rst.MoveFirst Do While Not rst.EOF
FlexGrid1.TextMatrix(FlexGrid1.Rows - 1, 0) = rst!用户名
FlexGrid1.TextMatrix(FlexGrid1.Rows - 1, 1) = rst!密码
FlexGrid1.Rows = FlexGrid1.Rows + 1 rst.MoveNext Loop End Sub
第 10 页 共 18 页
以上代码是系统管理模块中用户管理中窗体加载的代码。将db2.mdb数据库中的frmpassr表中的用户名以及密码利用 Do While Not rst.EOF循环语句在外部引用的控件”Microsoft FlexGrid Control 6.0”中显示出来
Private Sub Command1_Click()
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\") Set rst = dbe.OpenRecordset(\"frmpass\") rst.MoveFirst Do While Not rst.EOF
If Trim(Text1.Text) = Trim(rst!用户名) Then
MsgBox \"已注册了此用户名\vbOKOnly, \"系统提示 \" Text1.SelLength = 0 Text1.SelLength = 10 Text2.Text = \"\" Text3.Text = \"\" Text1.SetFocus rst.Close Exit Sub End If rst.MoveNext Loop
If Text1.Text <> \"\" And Text2.Text <> \"\" Then
If Text2.Text = Text3.Text Then rst.AddNew
rst!用户名 = Trim(Text1.Text) rst!密码 = Trim(Text2.Text) rst.Update
MsgBox \"注册成功\系统提示\"
Else
MsgBox \"两次输入的密码不一样\系统提示\" End If
第 11 页 共 18 页
Else
MsgBox \"用户名或密码不能为空\系统提示\" End If rst.Close Form_Load End Sub
以上代码是系统管理模块中用户注册的部分代码。在一个比较完整的系统是不能出现有两个相同的用户名,进行登录系统的。所以在程序中先利用”If Trim(Text1.Text) = Trim(rst!用户名) Then”语句进行判断。如已注册此用户名则”MsgBox \"已注册了此用户名\系统提示 \"”,弹出信息框,“已注册了此用户名”。如没有系统中没有注册此用户名,在判断是否密码框中是否为空,和判断密码与确认密码是否一样。如条件成立,则”MsgBox \"注册成功\系统提示\"”,弹出信息框“注册成功”。
(3)商品管理模块
商品管理模块需求分析: 能够对超市所拥有和各种商品的基础信息进行维护和管理。商品的基础信息包括:商品编号、商品名称、商品规格、计量单位、备注信息、库存数量等。系统必要能够对商品信息进行添加、修改、删除。也可以按照一定的条件来进行查询,而且还必要随时掌握库存商品的数量,并且能够以图形的形式显示出现有商品的库存数量.在此模块包含了商品入库、商品列表、商品查询。在商品查询中又集成了商品修改、商品删除。
商品管理模块功能实现:此模块包含了商品入库(frmspadd)窗体、商品列表(frmsplist)窗体、商品查询(frmsql)窗体。商品入库(frmspadd)窗体中添加了text、commandButton控件,以实现商品的入库。商品列表(frmsplist)窗体中添加了Sstab、Frame、MSFlexGrid、Chart、CommandButton五种控件以实现商品以网格的形式显示出来和以图形的格形显示商品的库存数量。商品查询(frmsql)窗体添加了CommandButton、Frame、Text三种控件以实现商品的查询、删除、修改。
Do While Not rst.EOF
If rst!商品编号 = Trim(Text1.Text) Then
rst.Edit
第 12 页 共 18 页
rst!商品库存 = Val(rst!商品库存) + Val(Text5.Text) rst.Update
MsgBox \"商品添加成功\系统提示” Exit Sub End If rst.MoveNext
Loop
If Trim(Text1.Text) <> \"\" Then rst.AddNew
rst!商品编号 = Trim(Text1.Text) rst!商品名称 = Trim(Text2.Text) rst!商品价格 = Trim(Text3.Text) rst!商品规格 = Trim(Text4.Text) rst!商品库存 = Trim(Text5.Text) rst!备注 = Trim(Text6.Text) rst.Update
MsgBox \"商品添加成功\系统提示\"
End if
以上代码是商品管理模块中商品入库的分部代码。在商品入库时,先对”商品编号”判断入库的是新商品还是库存已有的商品。如是”rst!商品编号 = Trim(Text1.Text) ”则只是将” rst!商品库存 = Val(rst!商品库存) + Val(Text5.Text) ”,商品库存加上入库的数量。如果”商品编号”不等于数据库中的” 商品编号”则将所有的商品信息添加到数据库,完成新的商品添加。
rst.MoveFirst j = 1 k = 4
Do While Not rst.EOF And k > 0
Chart1.Column = 1 Chart1.Row = j
Chart1.RowLabel = rst.Fields(\"商品名称\") +
第 13 页 共 18 页
\"(\" _
+ Str(rst!商品库存) + \")\"
Chart1.Data = rst.Fields(\"商品库存\")
rst.MoveNext
j = j + 1 k = k – 1
Loop
以上代码是商品管理模块中商品列表的分部代码。在商品列表中除了以网格的形式列出所有商品的数量。还可以用最为直接的图形形式,商品数量就可以一目了然。商品列表窗体引用了外部控件:Microsoft Chart Control 6.0(OLEDB)。当窗体加载时先显示前面四个商品的库存数量。可以使用其窗体上的 ”上一页 ” 和 ”下一页” 进行分页的显示所有商品库存。
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\") Set rst = dbe.OpenRecordset(\"frmspadd\") rst.MoveFirst Do While Not rst.EOF
If Trim(Text7.Text) = rst!商品编号 Then
Text1.Text = rst!商品编号 Text2.Text = rst!商品名称 Text3.Text = rst!商品价格 Text4.Text = rst!商品规格 Text5.Text = rst!商品库存
Text6.Text = rst!备注
Exit Sub End If rst.MoveNext
Loop
以上代码是商品管理模块中商品查询中的部分代码。在商品列表中是用了外部控件:FlexGrid来列出相应的商品。这在商品数量不多的情况下,的确是一
第 14 页 共 18 页
种很好的方法;但是一旦商品数量增多,单单靠FlexGrid来寻找相应的商品渐渐变得不实际,此时就需要提供一个查找功能,使得用户能够查询满足一定条件的商品。先将指针移到第一条记录(rst.MoveFirst).如果frmspadd表中有 ”商品编号”(text7)中的值,则在窗体的各个控件中将记录为此 ”商品编号 ”的其他的字段显示出来。
(4)商品销售模块
商品销售模块需求分析:商品的销售信息包括:商品编号、商品名称、销售规格、销售单位、销售单价、销售总额、销售日期等。系统能够对每销售一件商品,就从数据库中对该商品的数量减去该商品的销售单位。并且对该天的销售商品进行汇总。该模块中包含了前台销售、销售汇总。
商品销售模块功能实现:此模块中包含了前台销售(frmxs)、销售汇总(frmfz)两个窗体。前台销售(frmxs)窗体中添加了Trmer、Frame、MSFlexGrid三种控件,以实现商品的前台销售。销售汇总(frmfz)窗体中添加了Treeview、Label、Frame三种控件,以实现当天商品销售的汇总。
在前台销售中每销售一件商品,则自动在商品库存中减去相应销售数量,如库存数量小于销售数量,则不能销售该商品,并弹出信息框提示该商品的库存数量(MsgBox \"库存数量不够!\" + \"库存为:\" + Str(rr!商品库存))。如销售成功,则在外部控件”Microsoft FlexGrid Control 6.0”中显示出来。并可以实现多种商品同时销售,且计算销售总额。根据实际付款算出找零。对每种销售情况存入数据库中,以便销售汇总。
Set dbe = OpenDatabase(App.Path & \"\\data\\db2.mdb\")
Set rst = dbe.OpenRecordset(\"frmspss\") Set nodex = TreeView1.Nodes.Add(, , \"r\今日汇总\") TreeView1.LineStyle = tvwRootLines rst.MoveFirst Do While Not rst.EOF
Set nodex = TreeView1.Nodes.Add(\"rvwChild, , rst!商品名称 +_ rst!商品编号) rst.Movenext Loop
第 15 页 共 18 页
以上代码是销售管理模块中销售汇总的部分代码,代码实现的功能是将商品销售表(frmspss)中根据表中的商品名称和商品编号依次添加到外部控件:microsoft windows common controls 6.0中的treeview中,成为该控件节点。先设置Treeview控件的根目录”Set nodex = TreeView1.Nodes.Add(, , \"r\\"今日汇总\")”。\"Set nodex = TreeView1.Nodes.Add(\"r\商品名称 + rst!商品编号)” 此语句是将记录集(rst)中的 ”商品名称” 和 “商品编号” 添加到 ”根目录”(r)下为(r)的子节点
Private Sub TreeView1_NodeClick(ByVal Node As
MSComctlLib.Node)
On Error Resume Next
Set dbe = OpenDatabase(App.Path & \"/data/db2.mdb\")
Set rst = dbe.OpenRecordset(\"frmspss\") rst.MoveFirst Do While Not rst.EOF
If rst!商品名称 + rst!商品编号 = Node.Text Then
Label2.Caption = rst!商品编号 Label4.Caption = rst!商品名称 Label6.Caption = rst!商品规格 Label8.Caption = rst!销售单位 Label10.Caption = rst!销售单价 Label12.Caption = rst!销售总额 Label14.Caption = rst!销售日期 Exit Sub
End If rst.MoveNext Loop End Sub
以上代码是销售管理模块中销售汇总的部分代码。TreeView1_NodeClick是指在Treeview控件中单击某个节点时执行的过程。”On Error Resume Next”语
第 16 页 共 18 页
句是错误处理。先移动记录指针到记录集的第一条。判断记录集中 ”商品名称 ”和” 商品编号”是否等于该单击节点的值。如等于则在窗体上的Label2控件的Caption属性显示此记录的相应的其他的字段值。
(5)系统帮助模块
系统帮助模块分析:本模块的功能给用户提供系统相关的帮助及说明系统的版本版权信息。它能使用户方便、快速地了解本系统的功能及基本操作。模块中包含了关于窗体和帮助窗体。关于窗体主要说明系统的版本以及版权信息,帮助窗体主要是使用说明。
五、结束语 通过这段时间的学习,毕业设计《商品销售管理系统》终于完成了。该系统还有些不够完善的地方,用户界面不够美观,出错处理不够等方面问题。这些都有待进一步的改善。总体来说这是一个完整的,可运用的系统了。通过这次毕业设计,我查看相关书籍、资料,每次改进都是自己学习的收获。也给自己巩固了以前所学的知识,增强了知识间的联系,而且学到了更多新的理论知识,同时,也增强了我的思维以及动手能力。在此对我的指导老师还有我的朋友、同学致以最深的感谢!
【参考文献】 ①Visual Basic 程序设计教程 何瑞麟、佘学文著 科学出版社
②Visual Basic 6.0数据库开发技术与工程实践 求是科技编著 人民邮电出版社
第 17 页 共 18 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务