1、汽车销售管理系统汽车销售管理系统前言:高效的汽车销售管理系统是当前信息化汽车公司管理系统之需要。面对庞大的汽车销售和库存信息,就需要有汽车管理系统来提高管理工作的效率。通过建立这样的系统,可以做到汽车信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。1.开发环境与开发工具系统开发环境为一台安装windows xp的个人计算机作为客户机,其上安装了SQL Server 2000,本系统使用Visual Basic 6.0来开发,系统设计与运行均可在客户机上进行。2.系统需求分析 本系统的设计模拟一般医院的汽车销售管理系统内容,经过充分的系统分析和调研,本系统主要包括的信息有3类:汽车
2、商品信息、汽车进货信息以及汽车销售信息。 在传统的销售管理工作中,往往是用人工清点的方式来掌握仓库中的汽车商品、使用手工记账的方式来掌握商品的进货和销售情况。这种方式在数量较少、库存变换少的情况下,不失为一种好的方法。但是,随着每天所发生的进货和销售情况纷繁复杂,如果借助人工来记录和管理,将会耗费大量的时间,而且容易出现错误,造成管理上的混乱。 具体而言,汽车销售管理系统需要实现一下的需求:(1) 能够对医院过拥有的各种汽车的基础信息进行维护和管理。汽车的基础信息包括:汽车的顺序号、汽车名称、汽车规格、计量单位、备注信息、库存数量等。系统需要能够对汽车信息进行添加、修改和删除,也可以以图形的方
3、式显示出现汽车的库存数量的比较。(2) 跟踪各种汽车的的进货信息。汽车的进货信息包括顺序号、汽车名称、进货数量、进货价格、进货日期、备注等。系统还需要能够对进货信息进行添加、修改和删除,也可以按照一定的条件来进行查询。(3) 跟踪各种汽车的销售信息。汽车的销售信息包括顺序号、汽车名称、顾客名称、购买数量、售出价格、销售日期、备注等。系统需要能够对销售信息进行添加、修改和删除,也可以按照一定的条件来进行查询。3.模块设计 根据需求分析的结果,本系统主要划分为4个子模块:用户管理、汽车信息管理、进货信息管理、销售信息管理。 汽车销售管理系统不同类型的用户在系统中有不同的权限,主要有以下3种用户:(
4、1) 管理人员 本系统的管理人员可以使用本系统的所有功能,包括用户管理、汽车信息管理、进货信息管理和销售信息管理功能。(2) 仓管人员 仓管人员负责管理仓库中的汽车数量,主要负责汽车的每次的进货情况。其只能使用系统中的进货信息管理功能模块,对每次进货的信息进行记录,并且可以查询当前仓库中的汽车库存数量。(3) 销售人员 销售人员负责汽车的日常销售工作,需要掌握各种汽车的各次的销售情况。其只能使用本系统的汽车销售信息管理模块,贵每次汽车的销售情况进行记录。整个系统的结构模块如图1所示。 一下分别介绍系统中的各个系统4个子模块A 用户管理模块用于管理汽车销售系统中的各种类型的用户。只有具有管理人员
5、身份的人才能使用本模块,管理人员可以添加或者删除相应的用户,可以改变用户的身份,也可以改变某个用户的秘密。B 汽车信息管理模块 图1 系统模块分析用来多医院所拥有的各种汽车的基础信息进行维护和管理。在系统中,需要对汽车信息进行添加、修改和删除,也可以按照一定的条件进行查询,并且不要将汽车的库存数量以图形的方式显示出来。C 进货信息管理模块用来跟踪汽车每一次进货的信息。该模块需要能够对进货信息进行添加、修改和删除,也可以按照一定的条件来进行查询。只有管理人员和仓管人员才能使用本模块。D 销售信息管理模块用来跟踪汽车每一次售货的信息。该模块需要能够对销售信息进行添加、修改和删除,也可以按照一定的条
6、件来进行查询。只有管理人员和销售人员才能使用本模块。4.分析与创建数据库 在本系统中,需要掌握汽车的基本信息、每次汽车进货信息、每次汽车销售信息,此外,由于要进行用户管理,还需要掌握使用本系统的用户,各种数据表如图2,3,4,5所示 图2 用户信息表-userlist 图3 汽车信息表-products 图4 销售信息表-sell 图5 进货信息表-stock 为了数据库的规范化的设计理念,3个表之间的关系如图6所示的关系图。 products表中的“汽车名称”字段和sell表中的“商品名称”形成一对多的参照完整性 products表中的“商品名称”字段和stock表中的“商品名称”字段形成一
7、对多的参照完整性 图6 表之间的关系5.创建登录窗体模块 5.1窗体模块的功能 该系统是一个基于不同用户的系统,在本系统中有3类不同的用户:管理人员、仓管人员、销售人员。因此,在系统启动时,需要一个登录窗口,已选择不同的身份登录,然后根据不同的身份来显示不同的功能。 5.2 主界面的设计 图7 主界面 5.3 工作流程或者方式 系统运行时,首先出现主界面。当点击“登录”按钮后,出现登录窗体。由于登录窗体时一个面向多用户的系统,不同的用户在使用系统时,将会拥有不同的功能。登录窗体的作用就是确定当前使用系统的用户类型。 当窗体运行时,用户首先要在用户名和密码这两个文本框中输入相应的用户名和密码,然
8、后在身份组合框中选择不同的身份。 单击“确定”按钮即可进入主窗体。 登录界面如图8所示。 图8 登录界面 5.4 部分代码如下:“确定”按钮的部分代码:Private Sub cmdOK_Click()On Error GoTo errHandlerSet gConn = New ADODB.ConnectiongConn.Open yyxs, teamoDim user As String, pwd As Stringuser = txtUserpwd = txtPwdgnUserType = cboUserType.ListIndexgsUserName = userDim strSQL
9、As StringstrSQL = select * from userlist where 用户名= & user & and 用户密码= & pwd & and 用户类型= & gnUserTypeDim r As New ADODB.Recordsetr.Open strSQL, gConn, adOpenStaticStatic nTryCount As IntegerIf r.EOF Then MsgBox 对不起,无此用户或者密码不正确!请重新输入!, vbCritical, 错误 txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelL
10、ength = Len(txtUser) nTryCount = nTryCount + 1 If nTryCount = 3 Then MsgBox 您无权操作本系统!再见!, vbCritical, 无权限 Unload Me gConn.Close End IfElse Unload Me frmMain.ShowEnd Ifr.CloseExit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End Sub 身份选择组合框的代码如下:Private Sub Form_Load()cboUserType.ClearcboUser
11、Type.AddItem 管理人员, 0cboUserType.AddItem 仓管人员, 1cboUserType.AddItem 销售人员, 2cboUserType.ListIndex = 0End Sub6.主窗体的设计 6.1 窗体模块的功能 如果用户通过登录窗体登录了本系统,将会出现如图9,10,11所示的主窗体界面。该窗体是为整个系统中的窗体提供一个统一管理的环境。其中设计了菜单,不同的菜单对应不同的系统功能;根据不同的用户身份,将会显示不同的菜单,这样就实现了使功能随用户的不同而不同的设计思路。 6.2 工作流程 该窗体被作为系统中众多窗体的父窗体,其主要功能是提供用户所要使用
12、的菜单项,不同身份的用户,其所能使用的菜单项也是不同的。(1) 以管理人员登录的界面显示,如图9所示 图9(2) 以仓管人员登录的界面显示,如图10所示 图10(3) 以销售人员登录的界面显示,如图11所示 图11(4) 密码或用户名输入错误的界面如图12所示 图126.3 部分代码(1)主窗体Load事件的代码 Private Sub Form_Load()On Err GoTo errHandlerMe.Left = GetSetting(App.Title, Settings, MainLeft, 1000)Me.Top = GetSetting(App.Title, Settings,
13、 MainTop, 1000)Me.Width = GetSetting(App.Title, Settings, MainWidth, 6500)Me.Height = GetSetting(App.Title, Settings, MainHeight, 6500)Select Case gnUserType Case 0: mnuSystem.Visible = True mnuProduct.Visible = True mnuStock.Visible = True mnuSell.Visible = True mnuHelp.Visible = True Case 1: mnuSy
14、stem.Visible = False mnuProduct.Visible = False mnuStock.Visible = True mnuSell.Visible = False mnuHelp.Visible = True Case 2: mnuSystem.Visible = False mnuProduct.Visible = False mnuStock.Visible = False mnuSell.Visible = True mnuHelp.Visible = TrueEnd SelectExit SuberrHandler: MsgBox Err.Descripti
15、on, vbCritical, 错误End Sub (2)各菜单项的代码 Private Sub mnuProductAdd_Click()frmProduct.mbAddMode = TruefrmProduct.Show vbModalEnd SubPrivate Sub mnuProductChart_Click()Dim rs As New ADODB.Recordsetrs.Open select * from products, gConn, adOpenStaticLoad frmChartfrmChart.Caption = 当前汽车的库存状态Dim arr()ReDim ar
16、r(1 To rs.RecordCount, 1 To 2)Dim i As Integeri = 1rs.MoveFirstDim str As StringWhile Not rs.EOF str = Trim(rs(汽车名称) arr(i, 1) = & str & arr(i, 2) = rs(库存数量) i = i + 1 rs.MoveNextWendWith frmChart.charReport .Title = 当前汽车的库存状态 .ChartData = arrEnd Withrs.ClosefrmChart.Show vbModalEnd SubPrivate Sub m
17、nuProductFind_Click()mnuProductList_ClickfrmProductList.cmdFind.Value = TrueEnd SubPrivate Sub mnuProductList_Click()Load frmProductListfrmProductList.SQL = select * from productsfrmProductList.ShowEnd SubPrivate Sub mnuSellAdd_Click()frmSell.mbAddMode = TruefrmSell.Show vbModalEnd SubPrivate Sub mn
18、uSellFind_Click()mnuSellList_ClickfrmSellList.cmdFind.Value = TrueEnd SubPrivate Sub mnuSellList_Click()Load frmSellListfrmSellList.SQL = select * from sellfrmSellList.ShowEnd SubPrivate Sub mnuStockAdd_Click()frmStock.mbAddMode = TruefrmStock.Show vbModalEnd SubPrivate Sub mnuStockFind_Click()mnuSt
19、ockList_ClickfrmStockList.cmdFind.Value = TrueEnd SubPrivate Sub mnuStockList_Click()Load frmStockListfrmStockList.SQL = select * from stockfrmStockList.ShowEnd SubPrivate Sub mnuSystemExit_Click()Unload MeEnd SubPrivate Sub mnuSystemLogin_Click()Unload MefrmLogin.ShowEnd SubPrivate Sub mnuSystemUse
20、r_Click()frmUser.ShowEnd Sub7.创建用户管理模块 7.1 窗体模块的功能 用户管理模块有3个窗体组成:用户管理主窗体、密码窗体和用户身份选择窗体。用户管理主窗体用于显示用户列表,供用户选择下一步操作;密码窗体用于添加用户时输入用户密码,或者用于变更当前用户的秘密;用户身份选择窗体用于添加用户时选择用户身份,或用于变更当前的用户身份。 7.2 窗体工作流程 用户管理模块有几个窗体所共同组成,其流程如图13所示 图13 用户管理模块的流程 7.3 窗体显示界面 (1)用户管理界面如图14所示 图14 (2)密码窗体如图15 图15 图16(3)用户类型窗体如图16 7.
21、4 部分代码 a 用户管理代码 Private Sub cboUserType_Click()On Error GoTo errHandlerlstUser.ClearDim str As StringSelect Case cboUserType.ListIndex Case 0, 1, 2: str = select * from userlist where 用户类型= & cboUserType.ListIndex Case Else: str = select * from userlistEnd SelectDim rs As New ADODB.Recordsetrs.Open
22、str, gConn, adOpenStaticWhile Not rs.EOF lstUser.AddItem rs(用户名), 0 lstUser.ItemData(0) = rs(用户类型) rs.MoveNextWendrs.CloseExit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdAddUser_Click()On Error GoTo errHandlerDim strUser As StringDim strPwd As StringDim nType As Integ
23、ergetUser: strUser = InputBox(请输入所要新建的用户的名称:, 用户名) If strUser = Then Exit Sub Dim rs As New ADODB.Recordset rs.Open select * from userlist where 用户名= & strUser & , gConn, adOpenStatic If Not rs.EOF Then MsgBox 该用户名已经存在!, vbCritical, 用户名重复 GoTo getUser End If rs.Close getPwd: frmPassword.Show vbModal
24、 strPwd = frmPassword.txtPwd(0).Text Unload frmPassword If strPwd = Then MsgBox 必须输入密码!, vbCritical, 需要密码 GoTo getPwd End If getType: frmUserType.Show vbModal nType = frmUserType.mmUserType Unload frmUserType If nType 0 Then MsgBox 必须选择用户类型!, vbCritical, 选择用户类型 GoTo getType End If gConn.Execute inse
25、rt into userlist(用户名,用户密码,用户类型) values( & strUser & , & strPwd & , & nType & ) Exit Sub errHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdChangePwd_Click()On Error GoTo errHandlerIf lstUser.Text = Then Exit SubfrmPassword.Show vbModalIf frmPassword.txtPwd(0).Text Then gConn.Exe
26、cute update userlist set 用户密码= & frmPassword.txtPwd(0).Text & where 用户名= & lstUser.Text & End IfUnload frmPasswordExit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdChangeType_Click()On Error GoTo errHandlerIf lstUser.Text = Then Exit SubLoad frmUserTypefrmUserType.optUs
27、erType(lstUser.ItemData(lstUser.ListIndex).Value = TruefrmUserType.Show vbModalIf frmUserType.mnUserType = 0 Then gConn.Execute update userlist set 用户类型= & frmUserType.mnUserType & where 用户名= & lstUser.Text & End IfUnload frmUserTypeExit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End SubPr
28、ivate Sub cmdClose_Click()Unload MeEnd SubPrivate Sub cmdDeleteUser_Click()On Error GoTo errHandlerIf lstUser.Text = Then Exit SubIf lstUser.Text = gsUserName Then MsgBox 不能删除当前记录!, vbCritical, 删除用户错误 Exit SubEnd IfgConn.Execute delete from userlist where 用户名= & lstUser.Text & lstUser.RemoveItem lst
29、User.ListIndexExit SuberrHandler: MsgBox Err.Description, vbCritical, 错误End Subb 密码窗体代码 c 用户身份选择窗体代码 Private Sub cmdCancel_Click()mnUserType = -1Me.HideEnd SubPrivate Sub cmdOK_Click()Me.HideEnd SubPrivate Sub Form_Load()optUserType(0).Value = TruemnUserType = -1End SubPrivate Sub optUserType_Click(Index As Integer)mnUserType = IndexEnd Sub8. 创建汽车信息管理模块 8.1 窗体模块的功能 在汽车信息管理模块中,包含3个窗体:汽车信息列表窗体、汽车信息编辑窗体和显示库存数量的窗体。汽车信息列表窗体以表格的形式列出当前系统中的汽车信息,并且为用户提供了进行各种操作的接口;汽车信息编辑窗体用于显示某一个汽车的基本信息,借助该窗体可以对某个汽车信息进行编辑,也可以向数据库增加一个汽车信息;显示库存数量的窗体主要是借助图形方式显示出汽车当前的数量。 8.2 窗体工
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1