汽车销售管理系统.docx

上传人:b****7 文档编号:23605491 上传时间:2023-05-18 格式:DOCX 页数:57 大小:337.45KB
下载 相关 举报
汽车销售管理系统.docx_第1页
第1页 / 共57页
汽车销售管理系统.docx_第2页
第2页 / 共57页
汽车销售管理系统.docx_第3页
第3页 / 共57页
汽车销售管理系统.docx_第4页
第4页 / 共57页
汽车销售管理系统.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

汽车销售管理系统.docx

《汽车销售管理系统.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统.docx(57页珍藏版)》请在冰豆网上搜索。

汽车销售管理系统.docx

汽车销售管理系统

汽车销售管理系统

前言:

高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要。

面对庞大的汽车销售和库存信息,就需要有汽车管理系统来提高管理工作的效率。

通过建立这样的系统,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。

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窗体工

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1