版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章前言目前市场上流行的专门针对中小型企业开发的客户营销关系管理系统,实现”以客户为中心”的信息化管理的经营理念。它们辅助企业建立规范、高效的营销体系,提高企业整体营销竞争力;及时、准确、全面地把握营销动态,降低企业营销管理成本,提高企业的综合竞争力,适用于所有从事产品营销和服务营销的企业。企业的外部资源:客户资源、代理商资源、分销商资源,供应商资源和其他合作伙伴资源本质上与企业内部的其他资源一样需要人们的悉心经营。客户是企业的利润资源,怎么样让公司的员工能对客户的各类请求和服务给出及时和完美的解决方案?能不能让企业的客户资源有自动更新机制,去掉没有价值的客户,增加能带来利润的客户?作为管理层能不能知道每一个销售人员管理的客户的状态?能不能随时都能知道公司下个月潜在的销售额?客户的增长率情况如何?每个销售人员的表现如何?所有这些都需要有一套系统来解决。通过客户关系管理(CRM)可以将企业的客户集成到企业的服务组织、生产级织和销售组织中来。通过这个CRM解决方案,企业可以管理关于客户、潜在客户、合伙伙伴、合同、通信、文档和需求的相关信息。并为每一个客户,每一个代理商,每一个分销商和每一个供应商开放一个门户,通过客户门户,客户可以访问他们被允许访问的所有信息:订单状况、信用额度、企业最新产品资讯、最新产品报价。通过分销商门户,分销商们可以被赋予权限,访问共同客户的信息。通过使用这套系统,企业可以大大提升客户管理的水平。第二章方案的选定2.1数据库系统简介数据库系统提供了在某个集中的地方存储和维护数据信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。一般来说,DBMS和数据库应用程序驻留在同一台计算机上并在同一台计算机上运行,称为单机型数据库应用系统。但是随着DBMS技术的发展和信息网络化、集成化的要求,目前的数据库系统正向客户/服务器模式和MIDAS(多层数据库应用系统)发展。客户/服务器数据库将DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行在一个或多个用户工作站上,并且通过网络与运行在其他客户机或服务器上的一个或多个数据库管理系统进行通信。VisualBasic6.0语言简介VisualBasicforWindows(以下简称VB)是Windows下的应用程序开发工具,它从根本上改变了传统的程序设计模式,可以处理文本、图像、动画、声音等多媒体数据,因而被计算机界称为“最富有创新精神的编程工具之一”。Access简介在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。事实上,真正用过Access的用户,对其强大功能和灵活应用都有很好的口碑。第三章数据库设计本课题选用Access2000作为后台数据库。3.1、数据库需求分析针对企业客户信息管理系统的需求,通过对客户信息处理过程的内容和数据流程的分析。为本系统设计如下的数据项和数据结构:公司基本信息表:记录编号、国家、城市、经营领域、与本公司合作领域、地址、电话、传真、备注。个人信息表:记录编号、客户编号、客户姓名、性别、年龄、出生年月、所属单位、职务、住址、邮编、电话、手机、传真、电子信箱。用户信息表:用户名名称、用户密码。3・2、数据库的实现根据功能要求在Access2000里创建数据库,客户管理信息系统的数据库中的各个表格的设计如下,这里的每个表格代表数据库中的一个独立的表。公司基本信息表字段名称数据类型说明ID数字记录编号ComName文本国家Country文本城市DealDomain文本经营领域Symbiosis文本与本公司合作领域
Address文本地址Tel文本电话Fax文本传真Remark备注备注个人信息表字段名称数据类型说明ID数字记录编号ClientID文本客户编号ClientName文本客户姓名Gender文本性别Age数字年龄Brithday日期/时间生日Company文本所属公司Cposition文本职务Address文本住址Code文本邮编Tel文本电话MobileTel文本手机FaxNumber文本传真Email文本电子信箱用户信息表字段名称数据类型说明
UserID文本用户名称UserPWD文本用户密码第四章系统设计(模块图)第四章系统设计(模块图)4.1、功能分析开发这个系统的目的就是帮助企业提高工作效率以及确保客户信息的准确性和实时性,实现企业客户信息管理的系统化、规范化和自动化。根据这个系统所要实现的目的和任务,总结出这个系统最终实现的主要功能如下:系统管理部分:包括添加系统用户和修改密码。个人信息管理部分:包括添加个人信息,修改个人信息、查询个人信息。企业信息管理部分:包括修改企业信息、查询企业信息和删除企业信息。工具部分:包括发送电子邮件、数据导出等。4.2、模块设计(1)系统模块系统启动的时候有一个管理员用户,使用这个用户登录后,可以添加其他用户,而且每一个用户都可以更改自己的密码。(2)个人信息管理A:添加个人信息:包括个人的编号、姓名、性别、年龄、生日、地址、电话、邮政编码、传真、手机、职务、Email。B:修改个人信息:修改所有的个人信息。C:查询个人信息:按照公司名称、客户名称查询个人的信息。(3)企业信息管理A:修改企业信息:包括企业记录编号、公司名称、所属国家、所在城市、经营领域、合作领域、地址、电话、传真、备注。B:查询企业信息:根据企业名称、经营领域查询企业信息。C:删除企业信息:删除不作为客户的企业信息。(4)工具A:发送电子邮件:发送电子邮件给客户。B:导出客户信息。根据系统需要实现的主要功能,可以得到企业客户信息管理系统的功能模块图如下
第五章程序设计运行VisualBasic后,选择“文件”f“新建工程”菜单,然后从工程模板中选择“标准EXE”项,单击“确定”按钮。VisualBasic就会自动生成一个窗体,这个窗体的属性采用的都是默认设置。在本课题中,先删除这个窗体,然后选择“文件”f“保存工程”菜单,在出现的“文件另存为”对话框中输入这个工程项目的名称Client_MIS,并且选择要保存这个工程的目录,单击“保存”按钮,保存工程。为了提高代码的效率方便维护,可以用共用模块来存放工程中经常使用的函数、过程和全局变量等。在这个系统中,每个功能模块都要使用数据库,因此可以使用一个共用的数据操作函数,执行一系列的SQL语句。在项目资源管理器中为这个工程添加一个模块,保存为Mclient.bas。添加的方法和添加窗体的方法一样,只不过这里选择的不是MDI窗体,而是选择模块。在这个模块中添加如下代码:首先定义几个变量:OptionExplicitPublicstrUserNameAsString'用户名称PubliciflagAsInteger'是否连接成功标PublicichangeFlagAsInteger'修改标志PublicOptionExplicitPublicstrUserNameAsString'用户名称PubliciflagAsInteger'是否连接成功标PublicichangeFlagAsInteger'修改标志PublicstrPublicSQLAsString'传递SQL字符串添加返回记录集的函数:sqlAs String)Public Function getRS(ByValsqlAs String)AsADODB.Recordset楼m国袁科网https//www,DimconAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrConnectionAsStringDimstrArrayOAsStringSetcon=NewADODB.Connection'创建连接Setrs=NewADODB.Recordset'创建记录集OnErrorGoTogetRS_ErrorstrConnection二"Provider二Microsoft.jet.oledb.4.0;DataSource二"&App.Path&"\"strConnection二strConnection&"Client.mdb"strArray=Split(sql)con.OpenstrConnection'打开连接rs.OpenTrim$(sql),con,adOpenKeyset,adLockOptimisticSetgetRS=rs'返回记录集iflag=1getRS_Exit:Setrs=NothingSetcon=NothingExitFunctiongetRS_Error:MsgBox"查询错误:"&Err.Descriptioniflag=2ResumegetRS_ExitEndFunction添加执行SQL语句的函数:PublicSubTransactSQL(ByValsqlAsString)DimconAsADODB.ConnectionDimstrConnectionAsStringDimstrArrayOAsStringSetcon=NewADODB.Connection '创建连接OnErrorGoToTransactSQL_ErrorstrConnection二 "Provider二Microsoft.jet.oledb.4.0;DataSource二"&App.Path&"\"strConnection二strConnection&"Client.mdb"strArray=Split(sql)con.OpenstrConnection '打开连接con.Executesql '执行命令iflag=1TransactSQL_Exit:Setcon=NothingExitSubTransactSQL_Error:MsgBox"查询错误:"&Err.Descriptioniflag=2ResumeTransactSQL_ExitEndSub添加一个转换回车键的函数:PublicSubTabToEnter(KeyAsInteger)IfKey=13Then '判断是否为回车键SendKeys"{TAB}" '转换为Tab键EndIfEndSub添加系统启动时,第一个出现的窗体的函数:Submain()
DimfLoginAsNewfrmLoginfLogin.ShowEndSub'显示窗体'显示窗体PublicSubshowComTopic()DimiAsIntegerWithMe.MSFlexGridl.TextMatrix(0,0)="记录编号".TextMatrix(0,1)="公司名称".TextMatrix(0,2)="所属国家".TextMatrix(0,3)="所在城市".TextMatrix(0,4)="经营领域".TextMatrix(0,5)="合作领域".TextMatrix(0,6)="地址".TextMatrix(0,7)="电话".TextMatrix(0,8)="传真".TextMatrix(0,9)="备注"Fori=0To9对齐方式.ColAlignment(i)二4Nexti.ColWidth(0)=1000Fori=1To9.ColWidth(i)=1500'设置表头'设置所有表格'设置每列宽9'设置表头'设置所有表格'设置每列宽9EndWithMe.MSFlexGridl.Width=15000EndSubPublicSubshowComData(strQueryAsString) '显示数据DimrsAsNewADODB.RecordsetSetrs=getRS(strQuery)Ifrs.EOF=FalseThenWithMe.MSFlexGrid1.Rows=1WhileNotrs.EOF.Rows=.Rows+1TOC\o"1-5"\h\z.TextMatrix(.Rows — 1, 0) = rs(0).TextMatrix(.Rows — 1, 1) = rs(1).TextMatrix(.Rows — 1, 2) = rs(2).TextMatrix(.Rows — 1, 3) = rs(3).TextMatrix(.Rows — 1, 4) = rs(4).TextMatrix(.Rows — 1, 5) = rs(5).TextMatrix(.Rows — 1, 6) = rs(6).TextMatrix(.Rows — 1, 7) = rs(7).TextMatrix(.Rows — 1, 8) = rs(8).TextMatrix(.Rows — 1, 9) = rs(9)rs.MoveNextWendEndWithrs.CloseEndIfEndSub在修改企业信息时,填写好所要修改的资料,按“修改”按钮,可以把新的资料保存在里面,代码如下:ptionExplicitPrivateiNumAsInteger '记录编号PrivateSubcmdCancel_Click()UnloadMeExitSubEndSubPrivateSubcmdOK_Click()DimsqlAsStringsql=""updateCompanysetComName二'〃&Me.textComName&〃',Country二'〃&Me.textCountrysql=sql&〃’,City二'〃&Me.textCity&〃’,DealDomain二'〃&Me.textDomain&〃',""sql=sql&""Symbiosis二'〃&Me.textSymbiosis&""‘‘Address二'〃&Me.textComAddresssql=sql&〃',Tel二'〃&Me.textComTel&〃',Fax二'〃&Me.textComFaxsql=sql&""‘‘Remark二'〃&Me.textRemark&〃‘whereID二〃&iNumCallTransactSQL(sql) '修改记录MsgBox〃已经更改信息!"",vbOKOnly+vbExclamation,〃提示〃sql=""select*fromCompanywhereID二〃&iNumCallfrmComResult.showComTopic ‘显示修改结果CallfrmComResult.showComData(sql)frmComResult.Show
frmComResult.ZOrder0UnloadMeEndSubPrivateSubForm_Load()'PrivateSubForm_Load()'初始化DimrsAsNewADODB.RecordsetDimrsAsNewADODB.RecordsetSetrs=getRS(strPublicSQL)Ifrs.EOF=FalseThenSetrs=getRS(strPublicSQL)Ifrs.EOF=FalseTheniNum=rs(0)Me.textComName=rs(1)Me.textCountry=rs(2)Me.textCity二rs(3)Me.textDomain=rs(4)Me.textSymbiosis=rs(Me.textComAddress=rsMe.textComTel=rs(7)Me.textComFax=rs(8)Me.textRemark=rs(9)EndIfrs.CloseEndSub在查询企业信息时,填写好可以按企业名称和经营领域,两种方面查找。代码如下:PrivateSubcmdCancel_Click()UnloadMeExitSubEndSubPrivateSubcmdOK_Click()DimsqlAsStringIfMe.checkComName.Value=vbCheckedAndMe.checkDomain.Value=vbCheckedThensql=""select*fromCompanywhereComName二'〃 &Me.textComName&〃‘and""sql=sql&""DealDomain二'〃&Me.textDomain&〃‘〃ElselfMe.checkComName.Value=vbCheckedThensql=""select*fromCompanywhereComName二'〃 &Me.textComName&〃‘〃ElselfMe.checkDomain.Value=vbCheckedThensql=""select*fromCompanywhereDealDomainlike'%""&Me.textDomain&""%'""Elsesql=""select*fromCompanyorderbyID"EndIfCallfrmComResult.showComTopic '显示查询结果CallfrmComResult.showComData(sql)frmComResult.ShowfrmComResult.ZOrder0UnloadMeEndSub发送电子邮件,数据导出代码如下:OptionExplicitPublicstrFilepathAsStringPrivateSubcmdCancel_Click()UnloadMeExitSubEndSubPrivateSubcmdOK_Click()DimiAsIntegerDimrsobjAsNewADODB.RecordsetDimsqlAsStringDimfirstdayAsStringDimdaysAsIntegerDimlastdayAsStringDimoExcelAsObjectDimoBookAsObjectDimoSheetAsObjectOnErrorGoToCommand1_Click_ErrorIf Me.textFilePath = "" Then'判断输入MsgBox"请选择文件保存位置!",vbOKOnly+vbExclamation,〃提示!〃Elsesql="select*fromPersonalorderbyID"Setrsobj=getRS(sql)If rsobj.EOF = False Then'判断是否有统计记录SetoExcel=CreateObject("Excel.Application")SetoBook=oExcel.Workbooks.AddSetoSheet=oBook.Worksheets(1)Set oSheetoExcel.Application.Workbooks(l).Worksheets("Sheet1")oSheet.Range("Al:Ll").Select'设置单元格WithoExcel.Selection.HorizontalAlignment二xlCenter.VerticalAlignment二xlBottom.WrapText二False.Orientation二0.AddIndent二False.ShrinkToFit二False.MergeCells=FalseEndWithoExcel.Selection.Merge'设置标题oSheet.Range("Al:Ll").SelectoExcel.ActiveCell.FormulaRlCl="客户信息列表"With oExcel.ActiveCell.Characters(Start:=l,Length:=26).Font.Name="宋体".FontStyle="加粗".Size=18.Strikethrough=False.Superscript二False.Subscript二False.OutlineFont二False.Shadow=False.Underline=xlUnderlineStyleNone.Colorindex=xlAutomaticEndWithSet oSheetoExcel.Application.Workbooks(l).Worksheets("Sheet1")'设置表格oSheet.Cells(2,l).Value=〃编号〃oSheet.Cells(2,2).Value=〃姓名〃oSheet.Cells(2,3).Value=〃性别〃oSheet.Cells(2,4).Value=〃年龄〃oSheet.Cells(2,5).Value=〃生日〃oSheet.Cells(2,6).Value=〃公司〃oSheet.Cells(2,7).Value=〃职务〃oSheet.Cells(2,8).Value=〃住址〃oSheet.Cells(2,9).Value=〃邮编〃oSheet.Cells(2,10).Value=〃电话〃oSheet.Cells(2,11).Value=〃手机〃oSheet.Cells(2,12).Value=〃传真〃oSheet.Cells(2,13).Value="Email"oSheet.Columns("A:A").ColumnWidth=8oSheet.Columns("B:B").ColumnWidth=6oSheet.Columns("C:C").ColumnWidth=2oSheet.Columns("D:D").ColumnWidth=2oSheet.Columns("E:E").ColumnWidth=8oSheet.Columns("F:F").ColumnWidth=4oSheet.Columns("G:G").ColumnWidth=4oSheet.Columns("H:H").ColumnWidth=4oSheet.Columns("I:I").ColumnWidth=6oSheet.Columns("J:J").ColumnWidth=6oSheet.Columns("K:K").ColumnWidth=4oSheet.Columns("L:L").ColumnWidth=6oSheet.Columns("M:M").ColumnWidth=6rsobj.MoveFirstFori=3Torsobj.RecordCount+2oSheet.Cells(i,1).Value=rsobj(l)oSheet.Cells(i,2).Value=rsobj(2)oSheet.Cells(i,3).Value=rsobj(3)oSheet.Cells(i,4).Value=rsobj(4)oSheet.Cells(i,5).Value= Format(rsobj(5)."mm-dd")oSheet.Cells(i,6).Valuersobj(6)oSheet.Cells(i,7).Valuersobj(7)oSheet.Cells(i,8).Valuersobj(8)oSheet.Cells(i,9).Value=rsobj(9)oSheet.Cells(i,10).Value=rsobj(lO)oSheet.Cells(i,11).Value=rsobj(ll)oSheet.Cells(i,12).Value=rsobj(12)oSheet.Cells(i,13).Value=rsobj(13)rsobj.MoveNextNextiWith oSheet'设置边框.Range(.Cells(l,1),.Cells(rsobj.RecordCount+2,13)).Borders.LineStyle=xlContinuousEndWithoBook.SaveAs strFilepath'保存文件IfMsgBox("是否转到导出的Excel文件?",vbOKCancel)=vbOKThenUnloadMeoExcel.Visible=TrueElseMsgBox"已经成功导出记录!",vbOKOnly+vbExclamation,"提示!"UnloadMeEndIfExitSubElseMsgBox"数据库中没有记录!",vbOKOnly+vbExclamation,提示!"Me.ZOrder0EndIfEndIfCommandl_Click_Error:ExitSubEndSubPrivateSubcmdPath_Click()CommonDialogl.CancelError=TrueOnErrorGoToErrHandlerCommonDialogl.Flags=cdlOFNHideReadOnlyCommonDialogl.Filter="AllFiles(*.*)|*.*〔ExcelFiles"&_"(*.xls)|*.xls"CommonDialogl.FilterIndex=2CommonDialogl.ShowSaveMe.textFilePath=CommonDialogl.FileNamestrFilepath=CommonDialogl.FileName设置保存路径ExitSubErrHandler:ExitSubEndSubPrivateSubForm_Load()Me.textFilePath="EndSub第六章系统的使用6.1、系统用户登陆窗体系统用户登录窗体如图6-1所示:容户儈理1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度合作开发合同:某旅游项目合作开发
- 2024年度企业销售竞争策略劳动合同范本(2024版)
- 2024年度瓷砖行业市场调查报告合同
- 2024年度切削液质量检测合同3篇
- 2024年度德佑房租租赁与市场推广合同
- fidic 建筑合同范本
- 2024年度设备买卖合同的设备买卖标的与设备交付期限2篇
- 充电桩工程与运营管理服务2024年度合同
- 2024年度劳动合同服务期限约定2篇
- 二零二四年度市场推广合同with标的:某新款手机的市场营销策划
- 出国签证户口本翻译模板
- 烧伤病患者的护理-烧伤病人的护理
- 教务主任竞争上岗面试答辩题(精心整理)
- 对话理论与阅读教学
- 【医疗题材纪录片兴起与其传播价值6900字】
- 色环电阻识别方法
- 第三单元(知识清单)- 高二语文选择性必修下册同步备课系列(统编版)
- 轴平键强度计算表
- 凯文杜兰特-英语介绍
- 剖宫产术后再次妊娠阴道分娩管理的专家共识
- 溺水的现场救护课件
评论
0/150
提交评论