资源描述
摘 要
多年来,计算机技术日趋成熟,数据库技术不停发展,管理信息系统应用已延伸到社会各个领域。结合管理信息系统开发方法及步骤,以此为理论基础,开发出一个小型信息管理系统——化妆品销售系统。
销售管理系统是经典信息管理系统(MIS),其开发关键包含后台数据库建立和维护和前端应用程序开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好库。而对于后者则要求应用程序功效完备,易使用等特点。
经过分析,决定使用 MICROSOFT企业 VISUAL BASIC开发工具,利用其提供多种面向对象开发工具,尤其是数据窗口这一能方便而简练操纵数据库智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不停修正和改善,直到形成用户满意可行系统。
关键词:数据库;Visual Basic6.0;化妆品销售管理
目 录
第一章、绪论 1
第二章、系统分析和设计 1
2.1对本系统功效分析 1
2.2对本系统数据结构设计 2
2.3 数据库设计 3
第三章、系统实现 4
3.1登录窗口 4
3.2化妆品销售系统界面 6
查询窗口 8
结论 18
参考文件 19
第一章、绪论
现代科学发展,使计算机进入了几乎一切领域。从科学研究到工农业生产,从企业生产管理到家庭生活,各行各业全部广泛地使用着计算机。当今社会数据信息管理离不开计算机技术支持。怎样实现对数据信息快捷、有效、实用管理,是软件开发业追求目标。
伴随改革开放给中国经济带来高速发展同时,大批中小企业碰到了前所未有挑战跟机遇。为了利润最大化,为提升工作效率,为降低劳动冗余,大家将业务和计算机结合,有了信息管理系统诞生。伴随计算机信息处理加紧,大家越来越认同这种管理系统所带来便捷和高效。小型化妆品销售企业及店铺全部在主动尝试信息化带来丰硕结果,不停更新观念,摈弃传统观念束缚,尝试着采取更方便快捷信息管理系统。化妆品销售管理系统和传统手工统计方法相比,消除了反复劳动带来冗余工作量,效率愈加高效,灵活工作方法给从业着提供了更多选择空间,规范考评绩效,评定方法等实施规范。同时,避免了手工操作带来烦琐,效率低下缺点。我前台采取visul basic软件,后台数据库采取access关系型数据库管理系统,对所需数据进行保留和处理。本系统要实现功效有基础数据设置,入库管理,出库管理,库存管理,营业统计,数据管理等功效模块。其中基础数据设置负责对化妆品基础信息录入;入库管理负责对采购化妆品登记和查询,采购退货登记和查询;出库管理负责销售化妆品登记和查询,销售退货登记和查询;库存管理负责库存查询,库存预警,库存损益;营业统计负责营业统计,销售化妆品排行榜,每日结帐,历史帐单查询;数据管理负责数据库备份和恢复,用户管理和口令修改,界面设置。经过对上述功效实现,满足化妆品市场需求。
第二章、系统分析和设计
2.1对本系统功效分析
在对化妆品销售行业组织结构及职能充足调查了解后,依据对化妆品销售行业数据流动特点分析,现在能够进行系统功效分析,依据软件工程原理,需求分析任务是确定系统必需完成工作。经过具体调研分析以后,能够得出化妆品销售系统必需含有功效下:
1、库存管理功效:应该包含商品入库、库存退回、入库明细查询;
2、销售管理功效:应该包含商品售出、售出商品退回;
3、销售查询功效:应该包含销售情况查询、赠予情况查询;
2.2对本系统数据结构设计
本系统中,用户先登录到系统中,输入用户名判定密码表中是否有此用户,这是个验证过程,经过验证才能确定登录。使用本系统能够方便地管理商品名称、商品代码、产地、功效、保质期、生产日期和价格等基础信息,立即调整资料最新信息,提升汽车租赁管理管理水平,从而使化妆品管理真正实现无纸化。
本系统实现功效关键包含:用户管理,系统用户登录后,进入管理界面,能够对库存管理、销售管理、销售查询进行增、删、改操作。系统操作步骤图以下:
化妆品管理系统
库存管理
销售管理
销售查询
退 出
商品入库
商品售出
库存退回
入库明细查询
售出商品退出
销售情况查询
赠予情况查询
2.3 数据库设计
商品库存:表
商品名称
商品数量
商品售价
12346
1104
25
大象
100
120
欧莱雅
40
38
0
入库明细:表
商品名称
入库时间
数量
备注
大象
—12—18
100
12346
—12—18
1111
12346
—12—18
5
退回
欧莱雅
0
商品销售:表
商品名称
销售日期
商品售价
商品数量
12346
—12—18
25
1
第三章、系统实现
3.1登录窗口
登录窗口关键应用于用户登录、输入密码等功效。
登陆界面关键程序:
Private Sub Command1_Click()
Dim MPassword As String
Adodc1.RecordSource = "select * from 密码表 where username ='" & Text1.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
MPassword = Adodc1.Recordset.Fields("password")
If Text2.Text = MPassword Then '判定数据密码是否正确
Name1 = Text1.Text
main.Show
'frm_Main.Show
Unload Me
Else
MsgBox "密码不正确,请您确定后重新输入", , "提醒信息"
Text2.Text = ""
Text2.SetFocus
End If
Else
MsgBox "对不起 没有此用户信息", , "提醒信息"
Text1.Text = ""
Text2.Text = ""
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
'Adodc1.RecordSource = "select * from 密码表"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
ListView1.Enabled = True
ListView1.ListItems.Clear
i = 1
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF = False
Key = Adodc1.Recordset.Fields("username")
Set itmX = ListView1.ListItems.Add(, , Key, i)
i = i + 1
Adodc1.Recordset.MoveNext
Loop
Else
ListView1.Enabled = False
End If
End Sub
Private Sub ListView1_Click()
Text1.Text = ListView1.SelectedItem
'Adodc1.Refresh
Text2.SetFocus
End Sub
3.2化妆品销售系统界面
用户在登录后首页后会看到化妆品销售系统界面,分为五大部分,分别是:库存管理、销售管理、销售查询、帮助、退出。
关键代码:
Private Sub Form_Load()
End Sub
Private Sub 相关_Click(Index As Integer)
gy.Show 1
End Sub
Private Sub 库存查询_Click(Index As Integer)
kccx.Show 1
End Sub
Private Sub 库存退回_Click(Index As Integer)
spth.Show 1
End Sub
Private Sub 日查询_Click(Index As Integer)
Dim db As Database
Dim rs As Recordset
sl = 0
zj = 0
yl = 0
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set rs = db.OpenRecordset("select * from 商品销售 where 销售日期 like '" & Date & "'")
If rs.EOF Or rs.BOF Then
MsgBox ("当日没商品售出")
Else
rcx.Show 1
End If
End Sub
Private Sub 入库明细查询_Click()
rkmx.Show 1
End Sub
Private Sub 商品入库_Click(Index As Integer)
sprk.Show 1
End Sub
Private Sub 商品售出_Click(Index As Integer)
spcs.Show 1
End Sub
Private Sub 商品退回_Click(Index As Integer)
spth.Show 1
End Sub
Private Sub 售出商品退回_Click()
scspth.Show 1
End Sub
Private Sub 退出_Click(Index As Integer)
Unload Me
End Sub
Private Sub 销售情况查询_Click(Index As Integer)
rcx.Show 1
End Sub
Private Sub 赠予情况查询_Click()
zscx.Show 1
End Sub3.3
查询窗口
查询窗口是根据分类来查询,经过在TextBox里输入想要查询方法,再点击下边对应按钮,就能显示想要查询信息。
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
If Combo4.Text = "" Then
cb4 = "*"
Else
cb4 = Combo4.Text
End If
If Combo1.Text = "" Then
cb1 = "*"
Else
cb1 = Combo1.Text
End If
If Combo2.Text = "" Then
cb2 = "*"
Else
cb2 = Combo2.Text
End If
If Combo3.Text = "" Then
cb3 = "*"
Else
cb3 = Combo3.Text
End If
Dim db As Database
Dim rs As Recordset
sl = 0
zj = 0
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set rs = db.OpenRecordset("select * from 商品销售 where 商品名称 like '" & cb4 & "' and year(销售日期) like '" & cb1 & "' and Month(销售日期) like '" & cb2 & "'and day(销售日期) like '" & cb3 & "' ")
If rs.EOF Or rs.BOF Then
MsgBox ("没有符合条件统计!")
Else
With MSFlexGrid1
.FormatString = "|<商品名称|<商品售价|<商品售出数量|<售出时间|<累计"
.ColWidth(0) = 0
.ColWidth(1) =
.ColWidth(2) = 1300
.ColWidth(3) = 1300
.ColWidth(4) =
.ColWidth(5) = 1300
.Rows = 1
Wi:
hj = 0
hj = rs("商品售价") * rs("商品数量")
.AddItem vbTab & rs("商品名称") & vbTab & rs("商品售价") & vbTab & rs("商品数量") & vbTab & rs("销售日期") & vbTab & hj
sl = sl + rs("商品数量")
zj = zj + hj
rs.MoveNext
If Not (rs.EOF Or rs.BOF) Then
GoTo Wi
End If
.AddItem vbTab & "累计" & vbTab & zj & vbTab & sl & vbTab & "" & vbTab & zj
End With
End If
End Sub
Private Sub Form_Load()
Dim ra As Recordset
Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 ")
If ra.BOF Or ra.EOF Then
GoTo en
End If
With Combo4
Wi1:
.AddItem ra("商品名称")
ra.MoveNext
If Not (ra.EOF Or ra.BOF) Then
GoTo Wi1
End If
End With
en:
With MSFlexGrid1
.FormatString = "|<商品名称|<商品售价|<商品售出数量|<售出时间|<累计"
.ColWidth(0) = 0
.ColWidth(1) =
.ColWidth(2) = 1300
.ColWidth(3) = 1300
.ColWidth(4) =
.ColWidth(5) = 1300
.Rows = 1
End With
End Sub
Public lj As Boolean
Private Sub Check1_Click()
lj = Not lj
Combo2.Visible = lj
End Sub
Private Sub Combo1_Click(Index As Integer)
Dim ra As Recordset
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 where 商品名称 like '" & Combo1(0).Text & "'")
Text2(1).Text = ra("商品售价")
End Sub
Private Sub Command1_Click(Index As Integer)
If Combo1(0) = "" Then
MsgBox ("请选择商品名称")
GoTo en
End If
If Not IsNumeric(Trim(Text2(1))) Then
MsgBox ("请输入正确商品单价")
Text2(1).Text = ""
Text2(1).SetFocus
GoTo en1
End If
Dim db As Database
Dim ra As Recordset
Dim rs As Recordset
Dim rs1 As Recordset
Dim sql As String
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 where 商品名称 like '" & Combo1(0).Text & "'")
If ra("商品数量") = 0 Then
MsgBox ("商品已全部售出!")
GoTo en
End If
ra.Edit
ra("商品数量") = ra("商品数量") - 1
ra.Update
Set rs = db.OpenRecordset("select * from 商品销售 where 商品名称 like '" & Combo1(0).Text & "' and 销售日期 like '" & Date & "'")
If rs.EOF Or rs.BOF Then
rs.AddNew
rs("商品名称") = Combo1(0).Text
rs("商品售价") = Text2(1).Text
rs("商品数量") = 1
rs("销售日期") = Date
Else
rs.Edit
rs("商品数量") = rs("商品数量") + 1
End If
rs.Update
MsgBox ("商品出售成功!")
If lj Then
Set ra = db.OpenRecordset("select * from 商品库存 where 商品名称 like '" & Combo2.Text & "'")
ra.Edit
ra("商品数量") = ra("商品数量") - 1
ra.Update
aaa = 0
aaa = ra("商品售价")
Set rs = db.OpenRecordset("select * from 赠予情况 where 商品名称 like '" & Combo2.Text & "' and 赠予日期 like '" & Date & "'")
If rs.EOF Or rs.BOF Then
rs.AddNew
rs("商品名称") = Combo2.Text
rs("赠予数量") = 1
rs("赠予日期") = Date
rs("商品售价") = aaa
Else
rs.Edit
rs("赠予数量") = rs("赠予数量") + 1
End If
rs.Update
Else
End If
en:
Combo1(0).Text = ""
en1:
Text2(1).Text = ""
End Sub
Private Sub Command2_Click(Index As Integer)
Unload Me
End Sub
Private Sub Text1_Change(Index As Integer)
End Sub
Private Sub Form_Load()
lj = False
Dim ra As Recordset
Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 ")
If ra.BOF Or ra.EOF Then
MsgBox ("请先入库")
GoTo en
End If
With Combo1(0)
Wi1:
.AddItem ra("商品名称")
ra.MoveNext
If Not (ra.EOF Or ra.BOF) Then
GoTo Wi1
End If
End With
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 ")
With Combo2
Wi2:
.AddItem ra("商品名称")
ra.MoveNext
If Not (ra.EOF Or ra.BOF) Then
GoTo Wi2
End If
End With
en:
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
If Combo4.Text = "" Then
cb4 = "*"
Else
cb4 = Combo4.Text
End If
If Combo1.Text = "" Then
cb1 = "*"
Else
cb1 = Combo1.Text
End If
If Combo2.Text = "" Then
cb2 = "*"
Else
cb2 = Combo2.Text
End If
If Combo3.Text = "" Then
cb3 = "*"
Else
cb3 = Combo3.Text
End If
Dim db As Database
Dim rs As Recordset
sl = 0
zj = 0
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set rs = db.OpenRecordset("select * from 赠予情况 where 商品名称 like '" & cb4 & "' and year(赠予日期) like '" & cb1 & "' and Month(赠予日期) like '" & cb2 & "'and day(赠予日期) like '" & cb3 & "' ")
If rs.EOF Or rs.BOF Then
MsgBox ("没有符合条件统计!")
Else
With MSFlexGrid1
.FormatString = "|<商品名称|<商品售价|<商品赠予数量|<赠予时间|<累计"
.ColWidth(0) = 0
.ColWidth(1) =
.ColWidth(2) = 1300
.ColWidth(3) = 1300
.ColWidth(4) =
.ColWidth(5) = 1300
.Rows = 1
Wi:
hj = 0
hj = 0 - rs("商品售价") * rs("赠予数量")
.AddItem vbTab & rs("商品名称") & vbTab & rs("商品售价") & vbTab & rs("赠予数量") & vbTab & rs("赠予日期") & vbTab & hj
sl = sl + rs("赠予数量")
zj = zj + hj
rs.MoveNext
If Not (rs.EOF Or rs.BOF) Then
GoTo Wi
End If
.AddItem vbTab & "累计" & vbTab & zj & vbTab & sl & vbTab & "" & vbTab & zj
End With
End If
End Sub
Private Sub Form_Load()
Dim ra As Recordset
Dim db As Database
Set db = OpenDatabase(App.Path & "\db1.mdb")
Set ra = db.OpenRecordset("select * from 商品库存 ")
If ra.BOF Or ra.EOF Then
GoTo en
End If
With Combo4
Wi1:
.AddItem ra("商品名称")
ra.MoveNext
If Not (ra.EOF Or ra.BOF) Then
GoTo Wi1
End If
End With
en:
With MSFlexGrid1
.FormatString = "|<商品名称|<商品售价|<商品售出数量|<售出时间|<累计"
.ColWidth(0) = 0
.ColWidth(1) =
.ColWidth(2) = 1300
.ColWidth(3) = 1300
.ColWidth(4) =
.ColWidth(5) = 1300
.Rows = 1
End With
End Sub
结论
经过这几周学习和探索。我最终完成了这个“化妆品销售系统”。经过开发过程,我比较深入掌握了visual Basic6.0使用方法,对数据库了解也愈加深刻了。由始至终开发过程,让我深刻体会到软件工程这门学科对于程序开发关键性。一个工程开发,编程过程并不最关键,对于那些书里掌握编程语言软件开发者来说,一个工程代码实现,并不难做到。真正关键反而是那些在编程之前所需做工作。从软件需求分析到系统设计,每一步全部很关键,一个高质量软件,从一开始就在扎扎实实做好需求分析,为后续系统设计和实现打下良好基础。
本系统界面美观,设计合理,能够实现估计功效,但系统容错性还不是很完善。这也暴露出我编程能力还有待提升。以后我会继续努力学习,不停充实自己,提升自己。 总来说,本系统设计是符适用户要求,能够为用户使用。
参考文件
[1].张莉 《SQL Server数据库原理及应用教程》 清华大学出版社 1999年
[2].杨正洪 《数据库技术》 高等教育出版社
[3].郎彦主编 《数据库原理和应用》 高等教育出版社 1999年
[4].陶恂 《Visual Basic数据库编程》 机械工业出版社
展开阅读全文