VB课设销售管理系统.docx
- 文档编号:10768738
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:25
- 大小:619.26KB
VB课设销售管理系统.docx
《VB课设销售管理系统.docx》由会员分享,可在线阅读,更多相关《VB课设销售管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
VB课设销售管理系统
摘要
近年来,计算机技术日趋成熟,数据库技术不断发展,管理信息系统的应用已延伸到社会的各个领域。
结合管理信息系统的开发方法及步骤,以此为理论基础,开发出一个小型的信息管理系统——化妆品销售系统。
销售管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,决定使用 MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键词:
数据库;Visual Basic6.0;化妆品销售管理
目 录
第一章、绪论1
第二章、系统分析和设计1
2.1对本系统的功能分析ﻩ1
2.2对本系统的数据结构设计ﻩ2
第三章、系统实现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
入库明细:
表
商品名称
入库时间
数量
备注
大象
2009—12—18
100
12346
2009—12—18
1111
12346
2009—12—18
5
退回
欧莱雅
0
商品销售:
表
商品名称
销售日期
商品售价
商品数量
12346
2009—12—18
25
1
第三章、系统实现
3.1登录窗口
登录窗口主要应用于用户登录、输入密码等功能。
登陆界面主要程序:
PrivateSubCommand1_Click()
DimMPassword As String
Adodc1.RecordSource ="select* from 密码表 whereusername='"&Text1.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
MPassword= Adodc1.Recordset.Fields("password")
If Text2.Text=MPassword Then '判断数据的密码是否正确
Name1= Text1.Text
main.Show
'frm_Main.Show
UnloadMe
Else
MsgBox"密码不正确,请您确认后重新输入",,"提示信息"
Text2.Text=""
Text2.SetFocus
EndIf
Else
MsgBox"对不起没有此用户的信息",,"提示信息"
Text1.Text= ""
Text2.Text =""
End If
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
'Adodc1.RecordSource="select * from密码表"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount >0 Then
ListView1.Enabled=True
ListView1.ListItems.Clear
i=1
Adodc1.Recordset.MoveFirst
DoWhileAdodc1.Recordset.EOF = False
Key= Adodc1.Recordset.Fields("username")
SetitmX= ListView1.ListItems.Add(,,Key,i)
i =i+1
Adodc1.Recordset.MoveNext
Loop
Else
ListView1.Enabled= False
EndIf
EndSub
PrivateSubListView1_Click()
Text1.Text=ListView1.SelectedItem
'Adodc1.Refresh
Text2.SetFocus
EndSub
3.2化妆品销售系统界面
用户在登录后首页后会看到化妆品销售系统界面,分为五大部分,分别是:
库存管理、销售管理、销售查询、帮助、退出。
主要代码:
PrivateSubForm_Load()
EndSub
Private Sub 关于_Click(IndexAsInteger)
gy.Show1
EndSub
PrivateSub库存查询_Click(IndexAsInteger)
kccx.Show1
End Sub
PrivateSub库存退回_Click(IndexAsInteger)
spth.Show1
EndSub
Private Sub日查询_Click(IndexAsInteger)
DimdbAs Database
DimrsAsRecordset
sl=0
zj=0
yl= 0
Setdb= OpenDatabase(App.Path& "\db1.mdb")
Setrs =db.OpenRecordset("select*from商品销售where 销售日期like '" & Date &"'")
Ifrs.EOF Or rs.BOFThen
MsgBox ("当日没商品售出")
Else
rcx.Show 1
End If
End Sub
PrivateSub入库明细查询_Click()
rkmx.Show1
EndSub
PrivateSub商品入库_Click(Index AsInteger)
sprk.Show 1
EndSub
PrivateSub 商品售出_Click(IndexAsInteger)
spcs.Show 1
End Sub
PrivateSub 商品退回_Click(Index As Integer)
spth.Show1
EndSub
PrivateSub售出商品退回_Click()
scspth.Show1
EndSub
PrivateSub 退出_Click(IndexAsInteger)
UnloadMe
EndSub
Private Sub销售情况查询_Click(IndexAsInteger)
rcx.Show1
EndSub
PrivateSub赠送情况查询_Click()
zscx.Show 1
EndSub3.3
查询窗口
查询窗口是按照分类来查询,通过在TextBox里输入想要查询的方式,再点击下边对应的按钮,就能显示想要查询的信息。
PrivateSubCommand1_Click()
UnloadMe
EndSub
Private SubCommand2_Click()
IfCombo4.Text = ""Then
cb4="*"
Else
cb4=Combo4.Text
End If
IfCombo1.Text=""Then
cb1="*"
Else
cb1 = Combo1.Text
EndIf
If Combo2.Text =""Then
cb2="*"
Else
cb2=Combo2.Text
EndIf
IfCombo3.Text=""Then
cb3="*"
Else
cb3 =Combo3.Text
EndIf
DimdbAsDatabase
DimrsAs Recordset
sl=0
zj=0
Setdb= OpenDatabase(App.Path&"\db1.mdb")
Setrs=db.OpenRecordset("select*from 商品销售 where商品名称like'"&cb4&"'andyear(销售日期)like'" &cb1&"'andMonth(销售日期)like'"&cb2&"'andday(销售日期)like'" & cb3 &"'")
If rs.EOFOr rs.BOFThen
MsgBox("没有符合条件的记录!
")
Else
WithMSFlexGrid1
.FormatString ="|<商品名称|<商品售价|<商品售出数量|<售出时间|<合计"
.ColWidth(0)=0
.ColWidth(1)= 2000
.ColWidth
(2)= 1300
.ColWidth(3)= 1300
.ColWidth(4)=2000
.ColWidth(5)=1300
.Rows =1
Wi:
hj =0
hj = rs("商品售价")*rs("商品数量")
.AddItemvbTab &rs("商品名称") &vbTab& rs("商品售价")&vbTab&rs("商品数量") & vbTab& rs("销售日期") &vbTab&hj
sl=sl+ rs("商品数量")
zj = zj+hj
rs.MoveNext
IfNot(rs.EOFOrrs.BOF)Then
GoToWi
EndIf
.AddItem vbTab&"合计"&vbTab&zj &vbTab&sl &vbTab& ""&vbTab &zj
EndWith
EndIf
End Sub
PrivateSubForm_Load()
Dim raAsRecordset
DimdbAsDatabase
Setdb=OpenDatabase(App.Path&"\db1.mdb")
Set ra=db.OpenRecordset("select*from商品库存 ")
Ifra.BOFOrra.EOFThen
GoToen
EndIf
WithCombo4
Wi1:
.AddItemra("商品名称")
ra.MoveNext
IfNot(ra.EOF Orra.BOF)Then
GoToWi1
EndIf
EndWith
en:
With MSFlexGrid1
.FormatString = "|<商品名称|<商品售价|<商品售出数量|<售出时间|<合计"
.ColWidth(0)=0
.ColWidth
(1)=2000
.ColWidth
(2)=1300
.ColWidth(3) =1300
.ColWidth(4)=2000
.ColWidth(5)=1300
.Rows=1
EndWith
EndSub
PublicljAsBoolean
Private SubCheck1_Click()
lj= Not lj
Combo2.Visible= lj
EndSub
Private SubCombo1_Click(IndexAsInteger)
Dim raAsRecordset
Setdb =OpenDatabase(App.Path &"\db1.mdb")
Setra= db.OpenRecordset("select*from商品库存where商品名称like '"& Combo1(0).Text&"'")
Text2
(1).Text= ra("商品售价")
EndSub
PrivateSubCommand1_Click(IndexAsInteger)
IfCombo1(0)= "" Then
MsgBox("请选择商品名称")
GoToen
EndIf
IfNotIsNumeric(Trim(Text2
(1)))Then
MsgBox ("请输入正确的商品单价")
Text2
(1).Text =""
Text2
(1).SetFocus
GoToen1
EndIf
Dim dbAsDatabase
DimraAsRecordset
Dim rsAsRecordset
Dimrs1AsRecordset
Dim sql AsString
Setdb=OpenDatabase(App.Path&"\db1.mdb")
Setra=db.OpenRecordset("select*from商品库存where商品名称 like'"&Combo1(0).Text&"'")
Ifra("商品数量")=0 Then
MsgBox("商品已全部售出!
")
GoToen
EndIf
ra.Edit
ra("商品数量")=ra("商品数量")-1
ra.Update
Set rs=db.OpenRecordset("select* from 商品销售 where商品名称like'"&Combo1(0).Text&"'and销售日期like'" & Date& "'")
Ifrs.EOF Orrs.BOFThen
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 ("商品出售成功!
")
IfljThen
Setra=db.OpenRecordset("select*from 商品库存where商品名称like'" &Combo2.Text&"'")
ra.Edit
ra("商品数量")=ra("商品数量")- 1
ra.Update
aaa = 0
aaa =ra("商品售价")
Setrs=db.OpenRecordset("select* from 赠送情况where 商品名称like'"& Combo2.Text& "'and赠送日期 like'"&Date &"'")
Ifrs.EOFOr rs.BOFThen
rs.AddNew
rs("商品名称")=Combo2.Text
rs("赠送数量")=1
rs("赠送日期")=Date
rs("商品售价") = aaa
Else
rs.Edit
rs("赠送数量")= rs("赠送数量")+1
End If
rs.Update
Else
EndIf
en:
Combo1(0).Text=""
en1:
Text2
(1).Text= ""
EndSub
PrivateSubCommand2_Click(IndexAs Integer)
UnloadMe
EndSub
PrivateSub Text1_Change(IndexAs Integer)
EndSub
PrivateSub Form_Load()
lj =False
DimraAsRecordset
Dim dbAsDatabase
Set db=OpenDatabase(App.Path&"\db1.mdb")
Setra=db.OpenRecordset("select*from商品库存 ")
Ifra.BOFOrra.EOFThen
MsgBox("请先入库")
GoToen
EndIf
WithCombo1(0)
Wi1:
.AddItem ra("商品名称")
ra.MoveNext
IfNot (ra.EOFOr ra.BOF)Then
GoToWi1
EndIf
EndWith
Setdb= OpenDatabase(App.Path& "\db1.mdb")
Setra=db.OpenRecordset("select *from 商品库存")
WithCombo2
Wi2:
.AddItemra("商品名称")
ra.MoveNext
IfNot (ra.EOF Orra.BOF)Then
GoTo Wi2
EndIf
EndWith
en:
EndSub
PrivateSubCommand1_Click()
Unload Me
EndSub
Private SubCommand2_Click()
IfCombo4.Text ="" Then
cb4 = "*"
Else
cb4= Combo4.Text
EndIf
IfCombo1.Text=""Then
cb1 ="*"
Else
cb1=Combo1.Text
End If
IfCombo2.Text= ""Then
cb2= "*"
Else
cb2=Combo2.Text
EndIf
IfCombo3.Text=""Then
cb3 = "*"
Else
cb3 =Combo3.Text
EndIf
DimdbAs Database
DimrsAsRecordset
sl= 0
zj=0
Setdb=OpenDatabase(App.Path&"\db1.mdb")
Set rs= db.OpenRecordset("select*from赠送情况 where商品名称like'"& cb4&"'andyear(赠送日期)like'"&cb1&"'andMonth(赠送日期)like '"&cb2&"'andday(赠送日期)like'"&cb3&"'")
Ifrs.EOFOrrs.BOFThen
MsgBox("没有符合条件的记录!
")
Else
WithMSFlexGrid1
.FormatString="|<商品名称|<商品售价|<商品赠送数量|<赠送时间|<合计"
.ColWidth(0)= 0
.ColWidth
(1)=200
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 销售 管理 系统