*******************
客户关系信息管理系统
(CRM)
姓 名
学 科 专 业 计算机科学与技术 指 导 教 师
目 录
前 言 ......................................................................................................................................................... 2 摘要 ............................................................................................................................................................. 3 绪论 ............................................................................................................................................................. 5 第一章 系统需求分析 ................................................................................................................................ 6
1.1现行业务描述: ............................................................................................................................ 6 1.2现行系统存在的问题 ................................................................................................................. 7
1.3解决方案 ..................................................................................................................................... 7 1.4可行性分析 ................................................................................................................................. 8 第二章 VISUAL BASIC编程环境简介 ................................................................................................ 9
2.2关系型数据库的实现 .................................................................................................................. 11 2.3二者的结合(DBA) ................................................................................................................. 12 第二章系统总体规划 ................................................................................................................................ 12
3.1组织结构调研 ........................................................................................................................... 12
3.1.2数据流图 ........................................................................................................................ 13 3.1.3数据字典 .................................................................................................................. 13 3.2软件模块结构设计 ................................................................................................................... 14 3.3数据库设计 ............................................................................................................................... 16 第四章 系统功能实现 .............................................................................................................................. 18
4.1系统登陆界面: .......................................................................................................................... 18 4.2系统主界面: ........................................................................................................................... 20 4.3客户信息管理: .......................................................................................................................... 26 4.4客户信息查询: .......................................................................................................................... 32 4.5群组设置: .................................................................................................................................. 35 4.6 用户管理 .................................................................................................................................. 40 4.7具体操作步骤 .............................................................................................................................. 44 第五章.结束语 ........................................................................................................................................ 45 第六章.主要 ............................................................................................................................................ 45
前 言
企业通过设计合理的专业性客户关系信息管理系统,可以合理控制客户关系信息各个环节,提高资金的利用率和结算速度,实现管理的高效率、实时性、安全性、科学化、现代化和智能化。
客户关系信息管理系统主要采用Microsoft Visual6.0 做为开发工具,应用面向对象的程序设计方法,进行开发与设计的。 它是一个典型的信息管理系统。本系统可以根据各应用单位情况,适当加以修改,以便更好应用。
客户关系信息管理信息系统是根据某企业所属客户的实际管理情况进行编写的,主要目的是为了方便企业对客户来往业务及客户关系信息情况进行集中的查询与管理工作。在社会主义经济高速发展的今天,如果企业对客户关系信息的各项管理运做仍然停滞在以纸、笔为主要工具的阶段,就会因为信息量的快速增长而无法迅速、准确的完成各项管理工作,这样,必将成为企业各方面发展的一个
瓶颈。而在当代这个以信息时代为主题的社会里,将信息技术应用于对现代企业的管理,不但可以提高信息的处理速度和提高信息处理的准确性,更重要的是,可以劳动力,将他们分配到更需要人力资源的岗位上去,从而加快其现代化、综合化的建设步伐。这样,不但为企业管理部门节省了不必要的开支,更重要的是提高了它的工作效率。
摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。
本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析公司客户人工管理的不足,创建了一套行之有效的计算机管理客户的方案。文章介绍了客户管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,并附带了一些主要的窗口和程序。本系统界面友好,操作简单,比较实用。
【关键字】管理信息系统、客户管理、Visual Basic应用。
[Summary]With more and more widespread and profound application of information technology in management, the implement of management information system has bee mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which means tightening up the enterprise management and strengthening effective management of any resource (staff, finance, property, etc.) internal the enterprise, and also establishing a management information system fitting in with its own characteristics.
This article introduces the detailed process of exploring a management information system under the environment of visual foxpro, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation. That is to establish a set of effective scheme for pany customer management by puter, through analyzing disadvantages of pany customer management by human resources. This article emphasizes on three sections. The system analysis section of pany customer management information includes feasible analysis, management function analysis.The system design section mainly focuses on system function design and data base design and data number design. And the system realization section has provided several major function , together with the main windows and programs.
This economical and pragmatic system has explicit interface, with simple operation.
[Keywords] MIS、pany customer management、visual Basic application
绪论
随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。
管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。生命周期法(Life Cycle Method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始;原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统;面向对象(Object Oriented)的开发方法于20世纪80年始兴起的,是一种基于对象的自底向上的一种系统开发方法,这种方法的特点是以
对象为基础,对象是分析问题和解决问题的核心。基于以上三种方法的特点和各自的优缺点,本客户管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。
管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。本客户系统计划利用三个月的时间开发完成:系统调研和系统分析为10天;系统设计为10天;系统程序设计为45天;系统调试为10天;系统试运行为15天。
第一章 系统需求分析
1.1现行业务描述:
通过调查,先画出客户管理系统的组织结构图如下:
通过调研了解到,该客户各个部门负责的主要业务如下:
该公司的业务分国内业务和国外业务两个大类,然后在此两个大类中又进行细化,如在国内,又根据客户在国内不同的地理位置的分布(如省、市、自治区
A区域 B区域 … A区域 B区域 … 国内部 国际部 客户经理 等的不同)又进行进一步的管理,国外部客户的区域划分主要是根据该客户所在洲的不同(如欧洲、亚洲等不同的分布)进行划分和管理。
下面绘制出客户管理业务中的流程图。 (1)确定该客户所在的区域进行定位;
(2)将该客户的详细资料录入本系统,并可以在录入后将客户的个人资料进行修改、删除等常规操作;
(3)相关业务部门在需要时,可在本系统中根据自己设定的条件进行快速查找(可以进行组合查找);
(4)相关业务部门在需要时,可在本系统中根据自己设定的条件进行排序。 (5)然后在用户可将(3)和(4)的操作结果进行打印。
(6)经过一定时间之后,为了系统的数据安全,将客户资料进行备份,并在必要时将这些数据恢复到本系统中。
得出该客户业务流程图如下所示: 1.2现行系统存在的问题
以前该公司的客户管理工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解各类客户的实际情况,也无法快速地进行客户信息的查询等操作,不便于动态及时地调整客户资料,以便更好地适应当前经济形势发展的需要和本企业的管理的先进性。手工管理还存在这许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。 1.3解决方案
基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整企业客户管理系统,并且对种类客户的管理过程形成一整套动态的管理就十分必要了。
客户信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。
企业客户的分布比较份杂,但要有着完善的客户信息,对每一客户要有详细
的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为几个方面:一方面是客户管理人员可以通过计算机来管理各类客户,分类编号,调整客户数据,增加客户数量,适应客户管理的需求;二方面是相关部门的人员能通过计算机来查询和浏览客户中的客户,来确定自已需要查找的客户,为业务的更好开展做好准备;三方面是相关工作人员对客户数据的排序,也是说可以根据需要按照某一字段进行排序,从而找出具有共同性的客户,并可将这些查询和排序的结果进行打印操作;四方面是对客户数据的备份和恢复工作,这也是本系统的一个重要的功能,以防本系统在发生人为的损坏时能够及时恢复这些资料。
这四个方面形成了企业客户管理的一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种客户信息。硬件的配置要求不能太高,这样可以很好的适应当前的客户管理。
在开发方式上对系统的需求,由于客户管理系统虽然是一种商业性的活动(但对于本人来说,却是一个设计的内容),所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。 1.4可行性分析
通过对该客户的各个方面进行了具体的了解之后,现对该单位开发客户管理系统的可行性进行分析。
技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用Visual boxpro6.0,这些软件在MIS开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。
经济上可行:由于公司急需采用计算机来进行客户的管理,因此对开发客户管理系统大力支持,开发经费没有问题。
管理上可行:该企业的客户分布位置很广阔,因此公司要为每个客户建立资料档案,也便加强公司对客户资料的管理,因此在管理上可行。另外,客户部和
上级领导对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。
综上所述,开发客户管理系统在技术上、经济上、管理上都是可行的。
第二章 VISUAL BASIC编程环境简介
2.1开发工具的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsoft公司的Visual Basic.Microsoft公司的Visual C.Borland公司的Delphi. Powersoft公司的PowerBulider在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,Visual Basic是一个非常理想选择。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言Visual Basic语言,该开发工具具有很多长处:
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic具有以下特点:
可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操
作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
面向对象的程序设计
4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
结构化程序设计语言
Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。
事件驱动编程机制
Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
访问数据库
Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。
Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
动态数据交换(DDE)
利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(pound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
动态链接库(DLL)
Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。 2.2关系型数据库的实现
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 数据库的概念
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。 _ 新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。 1. 标识需要的数据;
2. 收集被标识的字段到表中; 3. 标识主关键字字段;
4. 绘制一个简单的数据图表; 5. 规范数据;
6. 标识指定字段的信息; 7. 创建物理表。
_ 修改已建的数据库 数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
_ 实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。 2.3二者的结合(DBA)
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。 DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系
第二章系统总体规划
3.1组织结构调研
在对该公司客户管理的手工管理模式和业务流程进行认真分析和研究的基础上,经过与该客户部的相关人员的反复协商、论证,最后确定了该客户管理系统的逻辑模型。
下面以数据流图和数据字典的方式来描述新系统的逻辑功能。 3.1.2数据流图
3.1.3数据字典
下面为借书业务流程图中的每一部分编制数据字典。
(1)数据元素:每个客户都有编号这个信息,其描述内容如下: 数据元素名称:编号 类型:字符
长度:9 数据值类型:字符 取值范围:9个字符以内
相关的数据结构:{姓名,性别,单位,职务,电话,地址,类型} (2)数据流。数据流“客户信息”条目如下: 数据流名称:借户信息 说明:客户的个人信息 数据流来源:客户 数据流去向:客户管理人员 数据流组成:{客户号} 数据流的流通量:大约10位/天
(3)数据存储:数据存储“客户情况”条目如下: 数据存储名称:客户情况
简述:存放的是每个客户的个人情况 输入数据:客户情况
数据存储组成:{客户编号,姓名,客户类型} 存储方式:按客户的客户编号顺序排列
(4)数据处理。数据处理“查询客户”条目如下: 数据处理名称:查询客户 数据处理编号:1.1
简要描述:根据客户的编号,姓名,性别,职务,客户类型 输入数据流:客户查询信息 输出数据流:查询结果
处理逻辑:根据客户的编号,姓名,性别,职务,客户类型进行查询。 3.2软件模块结构设计
3.2.1系统方案确定。
通过对系统调研与分析,系统主要应完成的功能如下:客户信息录入、客户信息查询、系统维护等三大模块。
3.2.2软件结构设计。客户管理系统包含客户录入、客户查询、系统维护等功能。该系统执行时,先录入数据,然后根据客户的个人信息可以进行查询以及按照相同的属于进行排序,并可将结果进行预览。客户管理系统属于典型的事务型系统,其系统示意图如下图所示:
客户录入 客户查询 客户排序 客户资料浏览 事务中心 接受数据
客户管理系统示意图
系统结构图示意如下:
输入客户信息 备份 恢复 客户采编 客户查询 数据处理 客户资料客户管理系统 客户管理系统结构图
系统功能图如下 添 加新增删除恢复按编号按姓名 系统登陆 客户管理系统 客户信息录入客户信息查询群组设置用户管理退出系统
3.3数据库设计
用户添加密码修改用户删除数据库采用了Microsoft推出的Visual Foxpro自带的数据库,这是微软集成到VFP中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于VFP具有显著的简易性和有效性,大量的桌面数据库系统都采用它作为后台数据库。使用它的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
本系统涉及到的实体:(共有三个数据表,分别为:kh.dbf,lx.dbf,zw.dbf)。 (1)本系统中所涉及到的主要实体及其属性有:
(客户)表:{编号,姓名,单位,性别,职务,电话,手机,消费意向,个人爱好等}
(2)本系统的实体----联系(E-R)图
为了使E-R图表示得更加清晰,现将E-R图分成实体及其属性图和实体及其联系图。分别如下图所示:
各表的物理结构如下: kh(客户)表:
字段名称 编号 类型 字符 宽度 10 小数位数 0 生日 个人爱好 工作单位 编号 姓名 性别 职务 电话 手机 客户管理 消费意向 姓名 单位 性别 电话 手机 职位 个人爱好 消费意向 生日 备注 (群组)表:
字段名称 群组名称 管理员 群组人数 电话 职能 收入 字符 字符 字符 字符 字符 字符 字符 字符 字符 字符 8 20 2 11 11 10 6 30 2 8 0 0 0 0 0 0 0 0 0 0 类型 字符 字符 数字 数字 文本 货币 宽度 10 10 5 11 10 10 小数位数 0 0 0 0 0 2
第四章 系统功能实现
4.1系统登陆界面:
双击图标运行程序以后,就可以看到程序的登录界面。需要通过系统管理验证,即输入正确的密码进行系统登陆,本系统默认的密码为0。当然,用户可以在系统登录时为了防止系统密码的泄露而可以进行对密码的及时修改和更新。
代码如下:
Private Sub mand1_Click()
If Trim(Text1.Text) = Trim(Text3.Text) And Trim(Text2.Text) = Trim(Text4.Text) Then '用户名和密码
MDIForm1.Show Unload Me Else
For X = 1 To 1 '错误出现3次, If A1.Recordset.EOF = True Then
MsgBox \"密码错误请重新登录\错误:\" Text1.Text = \"\" Text2.Text = \"\"
A1.Recordset.AbsolutePosition = 1 'ADO是错误退出,正确进入 Else
If Trim(Text1.Text) = Trim(Text3.Text) And Trim(Text2.Text) = Trim(Text4.Text) Then
MDIForm1.Show
MDIForm1.Print mand1.Tag
MDIForm1.Tag = Text1.Text Unload Me Else
X = X - 1
A1.Recordset.MoveNext End If End If Next X End If Text1.Text = \"\" End Sub
Private Sub mand2_Click()
Unload Me 'End End Sub
Private Sub Form_Load() Text1.Text = \"\" End Sub
4.2系统主界面:
在系统登录成功之后,就会看到系统的主界面如下所示:
在本系统主界面中,我们可以看到一个MDI窗体,用户在使用时只需要点击鼠标左键就可以进入相应的功能选项,快捷而方便,从这个窗体上可以清楚地看到本系统所具备的三个主要主要功能,即客户数据录入,客户数据查询及设置三大功能模块。
代码如下:
Private Sub A1_Click() Form1.Show
Unload Me '关闭当前窗体 End Sub
Private Sub a2_Click() Unload Me End Sub
Private Sub a3_Click()
Form4.Show Form4.Height = 9345 Form4.Width = 12870 End Sub
Private Sub b1_Click() Form3.Show Form3.Height = 8355 Form3.Width = 13710 End Sub
Private Sub bz_Click() Form7.Show End Sub
Private Sub c1_Click() Form4.Show Form4.Height = 9510 Form4.Width = 13875 End Sub
Private Sub C2_Click() Form5.Show Form5.Height = 6795 Form5.Width = 10020 Form5.mand1.Visible = True
Form5.Text1.Text = \"输入群组名进行查询\" End Sub
Private Sub c3_Click() Form5.Show
Form5.Caption = \"收入查询\" Form5.Width = 4200 Form5.Height = 4081 Form5.Text1.Height = 495 Form5.Text1.Width = 2055
Form5.Text1.Text = \"输入名称\" End Sub
Private Sub cz_Click() MDIForm1.Arrange 2 End Sub
Private Sub dc_Click() MDIForm1.Arrange 0 End Sub
Private Sub glysx_Click() Form6.Show End Sub
Private Sub gy_Click() frmAbout.Show End Sub
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) Dim YesNo As Integer Dim M As Single
YesNo = MsgBox(\"真的要退出系统吗?\提示\") If YesNo = vbYes Then EndTxt = True Unload Me Else
Cancel = 1 End If End Sub
Private Sub pp_Click() MDIForm1.Arrange 1 End Sub
Private Sub stsz_Click() Form9.Show Form9.Height = 6930 Form9.Width = 8400 End Sub
Private Sub tc_Click()
Unload Me End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSctlLib.Button) Select Case Button.Key Case \"key1\"
Form3.Show Form3.Height = 8355 Form3.Width = 13710 Case \"key2\" Form4.Show Form4.Height = 9510 Form4.Width = 13875
Case \"key3\"
Form5.Show Form5.Height = 6795 Form5.Width = 10020 Form5.mand1.Visible = True
Form5.Text1.Text = \"输入群组名进行查询\"
Case \"key4\"
Form6.Show
Case \"key7\" Form9.Show Form9.Height = 6930 Form9.Width = 8400 Case \"key6\" Unload Me
End Select End Sub
4.3客户信息管理:
本应用模块的主要功能是实现对客户个人信息的录入系统操作,如编号,姓名,性别,性别等基本操作。从而完成本系统的客户信息管理。 代码如下:
Private Sub mand1_Click() Text1.Enabled = True
Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True bo2.Enabled = True Text8.Enabled = True
Text9.Enabled = True Text10.Enabled = True
bo1.Enabled = True
If mand1.Tag = \"True\" Then
If A1.Recordset.EOF = True And A1.Recordset.BOF = True Then MsgBox \"您的数据库中没有记录!\出错:\" Else
If mand3.Caption = \"修改记录\" Then 'mand3.Caption = \"修改完毕\" 'mand2.Enabled = False 'mand1.Enabled = False 'mand4.Enabled = False 'mand5.Enabled = False Form3.Height = 8220 Form3.Top = 300 'F1.Visible = True 'F1.Caption = \"修改记录:\" Else
If Text2.Text = \"\" Then
MsgBox \"姓名不能为空!\出错:\" Else
For X = 11 To 13
If Len(Trim(Text2.Text)) > 200 Then MsgBox \"太长\出错:\" Exit Sub End If Next X
'mand3.Caption = \"修改记录\"
'mand2.Enabled = True 'mand1.Enabled = True 'mand4.Enabled = True 'mand5.Enabled = True 'Form3.Height = 5728 'Form3.Left = 600 'Form3.Top = 1500 'F1.Visible = False 'F1.Caption = \"数据输入:\" End If End If End If End If End Sub
Private Sub mand2_Click()
If Adodc1.Recordset.BOF = True Then MsgBox \"刷新成功!\恭喜:\" Adodc1.Recordset.MoveNext Else
Adodc1.Recordset.MoveFirst End If
'MsgBox \"刷新成功!\恭喜:\" End Sub
Private Sub mand5_Click() Text1.Enabled = True
Text2.Enabled = True Text3.Enabled = True
Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True bo2.Enabled = True Text8.Enabled = True Text9.Enabled = True Text10.Enabled = True
bo1.Enabled = True
If Text2.Text = \"\" Or Text3.Text = \"\" Then MsgBox \"编号或姓名不能为空!\出错:\" Text2.SetFocus Text2.Text = \"\" bo1.Text = \"男\" Else
Adodc1.Recordset.MoveLast
Adodc1.Recordset.AddNew
MsgBox \"开始添加信息!\恭喜!\" mand5.Enabled = False mand6.Enabled = False mand2.Enabled = False End If End Sub
Private Sub mand6_Click()
If Adodc1.Recordset.BOF = True And Adodc1.Recordset.EOF = True Then MsgBox \"您的数据库中没有信息可以删除!\出错!\"
Else
MsgBox \"您确定要删除这条信息?\出错!\" If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Else
'MsgBox \"您的数据库中没有信息可以删除!\出错!\" End If End If End Sub
Private Sub mand7_Click()
If Text2.Text = \"\" Or Text3.Text = \"\" Then MsgBox \"编号或姓名不能为空!\出错:\" Text2.SetFocus Text3.SetFocus Text2.Text = \"\" Else
MsgBox \"信息保存完毕!\恭喜!\" mand2.Enabled = True mand5.Enabled = True mand6.Enabled = True End If End Sub
Private Sub mand8_Click() Unload Me End Sub
Private Sub Form_Unload(Cancel As Integer) If mand5.Enabled = True Then Cancel = 0 Else
MsgBox \"请编辑完这条记录再退出!若不编程请选择任一记录保存后退出\, \"提示:\"
Cancel = 1 End If End Sub
4.4客户信息查询:
本功能模块是本系统的查询功能模块,用户可以在本模块上进行按条件进行查询,也可以按编号和姓名进行查询。
代码如下:
Private Sub mand1_Click()
If Adodc1.Recordset.BOF = True Then
MsgBox \"这已经是第一条信息了!\出错:\" Adodc1.Recordset.MoveNext Else
Adodc1.Recordset.MovePrevious End If End Sub
Private Sub mand2_Click()
If Adodc1.Recordset.EOF = True Then
MsgBox \"已经到最后一条记录了!\提示!\" Adodc1.Recordset.MovePrevious Else
Adodc1.Recordset.MoveNext End If End Sub
Private Sub mand3_Click()
If Adodc1.Recordset.BOF = True Then
MsgBox \"这已经是第一条信息了!\出错:\" Adodc1.Recordset.MoveNext Else
Adodc1.Recordset.MoveFirst End If End Sub
Private Sub mand4_Click()
If Adodc1.Recordset.EOF = True Then
MsgBox \"已经到最后一条记录了!\提示!\" Adodc1.Recordset.MovePrevious Else
Adodc1.Recordset.MoveLast End If End Sub
Private Sub mand5_Click() If Text11.Text = \"\" Then
MsgBox \"没有输入查询条件!\提示!\"
Adodc1.Recordset.MoveFirst Text11.Text = \"\" Text11.SetFocus End If
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF <> True
If Adodc1.Recordset.Fields(\"姓名\").Value = Text11.Text Then Text13.Text = Adodc1.Recordset.Fields(\"姓名\").Value Exit Do End If
Adodc1.Recordset.MoveNext Loop
Text11.Text = \"\" End Sub
Private Sub mand6_Click() If Text11.Text = \"\" Then
MsgBox \"没有输入查询条件!\提示!\" Adodc1.Recordset.MoveFirst Text11.Text = \"\" Text11.SetFocus End If
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF <> True
If Adodc1.Recordset.Fields(\"客户编号\").Value = Text11.Text Then Text3.Text = Adodc1.Recordset.Fields(\"客户编号\").Value
Exit Do End If
Adodc1.Recordset.MoveNext Loop
Text11.Text = \"\" End Sub
4.5群组设置:
进行对群组消费客户管理,以实现大客户的维护管理以及完善售后服务工作。
代码如下:
Private Sub mand1_Click()
Text1.Enabled = True
Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True
If mand1.Tag = \"True\" Then
If A1.Recordset.EOF = True And A1.Recordset.BOF = True Then MsgBox \"您的数据库中没有记录!\出错:\" Else
If mand3.Caption = \"修改记录\" Then mand3.Caption = \"设置完毕\" mand2.Enabled = False mand1.Enabled = False mand4.Enabled = False mand5.Enabled = False Form3.Height = 8220 Form3.Top = 300 F1.Visible = True
F1.Caption = \"修改记录:\" Else
If Text2.Text = \"\" Then
MsgBox \"姓名不能为空!\出错:\" Else
For X = 11 To 13
If Len(Trim(Text2.Text)) > 200 Then
MsgBox \"太长\出错:\" Exit Sub End If Next X
mand3.Caption = \"修改记录\" mand2.Enabled = True mand1.Enabled = True mand4.Enabled = True 'mand5.Enabled = True Form3.Height = 5728 Form3.Left = 600 Form3.Top = 1500 F1.Visible = False F1.Caption = \"数据输入:\" End If End If End If End If End Sub
Private Sub mand2_Click()
If Text1.Text = \"\" Or Text5.Text = \"\" Then MsgBox \"名称和管理员不能为空!\出错:\" Else
MsgBox \"成功保存!\恭喜!\" mand4.Enabled = True mand3.Enabled = True
'mand4.Enabled = True End If End Sub
Private Sub mand3_Click() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True
If Text1.Text = \"\" Or Text1.Text = \"\" Then MsgBox \"名称和管理员不能为空!\出错:\" Text1.SetFocus Text1.Text = \"\" Else
Adodc1.Recordset.MoveLast
Adodc1.Recordset.AddNew
MsgBox \"开始新建群组!\恭喜!\" mand1.Enabled = False mand3.Enabled = False mand4.Enabled = False End If End Sub
Private Sub mand4_Click()
If Adodc1.Recordset.BOF = True And Adodc1.Recordset.EOF = True Then MsgBox \"您的数据库中没有信息可以删除!\出错!\"
Else
MsgBox \"您确定要删除这条信息?\提示!\" If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Else
MsgBox \"您的数据库中没有信息可以删除!\出错!\" End If End If End Sub
Private Sub Form_Unload(Cancel As Integer) If mand3.Enabled = True Then Cancel = 0 Else
MsgBox \"请编辑完这条记录再退出!\提示:\" Cancel = 1 End If End Sub
4.6 用户管理
一个完整的应用系统,必须要能够具备适当的用户管理功能,以防系统数据的安全。在这里,有几个实用的功能,一是系统密码修改功能,以防止系统的密码泄露之后,管理员能够及时地进行密码更新,以防系统的资料被别人窃取和修改。 代码如下:
Private Sub mand1_Click()
If A1.Recordset.BOF = True And A1.Recordset.EOF = True Then
MsgBox \"您输入的第一个管理员是系统管理员,是用来设置用户的,请不要删除!\, \"提示:\" A1.Tag = 1
C1.Visible = False C2.Visible = False End If
If mand1.Caption = \"添加\" Then A1.Recordset.AddNew C1.Value = 0 C2.Value = 0
F1.Enabled = True
mand1.Caption = \"添加完毕\" mand5.Enabled = False mand2.Enabled = False mand3.Enabled = False mand4.Enabled = False Else
If Text1.Text = \"\" And Text2.Text = \"\" Then
MsgBox \"您没有输入用户名或密码!\出错:\" Text1.Text = \"123\" A1.Recordset.Delete
F1.Enabled = False mand1.Caption = \"添加\" F1.Caption = \"当前记录:\" mand5.Enabled = True mand2.Enabled = True mand3.Enabled = True mand4.Enabled = True Else
If A1.Tag = 1 Then
F1.Enabled = False mand1.Caption = \"添加\" mand5.Enabled = True mand2.Enabled = True mand3.Enabled = True mand4.Enabled = True C1.Visible = True C2.Visible = True A1.Tag = 2 Else
If C2.Value = 1 Or C1.Value = 1 Then F1.Enabled = False mand1.Caption = \"添加\" mand5.Enabled = True mand2.Enabled = True mand3.Enabled = True mand4.Enabled = True Else
MsgBox \"您没有输入权限!\出错:\" End If End If End If End If End Sub
Private Sub mand2_Click()
If A1.Recordset.EOF = True Or A1.Recordset.BOF = True Then MsgBox \"数据库中没有记录!\出错:\" Else
A1.Recordset.Delete End If End Sub
Private Sub mand3_Click()
Unload Me End Sub
Private Sub mand4_Click()
If A1.Recordset.BOF = True And A1.Recordset.EOF Then MsgBox \"数据库中没有记录!\出错:\" Else
If mand4.Caption = \"查询\" Then F2.Enabled = True mand5.Enabled = False mand2.Enabled = False mand3.Enabled = False mand1.Enabled = False
mand4.Caption = \"查询完毕\" Text3.Text = \"\" Else
F2.Enabled = False mand5.Enabled = True mand2.Enabled = True mand3.Enabled = True mand1.Enabled = True mand4.Caption = \"查询\" Text3.Text = \"\" End If End If End Sub
Private Sub mand5_Click()
If A1.Recordset.BOF = True Or A1.Recordset.EOF = True Then MsgBox \"数据库中没有记录!\出错:\" Else
If mand5.Caption = \"修改\" Then mand5.Caption = \"修改完毕\" F1.Caption = \"修改记录:\" F1.Enabled = True mand1.Enabled = False mand2.Enabled = False mand3.Enabled = False mand4.Enabled = False Else
If Text1.Text = \"\" Or Text2.Text = \"\" Then
X = MsgBox(\"您没有输入用户名或密码,要删除吗?\出错:\") If X = 1 Then
Text1.Text = \"123\"
Text2.Text = \"123\" A1.Recordset.Delete Else Exit Sub End If Else
If C2.Value = 1 Or C1.Value = 1 Then F1.Enabled = False mand5.Caption = \"修改\" mand1.Enabled = True mand2.Enabled = True mand3.Enabled = True mand4.Enabled = True Else
MsgBox \"您没有输入权限!\出错:\" End If End If End If End If End Sub
Private Sub mand6_Click()
A1.Recordset.AbsolutePosition = 1 For X = 1 To 1
If A1.Recordset.EOF = True Then
MsgBox \"没有找到记录!\提示:\" Else
If Trim(Text3.Text) = Trim(Text1.Text) Then Exit Sub Else
X = X - 1
A1.Recordset.MoveNext End If End If Next X End Sub
Private Sub mand7_Click() For X = 1 To 1
A1.Recordset.MoveNext
If A1.Recordset.EOF = True Then
MsgBox \"没有找到记录!\提示:\" A1.Recordset.AbsolutePosition = 1 Else
If Trim(Text3.Text) = Trim(Text1.Text) Then Exit Sub Else
X = X - 1 End If End If Next X End Sub
Private Sub Form_Unload(Cancel As Integer) If mand3.Enabled = True Then Cancel = 0 Else
MsgBox \"请编辑完这条记录再退出!\提示:\" Cancel = 1 End If End Sub
4.7具体操作步骤
摸块保称 对客户关系信息进行录入 功能说明 1 录入 2 查询 对客户关系信息进行查询 3 用户管理 对系统用户名和密码进行修改和删除等操作 4 系统 退出系统
第五章.结束语
经过一个多月的设计和开发,图书管理系统基本开发完毕。其功能基本符合用户需求,能够实现图书信息的录入、更新、删除、打印等基本功能,从而实现图书的管理。对于数据的一致性的问题也通过程序进行了有效的解决。但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。 致谢
在本次设计中,我从指导老师 杨老师身上学到了很多东西。杨老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。 另外,在系统开发过程中助手同学也给于我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,还有同组的同学同样给与我不少帮助,这里一并表示感谢。
第六章.主要
[1] Visual Basic 6.0 使用指南
作者:Bob Reselman , Richard Peasley , Wayne Pruchniak. 出版社:电子工业出版社
[2] 中文版Microsoft Office 2000 自学通 作者:Ned Snell
出版社:机械工业出版社
[3] Visual Basic 6.0 中文版控件大全 作者:Microsoft
出版社;电子工业出版社
[4] 中文Access 2000 24学时教程 作者:Craig Eddy ,Timothy Buchanan 出版社:机械工业出版社
[5]、《中文版Access20XX入门及提高》 作者:王成辉.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务