汽车销售管理系统.docx
- 文档编号:23605491
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:57
- 大小:337.45KB
汽车销售管理系统.docx
《汽车销售管理系统.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统.docx(57页珍藏版)》请在冰豆网上搜索。
汽车销售管理系统
汽车销售管理系统
前言:
高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要。
面对庞大的汽车销售和库存信息,就需要有汽车管理系统来提高管理工作的效率。
通过建立这样的系统,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。
1.开发环境与开发工具
系统开发环境为一台安装windowsxp的个人计算机作为客户机,其上安装了SQLServer2000,本系统使用VisualBasic6.0来开发,系统设计与运行均可在客户机上进行。
2.系统需求分析
本系统的设计模拟一般医院的汽车销售管理系统内容,经过充分的系统分析和调研,本系统主要包括的信息有3类:
汽车商品信息、汽车进货信息以及汽车销售信息。
在传统的销售管理工作中,往往是用人工清点的方式来掌握仓库中的汽车商品、使用手工记账的方式来掌握商品的进货和销售情况。
这种方式在数量较少、库存变换少的情况下,不失为一种好的方法。
但是,随着每天所发生的进货和销售情况纷繁复杂,如果借助人工来记录和管理,将会耗费大量的时间,而且容易出现错误,造成管理上的混乱。
具体而言,汽车销售管理系统需要实现一下的需求:
(1)能够对医院过拥有的各种汽车的基础信息进行维护和管理。
汽车的基础信息包括:
汽车的顺序号、汽车名称、汽车规格、计量单位、备注信息、库存数量等。
系统需要能够对汽车信息进行添加、修改和删除,也可以以图形的方式显示出现汽车的库存数量的比较。
(2)跟踪各种汽车的的进货信息。
汽车的进货信息包括顺序号、汽车名称、进货数量、进货价格、进货日期、备注等。
系统还需要能够对进货信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
(3)跟踪各种汽车的销售信息。
汽车的销售信息包括顺序号、汽车名称、顾客名称、购买数量、售出价格、销售日期、备注等。
系统需要能够对销售信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
3.模块设计
根据需求分析的结果,本系统主要划分为4个子模块:
用户管理、汽车信息管理、进货信息管理、销售信息管理。
汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下3种用户:
(1)管理人员本系统的管理人员可以使用本系统的所有功能,包括用户管理、汽车信息管理、进货信息管理和销售信息管理功能。
(2)仓管人员仓管人员负责管理仓库中的汽车数量,主要负责汽车的每次的进货情况。
其只能使用系统中的进货信息管理功能模块,对每次进货的信息进行记录,并且可以查询当前仓库中的汽车库存数量。
(3)销售人员销售人员负责汽车的日常销售工作,需要掌握各种汽车的各次的销售情况。
其只能使用本系统的汽车销售信息管理模块,贵每次汽车的销售情况进行记录。
整个系统的结构模块如图1所示。
一下分别介绍系统中的各个系统4个子模块
A.用户管理模块
用于管理汽车销售系统中的各种类型的用户。
只有具有管理人员身份的人才能使用本模块,管理人员可以添加或者删除相应的用户,可以改变用户的身份,也可以改变某个用户的秘密。
B.汽车信息管理模块
图1系统模块分析
用来多医院所拥有的各种汽车的基础信息进行维护和管理。
在系统中,需要对汽车信息进行添加、修改和删除,也可以按照一定的条件进行查询,并且不要将汽车的库存数量以图形的方式显示出来。
C.进货信息管理模块
用来跟踪汽车每一次进货的信息。
该模块需要能够对进货信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
只有管理人员和仓管人员才能使用本模块。
D.销售信息管理模块
用来跟踪汽车每一次售货的信息。
该模块需要能够对销售信息进行添加、修改和删除,也可以按照一定的条件来进行查询。
只有管理人员和销售人员才能使用本模块。
4.分析与创建数据库
在本系统中,需要掌握汽车的基本信息、每次汽车进货信息、每次汽车销售信息,此外,由于要进行用户管理,还需要掌握使用本系统的用户,各种数据表如图2,3,4,5所示
图2用户信息表-userlist
图3汽车信息表-products
图4销售信息表-sell
图5进货信息表-stock
为了数据库的规范化的设计理念,3个表之间的关系如图6所示的关系图。
·products表中的“汽车名称”字段和sell表中的“商品名称”形成一对多的参照完整性
·products表中的“商品名称”字段和stock表中的“商品名称”字段形成一对多的参照完整性
图6表之间的关系
5.创建登录窗体模块
5.1窗体模块的功能
该系统是一个基于不同用户的系统,在本系统中有3类不同的用户:
管理人员、仓管人员、销售人员。
因此,在系统启动时,需要一个登录窗口,已选择不同的身份登录,然后根据不同的身份来显示不同的功能。
5.2主界面的设计
图7主界面
5.3工作流程或者方式
系统运行时,首先出现主界面。
当点击“登录”按钮后,出现登录窗体。
由于登录窗体时一个面向多用户的系统,不同的用户在使用系统时,将会拥有不同的功能。
登录窗体的作用就是确定当前使用系统的用户类型。
当窗体运行时,用户首先要在用户名和密码这两个文本框中输入相应的用户名和密码,然后在身份组合框中选择不同的身份。
单击“确定”按钮即可进入主窗体。
登录界面如图8所示。
图8登录界面
5.4部分代码如下:
“确定”按钮的部分代码:
PrivateSubcmdOK_Click()
OnErrorGoToerrHandler
SetgConn=NewADODB.Connection
gConn.Open"yyxs","teamo"
DimuserAsString,pwdAsString
user=txtUser
pwd=txtPwd
gnUserType=cboUserType.ListIndex
gsUserName=user
DimstrSQLAsString
strSQL="select*fromuserlistwhere用户名='"&user&"'and用户密码='"&pwd&"'and用户类型="&gnUserType
DimrAsNewADODB.Recordset
r.OpenstrSQL,gConn,adOpenStatic
StaticnTryCountAsInteger
Ifr.EOFThen
MsgBox"对不起,无此用户或者密码不正确!
请重新输入!
!
!
",vbCritical,"错误"
txtUser.SetFocus
txtUser.SelStart=0
txtUser.SelLength=Len(txtUser)
nTryCount=nTryCount+1
IfnTryCount>=3Then
MsgBox"您无权操作本系统!
再见!
",vbCritical,"无权限"
UnloadMe
gConn.Close
EndIf
Else
UnloadMe
frmMain.Show
EndIf
r.Close
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
身份选择组合框的代码如下:
PrivateSubForm_Load()
cboUserType.Clear
cboUserType.AddItem"管理人员",0
cboUserType.AddItem"仓管人员",1
cboUserType.AddItem"销售人员",2
cboUserType.ListIndex=0
EndSub
6.主窗体的设计
6.1窗体模块的功能
如果用户通过登录窗体登录了本系统,将会出现如图9,10,11所示的主窗体界面。
该窗体是为整个系统中的窗体提供一个统一管理的环境。
其中设计了菜单,不同的菜单对应不同的系统功能;根据不同的用户身份,将会显示不同的菜单,这样就实现了使功能随用户的不同而不同的设计思路。
6.2工作流程
该窗体被作为系统中众多窗体的父窗体,其主要功能是提供用户所要使用的菜单项,不同身份的用户,其所能使用的菜单项也是不同的。
(1)以管理人员登录的界面显示,如图9所示
图9
(2)以仓管人员登录的界面显示,如图10所示
图10
(3)以销售人员登录的界面显示,如图11所示
图11
(4)密码或用户名输入错误的界面如图12所示
图12
6.3部分代码
(1)主窗体Load事件的代码
PrivateSubForm_Load()
OnErrGoToerrHandler
Me.Left=GetSetting(App.Title,"Settings","MainLeft",1000)
Me.Top=GetSetting(App.Title,"Settings","MainTop",1000)
Me.Width=GetSetting(App.Title,"Settings","MainWidth",6500)
Me.Height=GetSetting(App.Title,"Settings","MainHeight",6500)
SelectCasegnUserType
Case0:
mnuSystem.Visible=True
mnuProduct.Visible=True
mnuStock.Visible=True
mnuSell.Visible=True
mnuHelp.Visible=True
Case1:
mnuSystem.Visible=False
mnuProduct.Visible=False
mnuStock.Visible=True
mnuSell.Visible=False
mnuHelp.Visible=True
Case2:
mnuSystem.Visible=False
mnuProduct.Visible=False
mnuStock.Visible=False
mnuSell.Visible=True
mnuHelp.Visible=True
EndSelect
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
(2)各菜单项的代码
PrivateSubmnuProductAdd_Click()
frmProduct.mbAddMode=True
frmProduct.ShowvbModal
EndSub
PrivateSubmnuProductChart_Click()
DimrsAsNewADODB.Recordset
rs.Open"select*fromproducts",gConn,adOpenStatic
LoadfrmChart
frmChart.Caption="当前汽车的库存状态"
Dimarr()
ReDimarr(1Tors.RecordCount,1To2)
DimiAsInteger
i=1
rs.MoveFirst
DimstrAsString
WhileNotrs.EOF
str=Trim(rs("汽车名称"))
arr(i,1)=""&str&""
arr(i,2)=rs("库存数量")
i=i+1
rs.MoveNext
Wend
WithfrmChart.charReport
.Title="当前汽车的库存状态"
.ChartData=arr
EndWith
rs.Close
frmChart.ShowvbModal
EndSub
PrivateSubmnuProductFind_Click()
mnuProductList_Click
frmProductList.cmdFind.Value=True
EndSub
PrivateSubmnuProductList_Click()
LoadfrmProductList
frmProductList.SQL="select*fromproducts"
frmProductList.Show
EndSub
PrivateSubmnuSellAdd_Click()
frmSell.mbAddMode=True
frmSell.ShowvbModal
EndSub
PrivateSubmnuSellFind_Click()
mnuSellList_Click
frmSellList.cmdFind.Value=True
EndSub
PrivateSubmnuSellList_Click()
LoadfrmSellList
frmSellList.SQL="select*fromsell"
frmSellList.Show
EndSub
PrivateSubmnuStockAdd_Click()
frmStock.mbAddMode=True
frmStock.ShowvbModal
EndSub
PrivateSubmnuStockFind_Click()
mnuStockList_Click
frmStockList.cmdFind.Value=True
EndSub
PrivateSubmnuStockList_Click()
LoadfrmStockList
frmStockList.SQL="select*fromstock"
frmStockList.Show
EndSub
PrivateSubmnuSystemExit_Click()
UnloadMe
EndSub
PrivateSubmnuSystemLogin_Click()
UnloadMe
frmLogin.Show
EndSub
PrivateSubmnuSystemUser_Click()
frmUser.Show
EndSub
7.创建用户管理模块
7.1窗体模块的功能
用户管理模块有3个窗体组成:
用户管理主窗体、密码窗体和用户身份选择窗体。
用户管理主窗体用于显示用户列表,供用户选择下一步操作;密码窗体用于添加用户时输入用户密码,或者用于变更当前用户的秘密;用户身份选择窗体用于添加用户时选择用户身份,或用于变更当前的用户身份。
7.2窗体工作流程
用户管理模块有几个窗体所共同组成,其流程如图13所示
图13用户管理模块的流程
7.3窗体显示界面
(1)用户管理界面如图14所示
图14
(2)密码窗体如图15
图15图16
(3)用户类型窗体如图16
7.4部分代码
a用户管理代码
PrivateSubcboUserType_Click()
OnErrorGoToerrHandler
lstUser.Clear
DimstrAsString
SelectCasecboUserType.ListIndex
Case0,1,2:
str="select*fromuserlistwhere用户类型="&cboUserType.ListIndex
CaseElse:
str="select*fromuserlist"
EndSelect
DimrsAsNewADODB.Recordset
rs.Openstr,gConn,adOpenStatic
WhileNotrs.EOF
lstUser.AddItemrs("用户名"),0
lstUser.ItemData(0)=rs("用户类型")
rs.MoveNext
Wend
rs.Close
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
PrivateSubcmdAddUser_Click()
OnErrorGoToerrHandler
DimstrUserAsString
DimstrPwdAsString
DimnTypeAsInteger
getUser:
strUser=InputBox("请输入所要新建的用户的名称:
","用户名")
IfstrUser=""ThenExitSub
DimrsAsNewADODB.Recordset
rs.Open"select*fromuserlistwhere用户名='"&strUser&"'",gConn,adOpenStatic
IfNotrs.EOFThen
MsgBox"该用户名已经存在!
",vbCritical,"用户名重复"
GoTogetUser
EndIf
rs.Close
getPwd:
frmPassword.ShowvbModal
strPwd=frmPassword.txtPwd(0).Text
UnloadfrmPassword
IfstrPwd=""Then
MsgBox"必须输入密码!
",vbCritical,"需要密码"
GoTogetPwd
EndIf
getType:
frmUserType.ShowvbModal
nType=frmUserType.mmUserType
UnloadfrmUserType
IfnType<0Then
MsgBox"必须选择用户类型!
",vbCritical,"选择用户类型"
GoTogetType
EndIf
gConn.Execute"insertintouserlist(用户名,用户密码,用户类型)values('"&strUser&"','"&strPwd&"',"&nType&")"
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
PrivateSubcmdChangePwd_Click()
OnErrorGoToerrHandler
IflstUser.Text=""ThenExitSub
frmPassword.ShowvbModal
IffrmPassword.txtPwd(0).Text<>""Then
gConn.Execute"updateuserlistset用户密码='"&frmPassword.txtPwd(0).Text&"'where用户名='"&lstUser.Text&"'"
EndIf
UnloadfrmPassword
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
PrivateSubcmdChangeType_Click()
OnErrorGoToerrHandler
IflstUser.Text=""ThenExitSub
LoadfrmUserType
frmUserType.optUserType(lstUser.ItemData(lstUser.ListIndex)).Value=True
frmUserType.ShowvbModal
IffrmUserType.mnUserType>=0Then
gConn.Execute"updateuserlistset用户类型="&frmUserType.mnUserType&"where用户名='"&lstUser.Text&"'"
EndIf
UnloadfrmUserType
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
PrivateSubcmdClose_Click()
UnloadMe
EndSub
PrivateSubcmdDeleteUser_Click()
OnErrorGoToerrHandler
IflstUser.Text=""ThenExitSub
IflstUser.Text=gsUserNameThen
MsgBox"不能删除当前记录!
",vbCritical,"删除用户错误"
ExitSub
EndIf
gConn.Execute"deletefromuserlistwhere用户名='"&lstUser.Text&"'"
lstUser.RemoveItemlstUser.ListIndex
ExitSub
errHandler:
MsgBoxErr.Description,vbCritical,"错误"
EndSub
b密码窗体代码
c用户身份选择窗体代码
PrivateSubcmdCancel_Click()
mnUserType=-1
Me.Hide
EndSub
PrivateSubcmdOK_Click()
Me.Hide
EndSub
PrivateSubForm_Load()
optUserType(0).Value=True
mnUserType=-1
EndSub
PrivateSuboptUserType_Click(IndexAsInteger)
mnUserType=Index
EndSub
8.创建汽车信息管理模块
8.1窗体模块的功能
在汽车信息管理模块中,包含3个窗体:
汽车信息列表窗体、汽车信息编辑窗体和显示库存数量的窗体。
汽车信息列表窗体以表格的形式列出当前系统中的汽车信息,并且为用户提供了进行各种操作的接口;汽车信息编辑窗体用于显示某一个汽车的基本信息,借助该窗体可以对某个汽车信息进行编辑,也可以向数据库增加一个汽车信息;显示库存数量的窗体主要是借助图形方式显示出汽车当前的数量。
8.2窗体工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 销售 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)