软件工程课程设计销售管理系统Word版_第1页
软件工程课程设计销售管理系统Word版_第2页
软件工程课程设计销售管理系统Word版_第3页
软件工程课程设计销售管理系统Word版_第4页
软件工程课程设计销售管理系统Word版_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传播优秀word版文档 ,希望对您有帮助,可双击去除!销售管理系统一.项目简介随着计算机技术的迅猛发展,存在于网络的企业销售管理系统将逐步代替传统的管理模式进入企业。为了更高效得完成销售方面的工作,也可以有更多的时间处理更多的别的事务,企业也将摆脱原有的管理形势完全进入信息化管理。销售管理系统在企业的管理过程中起着巨大的作用二.功能需求一个销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,客户管理的功能。客户登录销售管理系统进行售后服务查询,销售员可以对销售的产品进行登记,并将销售情况反馈给数据库。为管理的方便性和信息传递的快速性提供了一个很好的平台。系统开发的总体任务是实

2、现售后服务及销售登记自动化。总之,销售管理系统要实现登陆验证、商品销售管理、商品销售报表管理、客户信息管理四大部分。1.客户对功能的需求1>查看自己的信息,了解自己近期的购买情况。2>查看产品的信息,熟悉产品情况。2>查看售后服务信息。2.销售人员对功能的需求1>查看自己的信息,了解自己近期的销售情况。2>查看产品的信息,熟悉产品情况。3>登记销售产品。4>添加新产品,并填写产品相关信息。3.售后服务人员对功能的需求1>查看售后服务信息。2>添加售后服务信息。三. 分析模型时序图销售管理系统顶层图1.客户管理第三层dfd图 客户管理子系统2

3、.销售管理第三层dfd图 销售管理子系统3.售后服务管理第三层dfd图 售后服务管理子系统4.客户登录动态时序图为四. 模块活动图,登录流程图1.注册、登陆模块1>模块功能描述该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成系统的混乱和崩溃,严重影响其安全性和有效性。所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。2>在模块的详细设计后,便能得出实现该部分的具体流程,如图用户注册模块程序流程图登录模块程序流程图活动图为:2.

4、客户管理模块1>模块功能描述显示客户的基本信息。 库户可以查看自己的等级和交易次数。2>在模块的详细设计后,便能得出实现该部分的具体流程,如图3-8。客户管理模块流程图活动图为:3.销售管理模块1 >模块功能描述在这个模块可以登记销售记录。并且在提交记录时,更新数据库:(1)更新客户信息。如果是“老客户”系统会按照客户等级给出对应的优惠价。(2)更新产品信息。主要是更新该产品数量。2>在模块的详细设计后,便能得出实现该部分的具体流程,如图销售管理模块流程图活动图为五.数据库设计1.客户信息表 2.商品进货表 3.商品销售表六.运行界面与代码1.登陆窗口dim

5、conn as adodb.connectiondim rs as adodb.recordsetprivate sub cmdok_click() if username.text <> "" and password.text <> "" then set conn = new adodb.connection set rs = new adodb.recordset conn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.pa

6、th & "人事.mdb;persist security info=false" rs.open "select * from usermanage where username='" & username.text & "'", conn, 1, 1 if not rs.eof then if rs("password") = password.text then main.show unload me else msgbox "非法登录,密码错误!"

7、, vbokonly, "警告" end if else msgbox "非法登录,找不到该用户!", vbokonly, "警告" end if else msgbox "用户名或密码不能为空!", vbokonly, "提示" end ifend subprivate sub password_keypress(keyascii as integer) if keyascii = 13 then call cmdok_click end ifend subprivate sub userna

8、me_keypress(keyascii as integer) if keyascii = 13 then call cmdok_click end ifend sub 2.主界面private sub cmd_click(index as integer) select case index case 0 goodsin.show me.enabled = false case 1 saler.show me.enabled = false case 2 saledata.show me.enabled = false case 3 saletotal.show me.enabled =

9、false case 4 userm.show me.enabled = false end selectend sub进货管理private sub cmd_click(index as integer) select case index case 0 '第一条 adodc1.recordset.movefirst case 1 '上一条 if not adodc1.recordset.bof then adodc1.recordset.moveprevious end if case 2 '下一条 if not adodc1.recordset.eof then

10、adodc1.recordset.movenext end if case 3 '最尾条 adodc1.recordset.movelast case 4 '添加 adodc1.recordset.addnew for i = 0 to 7 goodtext(i).enabled = true next cmd(6).enabled = true case 5 '修改 for i = 0 to 7 goodtext(i).enabled = true next cmd(6).enabled = true case 6 '保存 adodc1.recordset.u

