版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 前言目前市场上流行的专门针对中小型企业开发的客户营销关系管理系统,实现”以客户为中心”的信息化管理的经营理念。它们辅助企业建立规范、高效的营销体系,提高企业整体营销竞争力;及时、准确、全面地把握营销动态,降低企业营销管理成本,提高企业的综合竞争力,适用于所有从事产品营销和服务营销的企业。企业的外部资源:客户资源、代理商资源、分销商资源,供应商资源和其他合作伙伴资源本质上与企业内部的其他资源一样需要人们的悉心经营。客户是企业的利润资源,怎么样让公司的员工能对客户的各类请求和服务给出及时和完美的解决方案?能不能让企业的客户资源有自动更新机制,去掉没有价值的客户,增加能带来利润的客户?作为管
2、理层能不能知道每一个销售人员管理的客户的状态?能不能随时都能知道公司下个月潜在的销售额?客户的增长率情况如何?每个销售人员的表现如何?所有这些都需要有一套系统来解决。通过客户关系管理(CRM)可以将企业的客户集成到企业的服务组织、生产级织和销售组织中来。通过这个CRM解决方案,企业可以管理关于客户、潜在客户、合伙伙伴、合同、通信、文档和需求的相关信息。并为每一个客户,每一个代理商,每一个分销商和每一个供应商开放一个门户,通过客户门户,客户可以访问他们被允许访问的所有信息:订单状况、信用额度、企业最新产品资讯、最新产品报价。通过分销商门户,分销商们可以被赋予权限,访问共同客户的信息。通过使用这套
3、系统,企业可以大大提升客户管理的水平。第二章 方案的选定2.1 数据库系统简介数据库系统提供了在某个集中的地方存储和维护数据信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。一般来说,DBMS和数据库应用程序驻留在同一台计算机上并在同一台计算机上运行,称为单机型数据库应用系统。但是随着DBMS技术的发展和信息网络化、集成化的要求,目前的数据库系统正向客户/服务器模式和MIDAS(多层数据库应用系统)发展。客户/服务器数据库将
4、DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行在一个或多个用户工作站上,并且通过网络与运行在其他客户机或服务器上的一个或多个数据库管理系统进行通信。2.2 Visual Basic6.0语言简介Visual Basic for Windows(以下简称VB)是Windows下的应用程序开发工具,它从根本上改变了传统的程序设计模式,可以处理文本、图像、动画、声音等多媒体数据,因而被计算机界称为“最富有创新精神的编程工具之一”。 2.3 Access简介在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不
5、仅可用于办公,还可用于个人写作和家庭记帐理财等。同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。事实上,真正用过Access的用户,对其强大功能和灵活应用都有很好的口碑。第三章 数据库设计本课题选用Access2000作为后台数据库。 3.1、数据库需求分析 针对企业客户信息管理系统的需求,通过对客户信息处理过程的内容和数据流程的分析。为本系统设计如下的数据项和数据结构: 公司基本信息表:记录编号、国家、城市、经营领域、与本公司合作领域、地址、电话、传真、备注。 个人信息表:记录编号、客户编号、客户姓名、性别、年龄 、
6、出生年月、所属单位、职务、住址、邮编、电话、手机、传真、电子信箱。 用户信息表:用户名名称、用户密码。3.2、数据库的实现 根据功能要求在Access2000里创建数据库,客户管理信息系统的数据库中的各个表格的设计如下,这里的每个表格代表数据库中的一个独立的表。公司基本信息表字段名称数据类型说明ID数字记录编号ComName文本国家Country文本城市DealDomain文本经营领域Symbiosis文本与本公司合作领域Address 文本地址Tel文本电话Fax文本传真Remark备注备注个人信息表字段名称数据类型说明ID数字记录编号ClientID文本客户编号ClientName文本客户
7、姓名Gender文本性别Age数字年龄Brithday日期/时间生日Company文本所属公司Cposition文本职务Address文本住址Code文本邮编Tel文本电话MobileTel文本手机FaxNumber文本传真Email文本电子信箱用户信息表字段名称数据类型说明UserID文本用户名称UserPWD文本用户密码第四章 系统设计(模块图)4.1、功能分析 开发这个系统的目的就是帮助企业提高工作效率以及确保客户信息的准确性和实时性,实现企业客户信息管理的系统化、规范化和自动化。根据这个系统所要实现的目的和任务,总结出这个系统最终实现的主要功能如下: 系统管理部分:包括添加系统用户和修
8、改密码。 个人信息管理部分:包括添加个人信息,修改个人信息、查询个人信息。 企业信息管理部分:包括修改企业信息、 查询企业信息和删除企业信息。 工具部分:包括发送电子邮件、数据导出等。 4.2、模块设计(1)系统模块系统启动的时候有一个管理员用户,使用这个用户登录后,可以添加其他用户,而且每一个用户都可以更改自己的密码。(2)个人信息管理A:添加个人信息:包括个人的编号、姓名、性别、年龄、生日、地址、电话、邮政编码、传真、手机、职务、Email。B:修改个人信息:修改所有的个人信息。C:查询个人信息:按照公司名称、客户名称查询个人的信息。(3)企业信息管理A:修改企业信息:包括企业记录编号、公
9、司名称、所属国家、所在城市、经营领域、合作领域、地址、电话、传真、备注。B:查询企业信息:根据企业名称、经营领域查询企业信息。C:删除企业信息:删除不作为客户的企业信息。(4)工具A:发送电子邮件:发送电子邮件给客户。B:导出客户信息。根据系统需要实现的主要功能,可以得到企业客户信息管理系统的功能模块图如下企业客户管理系统企业客户管理系统个人信息表系统工具企业信息表数据导出发送电子邮件删除企业信息查询企业信息修改企业信息查询个人信息修改个人信息添加个人信息修改密码添加用户第五章 程序设计运行Visual Basic后,选择“文件”“新建工程”菜单,然后从工程模板中选择“标准EXE”项,单击“确
10、定”按钮。Visual Basic就会自动生成一个窗体,这个窗体的属性采用的都是默认设置。在本课题中,先删除这个窗体,然后选择“文件”“保存工程”菜单,在出现的“文件另存为”对话框中输入这个工程项目的名称Client_MIS,并且选择要保存这个工程的目录,单击“保存”按钮,保存工程。为了提高代码的效率方便维护,可以用共用模块来存放工程中经常使用的函数、过程和全局变量等。在这个系统中,每个功能模块都要使用数据库,因此可以使用一个共用的数据操作函数,执行一系列的SQL语句。在项目资源管理器中为这个工程添加一个模块,保存为Mclient.bas。添加的方法和添加窗体的方法一样,只不过这里选择的不是M
11、DI窗体,而是选择模块。在这个模块中添加如下代码:首先定义几个变量:Option ExplicitPublic strUserName As String 用户名称Public iflag As Integer 是否连接成功标志Public ichangeFlag As Integer 修改标志Public strPublicSQL As String 传递SQL字符串添加返回记录集的函数: Public Function getRS(ByVal sql As String) _ As ADODB.RecordsetDim con As ADODB.ConnectionDim rs As AD
12、ODB.RecordsetDim strConnection As StringDim strArray() As StringSet con = New ADODB.Connection 创建连接Set rs = New ADODB.Recordset 创建记录集On Error GoTo getRS_Error strConnection=Provider=Microsoft.jet.oledb.4.0;Data Source= & App.Path & strConnection = strConnection & Client.mdb strArray = Split(sql) con
13、.Open strConnection 打开连接 rs.Open Trim$(sql), con, adOpenKeyset, adLockOptimistic Set getRS = rs 返回记录集 iflag = 1getRS_Exit: Set rs = Nothing Set con = Nothing Exit FunctiongetRS_Error: MsgBox 查询错误: & Err.Description iflag = 2 Resume getRS_ExitEnd Function添加执行SQL语句的函数:Public Sub TransactSQL(ByVal sql
14、As String)Dim con As ADODB.ConnectionDim strConnection As StringDim strArray() As StringSet con = New ADODB.Connection 创建连接On Error GoTo TransactSQL_Error strConnection = Provider=Microsoft.jet.oledb.4.0;Data Source= & App.Path & strConnection = strConnection & Client.mdb strArray = Split(sql) con.O
15、pen strConnection 打开连接 con.Execute sql 执行命令 iflag = 1TransactSQL_Exit: Set con = Nothing Exit SubTransactSQL_Error: MsgBox 查询错误: & Err.Description iflag = 2 Resume TransactSQL_ExitEnd Sub添加一个转换回车键的函数:Public Sub TabToEnter(Key As Integer) If Key = 13 Then 判断是否为回车键 SendKeys TAB 转换为Tab键 End IfEnd Sub添加
16、系统启动时,第一个出现的窗体的函数:Sub main() Dim fLogin As New frmLogin fLogin.Show 显示窗体End Sub在企业信息列表中,填写好企业名称,按“查找”按钮,就可以查找企业信息。Public Sub showComTopic() Dim i As Integer With Me.MSFlexGrid1 设置表头 .TextMatrix(0, 0) = 记录编号 .TextMatrix(0, 1) = 公司名称 .TextMatrix(0, 2) = 所属国家 .TextMatrix(0, 3) = 所在城市 .TextMatrix(0, 4)
17、= 经营领域 .TextMatrix(0, 5) = 合作领域 .TextMatrix(0, 6) = 地 址 .TextMatrix(0, 7) = 电 话 .TextMatrix(0, 8) = 传 真 .TextMatrix(0, 9) = 备 注 For i = 0 To 9 设置所有表格对齐方式 .ColAlignment(i) = 4 Next i .ColWidth(0) = 1000 For i = 1 To 9 设置每列宽9 .ColWidth(i) = 1500 Next i End With Me.MSFlexGrid1.Width = 15000End SubPubli
18、c Sub showComData(strQuery As String) 显示数据 Dim rs As New ADODB.Recordset Set rs = getRS(strQuery) If rs.EOF = False Then With Me.MSFlexGrid1 .Rows = 1 While Not rs.EOF .Rows = .Rows + 1 .TextMatrix(.Rows - 1, 0) = rs(0) .TextMatrix(.Rows - 1, 1) = rs(1) .TextMatrix(.Rows - 1, 2) = rs(2) .TextMatrix(
19、.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.MoveNext Wend End With rs.Close End IfEnd Sub在修改企业信息时,填写好所要修改的资料,按“修改”按
20、钮,可以把新的资料保存在里面,代码如下:ption ExplicitPrivate iNum As Integer 记录编号Private Sub cmdCancel_Click() Unload Me Exit SubEnd SubPrivate Sub cmdOK_Click() Dim sql As String sql = update Company set ComName= & Me.textComName & ,Country= & Me.textCountry sql = sql & ,City= & Me.textCity & ,DealDomain= & Me.textDo
21、main & , sql = sql & Symbiosis= & Me.textSymbiosis & ,Address= & Me.textComAddress sql = sql & ,Tel= & Me.textComTel & ,Fax= & Me.textComFax sql = sql & ,Remark= & Me.textRemark & where ID= & iNum Call TransactSQL(sql) 修改记录 MsgBox 已经更改信息!, vbOKOnly + vbExclamation, 提示 sql = select * from Company whe
22、re ID= & iNum Call frmComResult.showComTopic 显示修改结果 Call frmComResult.showComData(sql) frmComResult.Show frmComResult.ZOrder 0 Unload MeEnd SubPrivate Sub Form_Load() 初始化 Dim rs As New ADODB.Recordset Set rs = getRS(strPublicSQL) If rs.EOF = False Then iNum = rs(0) Me.textComName = rs(1) Me.textCoun
23、try = rs(2) Me.textCity = rs(3) Me.textDomain = rs(4) Me.textSymbiosis = rs(5) Me.textComAddress = rs(6) Me.textComTel = rs(7) Me.textComFax = rs(8) Me.textRemark = rs(9) End If rs.CloseEnd Sub在查询企业信息时,填写好可以按企业名称和经营领域,两种方面查找。代码如下:Private Sub cmdCancel_Click() Unload Me Exit SubEnd SubPrivate Sub cmd
24、OK_Click() Dim sql As String If Me.checkComName.Value = vbChecked And Me.checkDomain.Value = vbChecked Then sql = select * from Company where ComName= & Me.textComName & and sql = sql & DealDomain= & Me.textDomain & ElseIf Me.checkComName.Value = vbChecked Then sql = select * from Company where ComN
25、ame= & Me.textComName & ElseIf Me.checkDomain.Value = vbChecked Then sql = select * from Company where DealDomain like % & Me.textDomain & % Else sql = select * from Company order by ID End If Call frmComResult.showComTopic 显示查询结果 Call frmComResult.showComData(sql) frmComResult.Show frmComResult.ZOr
26、der 0 Unload MeEnd Sub发送电子邮件,数据导出代码如下:Option ExplicitPublic strFilepath As StringPrivate Sub cmdCancel_Click() Unload Me Exit SubEnd SubPrivate Sub cmdOK_Click() Dim i As Integer Dim rsobj As New ADODB.Recordset Dim sql As String Dim firstday As String Dim days As Integer Dim lastday As String Dim o
27、Excel As Object Dim oBook As Object Dim oSheet As Object On Error GoTo Command1_Click_Error If Me.textFilePath = Then 判断输入 MsgBox 请选择文件保存位置!, vbOKOnly + vbExclamation, 提示! Else sql = select * from Personal order by ID Set rsobj = getRS(sql) If rsobj.EOF = False Then 判断是否有统计记录 Set oExcel = CreateObje
28、ct(Excel.Application) Set oBook = oExcel.Workbooks.Add Set oSheet = oBook.Worksheets(1) Set oSheet = oExcel.Application.Workbooks(1).Worksheets(Sheet1) oSheet.Range(A1:L1).Select 设置单元格 With oExcel.Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation
29、= 0 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With oExcel.Selection.Merge 设置标题 oSheet.Range(A1:L1).Select oExcel.ActiveCell.FormulaR1C1 = 客户信息列表 With oExcel.ActiveCell.Characters(Start:=1, Length:=26).Font .Name = 宋体 .FontStyle = 加粗 .Size = 18 .Strikethrough = False .Superscrip
30、t = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Set oSheet = oExcel.Application.Workbooks(1).Worksheets(Sheet1) 设置表格 oSheet.Cells(2, 1).Value = 编号 oSheet.Cells(2, 2).Value = 姓名 oSheet.Cells(2, 3).Value = 性别 oSheet
31、.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
32、 oSheet.Columns(A:A).ColumnWidth = 8 oSheet.Columns(B:B).ColumnWidth = 6 oSheet.Columns(C:C).ColumnWidth = 2 oSheet.Columns(D:D).ColumnWidth = 2 oSheet.Columns(E:E).ColumnWidth = 8 oSheet.Columns(F:F).ColumnWidth = 4 oSheet.Columns(G:G).ColumnWidth = 4 oSheet.Columns(H:H).ColumnWidth = 4 oSheet.Colu
33、mns(I:I).ColumnWidth = 6 oSheet.Columns(J:J).ColumnWidth = 6 oSheet.Columns(K:K).ColumnWidth = 4 oSheet.Columns(L:L).ColumnWidth = 6 oSheet.Columns(M:M).ColumnWidth = 6 rsobj.MoveFirst For i = 3 To rsobj.RecordCount + 2 oSheet.Cells(i, 1).Value = rsobj(1) oSheet.Cells(i, 2).Value = rsobj(2) oSheet.C
34、ells(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).Value = rsobj(6) oSheet.Cells(i, 7).Value = rsobj(7) oSheet.Cells(i, 8).Value = rsobj(8) oSheet.Cells(i, 9).Value = rsobj(9) oSheet.Cells(i, 10).Value = rsobj(10) oSh
35、eet.Cells(i, 11).Value = rsobj(11) oSheet.Cells(i, 12).Value = rsobj(12) oSheet.Cells(i, 13).Value = rsobj(13) rsobj.MoveNext Next i With oSheet 设置边框 .Range(.Cells(1, 1), .Cells(rsobj.RecordCount + 2, 13).Borders.LineStyle = xlContinuous End With oBook.SaveAs strFilepath 保存文件 If MsgBox(是否转到导出的Excel文
36、件?, vbOKCancel) = vbOK Then Unload Me oExcel.Visible = True Else MsgBox 已经成功导出记录!, vbOKOnly + vbExclamation, 提示! Unload Me End If Exit Sub Else MsgBox 数据库中没有记录!, vbOKOnly + vbExclamation, 提示! Me.ZOrder 0 End If End IfCommand1_Click_Error: Exit SubEnd SubPrivate Sub cmdPath_Click() CommonDialog1.Canc
37、elError = TrueOn Error GoTo ErrHandler CommonDialog1.Flags = cdlOFNHideReadOnly CommonDialog1.Filter = All Files (*.*)|*.*|Excel Files & _ (*.xls)|*.xls CommonDialog1.FilterIndex = 2 CommonDialog1.ShowSave Me.textFilePath = CommonDialog1.FileName strFilepath = CommonDialog1.FileName 设置保存路径 Exit SubErrHandler: Exit SubEnd SubPrivate Sub Form_Load() Me.textFilePath = End Sub第六章 系统的使用6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年企业社会责任实践题库
- 2026届湖北省武汉市达标名校数学高一下期末检测模拟试题含解析
- 2026年水利工程基础建设的防灾措施模拟考试
- 2026年网络工程实操考试网络设备配置与管理题目集
- 2026年国家级金融投资顾问中级专业能力测试题
- 2026届福建省普通高中数学高一下期末监测试题含解析
- 2026年企业人力资源管理师职称评定模拟试卷
- 2026年金融投资基金从业考试模拟题
- 2026年经济分析与金融市场基础知识测试题
- 2026年外语等级考试核心题库英语阅读与写作技巧
- 空调延长质保协议书
- 《危险货物运输》课件
- 餐厅原料调价制度方案
- 房地产直播培训
- 四川省绵阳市2020年中考数学试题(含解析)
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- 询问供应商放假通知范文
- 风机更换施工方案
- 浙江省水利水电工程施工招标文件示范文本
- 系统servo guide mate常用调整项目入门指导
- 一元强弱酸的比较课件高二上学期化学人教版选择性必修1
评论
0/150
提交评论