11、pdate for i = 0 to 7 goodtext(i).enabled = false next msgbox "更新记录成功!", vbokonly, "提示" cmd(6).enabled = false case 6 '删除 if msgbox("确定删除当前记录,数据将不可恢复?", vbokcancel, "提示") = vbok then adodc1.recordset.delete end if end selectend subprivate sub form_load() ad

12、odc1.connectionstring = "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "人事.mdb;persist security info=false" adodc1.recordsource = "select * from save" for i = 0 to 6 set goodtext(i).datasource = adodc1 goodtext(i).datafield = adodc1.recordset.field

13、s(i).name next adodc1.refresh set datagrid1.datasource = adodc1end subprivate sub form_unload(cancel as integer) main.enabled = trueend sub销售管理dim conn as adodb.connectiondim rs as adodb.recordsetpublic id as stringpublic action as stringprivate sub cmd_click(index as integer) select case index case

14、 0 '第一条 if not adodc1.recordset.bof then adodc1.recordset.movefirst end if case 1 '上一条 if not adodc1.recordset.bof then adodc1.recordset.moveprevious end if case 2 '下一条 if not adodc1.recordset.eof then adodc1.recordset.movenext end if case 3 '最尾条 if not adodc1.recordset.eof then adod

15、c1.recordset.movelast end if case 4 '添加 action = "add" managesale.show me.enabled = false case 5 '修改 action = "modify" id = adodc1.recordset.fields("id") managesale.show me.enabled = false case 7 '删除 if msgbox("确定删除当前记录,数据将不可恢复?", vbokcancel, "

16、;提示") = vbok then set conn = new adodb.connection set rs = new adodb.recordset conn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "人事.mdb;persist security info=false" rs.open "select goodcount from save where goodnum='" & goodtex

17、t(0).text & "'", conn, 1, 3 rs("goodcount") = rs("goodcount") + goodtext(5).text rs.update rs.close adodc1.recordset.delete end if end selectend subprivate sub form_load() adodc1.connectionstring = "provider=microsoft.jet.oledb.4.0;data source=" &

18、app.path & "人事.mdb;persist security info=false" adodc1.recordsource = "select * from sale order by id" for i = 0 to 6 set goodtext(i).datasource = adodc1 goodtext(i).datafield = adodc1.recordset.fields(i + 1).name next adodc1.refresh set datagrid1.datasource = adodc1end subpr

19、ivate sub form_unload(cancel as integer) main.enabled = trueend sub添加修改销售记录dim conn as adodb.connectiondim rs as adodb.recordsetpublic salecount as longprivate sub combo1_change()end subprivate sub cmd_click(index as integer) select case index case 0 set conn = new adodb.connection set rs = new adod

20、b.recordset conn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "人事.mdb;persist security info=false" if goodtext(0) = "" or goodtext(3) = "" or goodtext(4) = "" then msgbox "数据没有输入完整,请重新输入!", vbokonly, "提示&qu

21、ot; exit sub end if if saledata.action = "add" then rs.open "select * from sale", conn, 1, 3 rs.addnew else rs.open "select * from sale where id=" & saledata.id, conn, 1, 3 end if rs("goodnum") = gnum.text rs("goodname") = goodtext(1).text rs(&qu

22、ot;danwei") = goodtext(2).text rs("outdate") = goodtext(3).text rs("danjia") = goodtext(4).text rs("outcount") = goodtext(0).text rs("salename") = salename.text rs.update rs.close rs.open "select * from save where goodnum='" & gnum.text

23、& "'", conn, 1, 3 '在库存表中将库存数量减去已售出的数量 if saledata.action = "add" then rs("goodcount") = rs("goodcount") - goodtext(0).text else rs("goodcount") = rs("goodcount") - (goodtext(0).text - salecount) end if rs.update rs.close msgbox

24、"数据更新成功!", vbokonly, "提示" saledata.adodc1.refresh unload me case 1 unload me end selectend subprivate sub form_load() set conn = new adodb.connection set rs = new adodb.recordset conn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "人事.mdb

25、;persist security info=false" dim saleman as string if saledata.action = "add" then rs.open "select goodnum from save order by goodnum", conn, 1, 1 do while not rs.eof gnum.additem rs(0) rs.movenext loop gnum.text = gnum.list(0) else rs.open "select * from sale where id

26、=" & saledata.id, conn, 1, 1 gnum.additem rs("goodnum") goodtext(1).text = rs("goodname") goodtext(2).text = rs("danwei") goodtext(3).text = rs("outdate") goodtext(4).text = rs("danjia") goodtext(0).text = rs("outcount") saleman = rs("salename") gnum.text = gnum.list(0) gnum.enabled = false rs.close rs.open "select * from save where goodnum='" & gnum.text & "'", conn, 1, 1 salenum.max = goodtext(0).text + rs("goodcount") saleco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论