还剩52页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
大理学院毕业设计(论文)客户管理系统Customermanagementsystem学院工程学院项目组成员指导教师专业电气工程及其自动化年级(班级)2008级电气一班起止日期
2010.
10.25--
2010.
12.20制表日期2010年10月25日【摘要】随着信息技术在管理上越来越深入从而广泛的应用管理信息系统的实施在技术上已逐步成熟越来越多的企业开始中心信息化管理,客户管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统客户管理的核心是企业与客户的关系在传统经济时代,企业不做市场和客户需求分析,盲目单一且供不应求,此时的客户管理仅是企业与客户表面上维护的一种适度、有限的关系,制约了企业和社会的发展而在网络经济时代,企业完全按照市场和客户的需求生产各种产品客户选择商品具有很大的自主权,整个市场处于买方市场此时的客户管理以企业获取利润最大化为目标,不仅要强调以市场为导向,以客户需求为中心的基本思想,而且还要努力提高服务质量和客户满意度,力求在企业和客户之间建立和保持一种长期、良好的合作关系,加速企业和社会的发展总之,一个行之有效的客户管理系统,可以让发杂的客户管理工作变得简单明朗,使企业资源可以得到充分合理的利用,促进企业的高速发展【关键词】客户管理系统;信息;客户[Abstract]pickalongwiththeinformationtechnologyinthemanagementofamoreprofoundandextensiveapplicationofmanagementinformationsystemhasbeengraduallyimplementedinthetechnicalmaturity.MoreandmoreenterprisesbegintocenterofinformationmanagementcustomerinformationmanagementsystemisacontinuousdevelopmentofnewdisciplinestodevelopbusinesstosurviveitmuststrengthenenterprisemanagementCustomermanagementisthecoreofenterpriseandcustomerrelationship.Intraditionaleconomyenterprisesdonotmakethemarketandcustomerdemandanalysissingleblindanddemandexceedssupplymaterialisextremelypoorcustomersofgoodswithoutchoicethewholemarketisasellersmarket.Theclientmanagementisonlyonthesurfaceoftheenterpriseandthecustomermaintainamoderatelimitedrelationshipisactuallyasimpleshort-termtradingrelationshiporatransactionrestrictedthedevelopmentofenterprisesandsociety.Butinthenetworkeconomyeraenterprisesaccordingtomarketandcustomerdemandfortheproductionofavarietyofproducts.Productsofdifferentspecificationsvarietyandupdatequicklycustomerschooseproductswithgreatautonomythewholemarketisabuyersmarket.Thecustomermanagementtotheenterpriseprofitmaximizationasthegoalnotonlytoemphasizebewiththemarketorientedcustomerdemandforthebasicideaandstrivetoimproveservicequalityandcustomersatisfactionandstrivetobetweentheenterprisesandcustomerstoestablishandmaintainalong-termgoodrelationsofcooperationacceleratingthedevelopmentofenterprisesandsociety.Inshortaneffectivecustomermanagementsystemcanmakehairmiscellaneouscustomermanagementworkissimpleandclearmaketheenterpriseresourcecanbefullyrationalusepromotetherapiddevelopmentofenterprises.[Keywords]customermanagementsystem;customerinformation目录第1章绪论…………………………………………………………………………第2章客户管理系统简介………………………………………………………第1章绪论
1.1本课题研究背景和意义随着社会的不断发展,各大中小企业犹如雨后春笋不断增多,用人工管理复杂繁多的相关资料已不再现实可行,并且纸质文档容易丢失、难整理、查阅不便因此,迫切需要利用计算机对企业信息进行自动化的管理客户管理包括用户登录、数据录入、信息查询、报表输出等多方面的管理本设计选用微软Windows平台下的VisualFoxPro
6.0简写为VFP
6.0作为软件开发工具,从客户信息管理和联系人信息管理两个方面展开,包括用户管理、数据管理、报表打印、系统管理四个功能模块的设计通过本设计成功实现了对客户信息、联系人信息相关数据的录入、变更、查询、打印等多方面的功能,因此也提高了管理人员对客户信息的管理效率本设计报告对客户管理系统从构建到实现做了全面介绍,包括系统功能分析、系统结构设计、数据库设计、应用程序设计、系统调试、连编应用系统以及创建安装盘等几个阶段的开发模式,成功实现了由主程序调用登录界面,由登录界面调出主菜单,由主菜单调用表单及报表,实现了对数据库数据的各类操作
1.2客户管理系统简介客户管理是企业管理的一个重要内容随着时代的进步,企业也逐渐变得庞大起来;业务流动越来越频繁,使得管理工作也变的越来越复杂纵观国内外客户管理都是一个庞大的体系,尤其现在企业间竞争越来越激烈,如果信息还用纸质保存则易流失、难整理、需要大量人力资源这个日常管理工作带来不变且工作效率低,因此需要一个完善的基于计算机的管理系统来提高客户信息的管理,增强其安全性、易维护性,提高工作效率、减少人力、物资的开销客户管理系统主要利用计算机对客户信息的管理来提高客户的管理效率和服务的质量在本系统中,主要包括用户登录、数据录入、信息查询、报表输出以及系统维护等功能第二章客户管理系统简介
2.1背景介绍当今社会,随着科技的不断发展,计算机已在人们的日常生活和工作领域中日益普及,并且人们对于计算机的应用不在是简单的文字处理和最初的科学计算计算机早已涉及到我们生活的各个方面,更多的是利用计算机来进行管理从而减轻我们的工作客户是一个公司的主要联系对象,没有了客户,公司就失去了生存的根本一直以来,人们用传统的方式来管理客户信息这种管理方式存在效力低,保密性差的缺点并且,随着时间的积累,客户的信息越来越多,查找,维护或者更新起来都非常的麻烦手工管理已经不能满足需求这就需要使用现代化的手段来提高管理和服务的水平客户管理系统应该为客户和公司提供充足的信息和快捷的查询手段使用计算机对客户信息进行管理,具有查询快速,查询方便,保密性好以及成本低的优点这些优点能够极大的提高客户信息的管理效率使用计算机来管理信息也是企业管理现代化的标志因此开发一套客户管理系统,让计算机来管理客户信息势在必行管理员通过管理系统可以查询某些客户的信息,公司所提供服务的情况;还可以对当前客户情况进行一些统计,给出统计表格,以便全面掌握客户的联系情况客户通过客户管理系统可以查询公司的电话等信息
2.2系统分析了解了客户管理系统的开发背景后,就开始对系统进行设计前的简要分析主要从系统的使用特点、开发语言以及数据库结构等方面进行分析1系统的使用对象使用该系统的人员,主要是教务部门的管理人员或者需要查询信息的学生使用的目的主要是对客户的信息进行高效的管理,并对客户信息进行维护,包括客户信息的输入、变更、查询以及打印等考虑到使用该系统的多为非计算机专业人员,所以在开发时要考虑以下几个方面1)操作简单因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观,操作方便要充分考虑该软件的界面友好和操作方便,便于使用人员快速上手2)易于维护一个软件设计得好坏,关键在于产品的可靠、稳定、便于维护便于升级随着社会的发展,对系统的要求会越来越高要求系统具有更高的安全性,更丰富的功能以及更快的操作速度所以在设计时要考虑到以后的升级问题2开发语言的选择针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬件,选用微软Windows平台下的VisualFoxPro
6.0简写为VFP
6.0作为软件开发工具选用该工具有以下几方面的优点1)VFP
6.0是比较好的关系型数据库管理系统开发软件它提供了可视化的开发平台和面向对象的程序设计方法大量控件的提供节省了开发工作量,提高了开发的效率2)VFP
6.0提供了很多设计器,诸如“数据库设计器”、“表单设计器”、“菜单设计器”等另外还有一些“向导工具”利用这些设计器和向导工具,不用编写大量的程序代码,使开发工作变得比较轻松3)VFP本身就是一个数据库开发系统使用它开发数据库系统效率高,稳定性好综上所述,VFP
6.0可以满足一个单位地客户信息管理的要求,所以用其来开发客户信息管理系统是非常合适的3数据库结构分析好的数据库结构,查询记录的速度较快,而且也不容易出现锁表现象分析对客户信息的管理情况,首先需要了解客户的基本情况信息,包括客户的编号、单位名称以及电话等信息;还要有地区编号以及联系人等信息联系人的信息主要包括电话、姓名、单位以及生日等信息以便于在联系人生日到来时,公司为其进行庆祝再联系客户时,如果记不住联系人的区号以及邮政编码等信息,可以进行查询所以需要的数据表有客户表、联系人表、部门配置表、区号邮编表、服务表以及操作员表
2.3系统功能首先分析一下客户管理系统最终要达到什么目的应该达到让计算机进行客户的信息管理、客户信息的打印;客户可以在网上查询公司的部门、电话、公司所在地区的编号以及邮编等操作客户管理人员可以查询某客户以及客户联系人的基本信息;还可以对一些客户进行主动联系、进行生日的问候等客户在查询公司信息时,可能对公司部门的信息掌握不是十分的全面所以对公司部门电话的查询应该可以根据房间号或者部门代码信息进行查询对客户的查询除来可以根据编号、名称、电话等信息外,还应该可以根据客户所在的地区进行查询综上所述,本客户管理系统需要具有以下功能1系统登录本系统的使用人员只有在输入了正确的证件号和密码后,才能进入该系统是本单位的人员但是不知道密码不能进入系统是本公司的客户,与该公司有联系的人员,在获得一个编号和密码后,也可以进入该系统这用作主要防止不法人员使用系统的资源,进行数据的篡改2权限设置不同的登录者具有不同的系统权限,具有不同权限者访问不同的系统资源,这样主要是为了限制越权操作3数据录入管理该模块实现主要是对与客户相关的信息的录入操作进行管理,主要包括录入,添加以及删除客户信息,联系人信息和服务的信息等功能4信息查询管理对查询与客户相关的信息进行管理,主要包括查询部门电话、查询客户信息、查询区号邮编以及查询联系人信息其中查询部门电话可以根据房间号、部门代码以及电话进行查询查询客户信息可以根据客户编号、电话、地区编号以及联系人编号进行查询查询区号邮编可以根据地区名称以及地区编号进行查询查询联系人信息可以根据联系人编号、姓名以及生日进行查询部门电话记录主要包括部门代码、处室名称、房间号以及分机号和直拨电话5报表输出管理对一些联系信息进行管理,主要包括打印服务信息、打印联系人信息以及打印区号邮编等6系统维护对系统数据进行维护主要是修改密码,普通用户可以修改自己的密码,此功能是防止密码被盗这主要是出于对安全的考虑7退出系统离开客户管理系统第三章系统结构设计
3.1系统结构图开发程序前,先理清思路,有一个清晰明了的结构图,能大大提高开发程序的效率和质量为了开发学生管理系统,需要设计若干表单、数据表、程序、报表以及菜单由项目管理器统一管理,由主程序进入系统,由主程序调出用户登录程序登录成功后调出系统的主菜单,有主菜单调用表单界面和报表整个系统的结构更紧凑、简洁;功能更明确完整客户管理系统的总体功能流程如图
3.1所示图
3.1总体功能流程图
3.2项目管理器的建立设计应用系统时应使用项目管理器,这样做的目的是便于开发和维护充分利用项目管理器提供的简单可视的方法来管理用户各类复杂的资源通过项目管理器,可以集中和管理应用程序的所有内容,列如创建、打开、修改和删除数据库、表、表单、报表以及应用程序等或者在开发应用程序时用它来组织所用到的各种文件如数据库、表、表单、报表、菜单等在一个项目文件中统一管理所用到的各种文件,并将其编译成一个可独立运行的.app或.exe文件通过这种方法,用户可以快速、方便地存取存放在项目文件中的任何对象项目的扩展名是.pjx建立项目器的步骤如下所示1启动VisualFoxPro,进入程序主界面单击菜单栏的【文件】【新建】命令,在弹出的【新建】对话框中选择【项目】选项,如图
3.2所示2单击【新建文件】按钮,在弹出的保存文件对话框中设置一个文件名并选择保存在路径,单击【保存】按钮后即可弹出【项目管理器】对话框,可以看到,这个新项目就在项目管理器中建立起来了图
3.2【新建】对话框
3.3数据库和表的建立建立好项目管理器之后,就可以建立客户管理系统所需要的数据库和数据表了一.建立数据库首先在项目管理器中建立数据库步骤如下所示1单击【数据】选项卡,选择【数据库】选项单图
3.2【新建】对话框击【新建】按钮,弹出【新建数据库】对话框,如图
3.3所示2单击【新建数据库】按钮,出现保存对话框,保存数据库名为客户管理系统.dbc保存后出现【数据库设计器】窗口图
3.3【新建数据库】刚创建的数据库只是一个空的数据库,还没有数据只有创建了数据表和其他数据对象后,才能输入数据或者进行其他数据库的操作二.建立数据表下面开始在数据库中建立数据表首先建立部门配置表.dbf,步骤如下所示1右击【数据库设计器】窗口,在弹出的快捷菜单上选择【新建表】命令2在弹出的对话框中,单击【新建表】按钮,在出现的保存文件对话框中设置文件名为:部门配置.dbf单击【保存】按钮后即弹出【表设计器】对话框,在该对话框中设计表结构3设计表结构时,在【字段】页面中,输入字段名、字段类型、宽度、小数位数、索引和null值(该功能是在一个记录中使用空标记,此时,记录的默认值不起作用)在【显示】区设置字段的格式、输入掩码和标题其他区域与之类似4设置【表设计器】的索引页,切换至【索引】页面,设置部门代码为“主索引”“主索引”和“唯一索引”是有区别的,主索引键值在数据表中是唯一的且不允许为空,唯一索引键值也是唯一的但允许为空5表的结构设计完成之后,系统会提示是否立即输入数据,可以输入几条数据以供演示,现在就把部门配置表建好了按照以上步骤,下面开始建立部门电话表1右击【数据库设计器】窗口,在弹出的快捷菜单上选择【新建表】命令2在弹出的对话框中,单击【新建】按钮,在出现的保存文件对话框中设置文件名为部门电话.dbf单击【保存】按钮后即弹出【表设计器】对话框,在该对话框中设计表结构3设置【表设计器】的索引页,切换至【索引】页面,设置部门代码为“普通索引“4表的结构设计完成之后,系统会提示是否立即输入数据,可以输入几条数据以供演示建好部门电话表以后,按照和上面类似的步骤建立客户表建立的步骤如下所示1右击【数据库设计器】窗口,在弹出的快捷菜单上选择【新建表】命令2在弹出的对话框中,单击【新建】按钮,在出现的保存文件对话框中设置文件名为客户表.dbf单击【保存】按钮后即弹出【表设计器】对话框,在该对话框中设计表结构3设置【表设计器】的索引页,切换至【索引】页面,设置区号和联系人编号为“普通索引”4表的结构设计完成之后,系统会提示是否立即输入数据,可以输入几条数据以供演示建好客户表以后,按照上面类似的步骤建立联系人表建立的步骤如下所示1右击【数据库设计器】窗口,在弹出的快捷菜单上选择【新建表】命令2在弹出的对话框中,单击【新建】按钮,在出现的保存文件对话框中设置文件名为联系人.dbf单击【保存】按钮后即弹出【表设计器】对话框,在该对话框中设计表结构3设置【表设计器】的索引页,切换至【索引】页面,设置联系人编号为“主索引”4表的结构设计完成之后,系统会提示是否立即输入数据,可以输入几条数据以供演示建好联系人表后,按照和上面类似的步骤建立区号邮编表建立的步骤如下所示:1右击【数据库设计器】窗口,在弹出的快捷菜单上选择【新建表】命令2在弹出的对话框中,单击【新建】按钮,在出现的保存文件对话框中设置文件名为区号邮编.dbf单击【保存】按钮后即弹出【表设计器】对话框,在该对话框中设计表结构3设置【表设计器】的索引页,切换至【索引】页面,设置联系人编号为“主索引”4表的结构设计完成之后,系统会提示是否立即输入数据,可以输入几条数据以供演示注1表结构设计完并检查无误后,单击【确定】按钮,提示输入数据如果没有立即输入数据,可以通过【表】菜单中的【添加新纪录】命令来添加新数据2在项目管理器中选择表后,单击【浏览】按钮,出现表的编辑窗口和上次打开表的方式有关可以通过【显示】菜单,在表的编辑窗口和浏览窗口之间进行切换三建立表之间的参照完整性参照完整性是指,当插入、修改或者删除表中的记录时,通过参照引用相关联的另一个表的数据,来保证对表操作的正确性关系数据库管理系统一个重要的功能就是参照完整性必须先建立表之间的关系,才能使用参照完整性建立表之间的关联之前,要先对表建立索引为子表建立普通索引,为父表建立主索引在父表的主索引和子表的普通索引之间建立联系建立表之间的关联,要在数据库设计器中进行首先要打开数据库设计器,方法是在【项目管理器】对话框中的【数据】页面下,选择【数据库】选项中“客户管理系统“单击【修改】按钮,即可打开数据库设计器建立表之间的关联的方法是在【数据库设计器】中,用鼠标左键选择区号邮编表的主索引区号,按住鼠标左键不动,拖动鼠标到客户表的区号索引上此时鼠标箭头变成小矩形,放开鼠标左键,读者客户表与区号邮编表之间的关联就建好了与其他表之间的关联方法的建立是类似的,在此不累述默认的关系是一对多的关系如果想修改建立的关系,可以通过【编辑关系】对话框进行方法是右击需要修改的关联此时关联线变粗,在弹出的快捷菜单中选择【编辑关系】,就打开了【编辑关系】对话框建立完数据表之间的关联后,就可以建立参照完整性约束了必须先清理数据库才能建立参照完整性操作的步骤如下所示1单击菜单栏的【数据库】【清理数据库】命令,进行数据库清理只要打开数据库设计器,菜单栏就会出现【数据库】菜单2右击数据表之间的联系,选择【编辑参照完整性】命令,弹出【参照完整性生成器】界面参照完整性生成器中显示所有的联系参照完整性规则共有3个,分别是:更新规则、删除规则和插入规则更新规则规定了当更新父表的主关键字时,处理相关子表中记录的方法删除规则规定了当删除父表中的记录时,处理相关子表中记录的方法插入规则规定了当子表中插入一条新纪录或者更新一条已经存在的记录时处理规则在客户管理系统中,更新规则设定为【级联】,删除规则设定为【限制】,插入规则设定为【限制】第四章表单设计一个数据库管理系统的开发,一般包括系统功能分析、系统结构设计、数据库设计、应用程序设计、系统调试和连编、发布等6个阶段其中应用程序设计包括用户操作界面设计和主程序设计,用户操作界面设计包括表单设计和菜单设计创建完成数据库和数据表后就可以进行表单设计了用户界面包括表单和菜单两部分,其中主要部分是表单,面向对象编程的大多数工作是在表单中进行的,表单设计的过程就是用户界面设计的过程设计用户界面,是为了让用户和系统能够进行交互式操作
4.1登录表单设计登录表单的作用是操作者只有输入了正确的证件号和密码才能登录进入管理系统数据环境操作员表登录表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择操作员表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中操作员表的用户名和密码字段拖到空表单的合适位置在表单上出现用户名标签、密码标签以及Name属性为text证件号、text密码的文本框调整这四个控件在表单上的位置在【属性】对话框中分别设置文本框的name属性为no,password1密码文本框的passwordchar属性为星号“*”6单击表单控件工具栏中的标签控件,在表单中添加两个标签控件设置该标签Caption属性分别为“客户管理系统”和“登录界面”,FontSize属性分别为16和187添加两个按钮,按钮Caption属性分别为确定和退出8在【属性】对话框中,设置该表单的Caption属性为登录表单,name属性为:login各控件在表单中的位置、大小等属性,如图
4.1所示图
4.1登录界面表单布局完登录表单的控件后,开始设计表单的方法程序和事件代码1Load事件Load事件在加载登录表单时运行右击表单窗口,在弹出的快捷菜单中选择【代码】命令登录表单的Load事件代码如下所示settalkoff关闭返回执行状态的显示,默认为开setsafetyoff设置safety为关,删除数据库时不会出现提示,与新建的数据库同名时直接覆盖closeall关闭所有的数据库opendatabased:\VFP98\客户管理系统.dbcexclusive以独占方式打开数据库“客户管理系统”selecta选择工作区Aused:\客户管理系统\操作员.dbf在工作区A中打开操作员表2Unload事件caozuoyuan=变量caozuoyuan为空returncaozuoyuan返回变量值closeall关闭所有打开的数据库以及数据表【确定】按钮的Click事件的代码如下所示Privatezjmmst定义私有变量st=密码不正确,请重新输入!提示信息zj=alltrimthisform.no.value把输入的用户名值赋给变量zjmm=alltrimthisform.password
1.value把输入密码赋值给mmlocateforzj==alltrim操作员.证件号查找人员配置表与zj相等的证件号iffoundandalltrim操作员.密码==mm如果找到相同的比较密码是否相同caozuoyuan=alltrim操作员.证件号变量caozuoyuan值为操作员表中证件号thisform.visible=.f.如果都正确,该界面不在显示dozhumenu.mpr执行菜单zhumenu.mprelsewaitwindowsttimeout2程序运行等2秒,显示密码不正确的提示信息Thisform.password
1.value=密码文本框为空Thisform.password
1.setfocus密码文本框获得焦点endif【退出】按钮的Click事件代码如下所示tuichu=messagebox您确定要退出客户管理系统吗4+32+0客户管理系统iftuichu=6caozuoyuan=releasethisformendifquit关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“登录表单“在【项目管理器】对话框中,选择【文档】页面下【表单】中的【登录表单】单击【运行】按钮
4.2修改密码表单设计修改密码表单主要用来完成修改密码的功能为了系统的安全起见,密码用一段时间就要进行更换在该表单中,单击“确定”按钮,进行密码的修改单击“取消”按钮,取消密码修改的操作表单的创建和登录表单的创建步骤相同,其中只有几个属性不同1在数据环境中添加操作员表,将密码拖到表单的相应位置把密码标签修改成“旧密码”,设置txt密码文本框的passwordchar属性为星号“*”,输入时显示占位符2单击表单控件工具栏的标签控件,在表单中添加三个标签控件标签控件的Caption属性分别为“密码修改”、“证件号”、“新密码”,FontSize属性值依次设为
18、123单击表单控件工具栏中的文本框控件,在表单中添加一个文本框控件和一个组合框控件设置该文本框的Name属性为password2Passwordchar属性为星号“*”,输入时显示占位符“Combo1”控件的Rowsource属性值为操作员.证件号;Rowsourcetype属性值为6——字段4添加3个按钮,按钮的Caption属性为“确定”、“取消”以及“退出”5在【属性】对话框中,设置该表单的Caption属性为密码修改下面设计密码修改表单的方法程序和事件代码【确定】按钮的Click事件代码如下所示publicxselecta选择工作区aused:\VFP98\客户管理系统\操作员.dbfx=alltrimthisform.txt密码.value用x保存旧密码replace操作员.密码withalltrimthisform.password
2.value新密码代替旧密码messagebox密码已修改0+48提示thisform.refresh【取消】按钮的Click事件代码如下所示replace操作员.密码withxmessagebox放弃密码修改0+48提示thisform.refresh【退出】按钮的Click事件代码如下所示thisform.refreshthisform.release关闭表单设计器,在弹出的保存对话框中保存表单文件命名为【密码修改】在【项目管理器】对话框中,选择【文档】页面下【表单】中的【密码修改】单击【运行】按钮运行后的登录表单,如图
4.2所示图
4.2运行结果
4.3客户查询结果表单客户查询结果表单显示按一定条件查询出的客户的基本情况信息查询条件有按客户编号查询、按联系人编号以及电话查询这类表单由后面的客户查询表单调用在表单界面中可以查看第一条记录、前一条记录、后一条记录、最后一条记录以及退出该界面下面以按客户编号查询出的查询结果表单为例进行介绍客户查询结果表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择客户表,单击【添加】按钮,再添加联系人表然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表单的合适位置在表单上出现客户编号标签、电话标签、单位名称标签、传真标签、邮政编码标签、E-mail标签、单位地址标签、区号标签以及联系人编号标签Name属性依次为txt客户编号、txt电话、txt单位地址、txt传真、txt邮政编码、txtE-mail、txt单位地址txt区号、txt联系人编号等文本框调整这些控件在表单上的位置6添加五个按钮,按钮的Caption属性分别为“第一个”、“上一个”、“下一个”、“最后一个”以及“退出”7在【属性】对话框中,设置该表单的Caption属性为查询结果,name属性为tquery8单击表单空间工具栏中的表格控件,在表单中添加一个表格控件设置该表格的childorder属性为联系人编号设置表格的columncount属性为
7.设置表格的linkmaster属性为客户表设置该表格的recordsource属性为:联系人表设置该表格的recordsourcetype属性为”0-表“下面设计表单的方法程序和事件代码首先设计表单的Init事件程序因为该表单显示的是查询后的结果,所以只可以查看记录而不可以修改因此将各个文本框的Enabled属性设置为False.该查询表单的Init事件程序代码如下所示thisform.refresh刷新表单locateforkh=alltrim客户表.客户编号光标转到与客户编号匹配的记录Thisform.txt客户编号.enabled=.f.客户编号文本框不可修改Thisform.txt电话.enabled=.f.电话文本框不可修改Thisform.txt单位名称.enabled=.f.单位名称文本框不可修改Thisform.txt传真.enabled=.f.传真文本框不可修改Thisform.txt邮政编码.enabled=.f.邮政编码文本框不可修改Thisform.txtEMAIL别.enabled=.f.EMAIL文本框不可修改Thisform.txt单位地址.enabled=.f.单位地址文本框不可修改Thisform.txt区号.enabled=.f.区号文本框不可修改Thisform.txt联系人编号.enabled=.f.联系人编号文本框不可修改【第一个】按钮的Click事件的代码如下所示GOTOP指针指向第一条记录THIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
2.ENABLED=.F.按钮组中的按钮2不能获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中的按钮4获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单【上一个】按钮的Click事件的代码如下所示【上一个】按钮的Click事件的代码如下所示SKIP-1指针指向前一条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中得按钮1获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中得按钮3获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中得按钮4获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中得按钮5获得焦点THISFORM.REFRESH刷新表单IFBOF判断指针是否在表头THIS.ENABLED=.F.该记录不能获得焦点ELSETHIS.ENABLED=.T.该记录获得焦点ENDIFTHISFORM.REFRESH刷新表单skip-1指针指向前一条记录ifbof判断指针是否在表头thisform.commandgroup
1.command
2.enabled=.t.thisform.commandgroup
1.command
1.enabled=.f.thisform.commandgroup
1.command
3.enabled=.f.thisform.commandgroup
1.command
4.enabled=.t.elsethisform.commandgroup
1.command
2.enabled=.t.thisform.commandgroup
1.command
1.enabled=.t.thisform.commandgroup
1.command
3.enabled=.t.thisform.commandgroup
1.command
4.enabled=.t.endifthisform.refresh刷新表单【下一个】按钮的Click事件的代码如下所示SKIP指针指向下一条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点IFEOF判断指针是否在表尾THIS.ENABLED=.F.该记录不能获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.F.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单ELSETHIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点ENDIFTHISFORM.REFRESH刷新表单【退出】按钮的Click事件的代码如下所示Thisform.refreshThisform.release关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“学生档案浏览”在【项目管理器】对话框中,选择【文档】页面中【表单】选项下的【客户查询结果】表单单击【运行】按钮,运行后的表单如图
4.3所示图
4.3运行后的表单按照与上面类似的步骤设计出按联系人查询的查询结果表单因为与上面的几乎一样所以在此就不重复了
4.4联系人查询结果表单联系人查询结果表单显示按一定条件查询出的联系人的信息在该界面中可以查看第一条记录、前一条记录、后一条记录、最后一条记录以及退出该界面下面介绍联系人查询结果表单设计步骤联系人查询结果表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择联系人表,单击【添加】按钮接着添加客户表,然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表格的合适位置在表单上出现联系人编号标签、姓名标签、性别标签、单位名称标签、电话标签、生日标签、爱好标签等,以及相应编辑框Name属性依次为txt联系人编号、txt姓名、txt性别、txt单位名称、txt电话、txt生日、txt爱好等文本框6添加五个按钮,按钮的Caption属性为第一个、上一个、下一个、最后一个以及退出7在【属性】对话框中,设置该表的Caption属性为成绩浏览8单击表单空间工具栏中的表格控件,在表单中添加一个表格控件设置该表格的childorder属性为联系人编号设置表格的columncount属性为
9.设置表格的linkmaster属性为联系人表设置该表格的recordsource属性为:客户表设置该表格的recordsourcetype属性为“0-表”9选中表格的列,设置列的数据源分别为客户表.客户编号、客户表.电话、客户表.单位名称、客户表.传真、客户表.邮政编码、客户表.单位地址、客户表.区号、客户表.联系人编号以及客户表.email列标题分别为;客户编号、电话、单位名称、传真、邮政编码、单位地址、区号、联系人编号以及email10单击表单控件工具栏中的标签控件,在表单中添加一个标签控件设置该标签控件的caption属性为联系人信息查询结果,Fontsize属性值设为18下面设计该表单的方法程序和事件代码首先设计表单的Init事件Init事件在初始化表单时运行设计的方法是右击表单窗口,在弹出的快捷菜单中选择【代码】命令,在弹出的对话框中编写事件程序因为该表单显示的是查询后的结果,所以记录只可以查看不可以修改因此将各个文本框控件的Enabled属性设置为False.该查询表单的Init事件程序代码如下所示THISFORM.REFRESH刷新表单LOCATEFORbh=ALLTRIM联系人.联系人编号THISFORM.txt联系人编号.enabled=.f.联系人编号文本框不可修改THISFORM.txt姓名.enabled=.f.姓名文本框不可修改THISFORM.txt性别.enabled=.f.性别文本框不可修改THISFORM.txt单位名称.enabled=.f.单位名称文本框不可修改THISFORM.txt电话.enabled=.f.电话文本框不可修改THISFORM.txt生日.enabled=.f.生日类型文本框不可修改THISFORM.txt爱好.enabled=.f.爱好文本框不可修改【第一个】按钮的Click事件的代码如下所示GOTOP指针指向第一条记录THIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
2.ENABLED=.F.按钮组中的按钮2不能获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中的按钮4不能获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5不能获得焦点THISFORM.REFRESH刷新表单【上一个】按钮的Click事件的代码如下所示SKIP-1指针指向前一条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中的按钮4获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单IFBOF判断指针是否在表头THIS.ENABLED=.F.该记录不能获得焦点ELSETHIS.ENABLED=.T.该记录获得焦点ENDIFTHISFORM.REFRESH刷新表单【下一个】按钮的Click事件的代码如下所示SKIP指针指向下一个条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点IFEOF判断指针是否在表尾THIS.ENABLED=.F.该记录不能获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.F.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
5.ENABLED=.T按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单ELSETHIS.ENABLED=.T.THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点ENDIFTHISFORM.REFRESH刷新表单【最后一个】按钮的Click事件的代码如下所示GOBOTTOM指针指向第一条记录THIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.F.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单【退出】按钮的Click事件的代码如下所示thisform.refresh刷新表单thisform.release释放表单资源关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“联系人查询结果”在项目管理器对话框中,选择【文档】页面中【表单】选项下的【联系人查询结果】表单单击【运行】按钮,运行后的表单如图
4.4所示图
4.4表单的运行结果
4.5录入客户信息表单录入客户信息表单的作用是完成客户信息的录入可以添加或者删除一条客户记录1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选客户表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表单的合适位置在表单上出现客户编号标签、电话标签、单位名称标签、传真标签、邮政编码标签、单位地址标签、区号标签、联系人编号标签以及email标签Name属性依次为txt客户编号、txt电话、txt单位名称、txt传真、txt邮政编码、txt单位地址、txt联系人编号、txtemail6添加7个按钮,按钮的Caption属性分别为第一个、上一个、下一个、最后一个、添加、删除、退出7在属性对话框中,设置该表单的Caption属性为“录入客户信息”下面设计该表单的方法程序和事件代码首先设计表单的Init事件Init事件在初始化成绩录入表单时使用设计的方法是双击表单窗口,在弹出的对话框中编写事件程序因为该表单显示的内容是可以修改的,设置文本框的Enabled属性为true该查询表单的Init事件程序代码如下所示Select客户表选择客户表useD:\VFP98\客户管理系统\客户表.dbfexclusive以独占的方式打开客户表【添加】按钮的Click事件代码如下所示appendblank添加一条空记录thisform.refresh刷新表单【删除】按钮的Click事件代码如下所示ifmessagebox你的确删除该记录吗4+64+256提示=6是否要删除delete删除记录pack紧接下条记录releasethisform释放表单资源endif【退出】按钮的Click事件代码如下所示thisform.refresh刷新表单used:\VFP98\客户管理系统\客户表.dbfshar恢复共享方式thisform.release释放表单资源第一个、上一个、下一个以及最后一个按钮的Click事件代码可参照上面的例子关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“录入客户信息”在【项目管理器】对话框中,选择【文档】页面中【表单】选项下的【录入客户信息】表单单击【运行】按钮,运行后的表单如图
4.5所示图
4.5表单的运行界面
4.6录入联系人信息录入联系人信息表单主要的作用是添加或者删除一个联系人的基本情况信息录入联系人表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择联系人,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表单的合适位置在表单上出现标签联系人编号标签、姓名称标签、性别标签、单位名称标签、电话标签、生日标签、爱好标签Name属性依次为txt联系人编号、txt姓名、txt性别、txt单位名称、txt电话、txt生日、txt爱好等调整这些控件在表单上的位置6添加7个按钮,按钮的Caption属性分别为第一个、上一个、下一个、最后一个、添加、删除以及退出7在【属性】对话框中,设置该表单的Caption属性为“录入联系人”下面设计录入联系人信息表单的方法程序和事件代码首先设计表单的Init事件程序Init事件在初始化录入表单时运行设计的方法是双击表单窗口,在弹出的对话框中编写事件代码因为该表单显示的内容是可以修改的,设置文本框的Enabled属性为true该数据录入表单的Init事件程序代码如下所示Select联系人选择联系人表useD:\VFP98\客户管理系统\联系人.dbfexclusive以独占方式打开联系人表【添加】按钮的Click事件代码如下所示appendblank添加一条空记录thisform.refresh刷新表单【删除】按钮的Click事件代码如下所示ifmessagebox你的确删除该记录吗4+64+256提示=6是否要删除delete删除记录pack紧接下条记录releasethisform释放表单endif【退出】按钮的Click事件代码如下所示thisform.refresh刷新表单used:\VFP98\客户管理系统\联系人.dbfshar恢复共享方式thisform.release释放表单资源第一个、上一个、下一个、最后一个按钮的Click事件代码可参照上面的例子关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“录入联系人信息”在【项目管理器】对话框中,选择【文档】页面中【表单】选项下的【录入联系人信息】表单单击【运行】按钮,运行后的表单如图
4.6所示图
4.6表单的运行界面
4.7录入服务信息表单1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择服务表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表单的合适位置在表单上出现标签部门代码标签、客户代码称标签、服务项目标签、服务评价标签、金额标签Name属性依次为txt部门代码、txt客户代码、txt服务项目、txt服务评价、txt金额等调整这些控件在表单上的位置6添加7个按钮,按钮的Caption属性分别为第一个、上一个、下一个、最后一个、添加、删除以及退出7在【属性】对话框中,设置该表单的Caption属性为“录入服务信息”图
4.7表单运行结果
4.8客户查询表单设计客户查询表单是根据一定的条件查询出客户的信息单击“查询”按钮,调出“客户查询结果”表单可分为按客户编号查询、按电话查询、按联系人编号查询
4.
8.1按客户编号查询表单通过选择客户的客户编号,调用“客户查询结果”表单,查询出客户的信息数据环境客户表按客户编号查询表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击“表单设计器”窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择客户表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5在表单控件工具栏选择标签控件在空表单上拖出标题标签,设置caption属性为按客户编号查询;设置fontsize属性为
18.再次选择“标签”控件,在表单上拖出一个标签,设置caption属性为请选择客户的编号设置fontsize属性为126在表单控件工具栏选择组合框控件,在空表单上拖出组合框,右击添加的组合框,在【属性】对话框中选择【数据】页面,设置controlsource属性为客户表.客户编号设置Rowsource属性为客户表.客户编号设置rowsourcetype属性为6-字段设置columncount为17选择“命令按钮”控件,在表单上放置两个命令按钮其caption属性分别为“查询”和“退出”8设置表单的caption属性为客户编号查询Name属性为mform设计完成的表单如图
4.81所示下面设置该表单的方法程序和事件代码首先设计表单的init事件Init事件的代码如下所示PUBLICkhUSED\VFP98\客户管理系统\客户表THISFORM.REFRESHGOTOPTHISFORMcombo
1.value=客户表.客户编号【查询】按钮的Click事件代码如下所示kh=ALLTRIMTHISFORM.combo
1.value把选择的电话信息赋值给DhTHISFORM.RELEASE释放表单资源DOFORMD:\VFP98\客户管理系统\客户查询结果调用客户查询结果表单【退出】按钮的Click事件代码如下所示THISFORM.RELEASE关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“客户编号查询”在【项目管理器】对话框中,选择【文档】页面下【表单】中的【客户编号查询】表单单击【运行】按钮,运行后的表单如下图所示图
4.8表单运行界面
4.
8.2按联系人查询表单按联系人查询表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击“表单设计器”窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择客户表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5在表单控件工具栏选择标签控件在空表单上拖出标题标签,设置caption属性为按联系人编号查询;设置fontsize属性为
18.再次选择“标签”控件,在表单上拖出一个标签,设置caption属性为请选择客户的联系人编号设置fontsize属性为126在表单控件工具栏选择组合框控件,在空表单上拖出组合框,右击添加的组合框,在【属性】对话框中选择【数据】页面,设置controlsource属性为客户表.联系人编号设置Rowsource属性为客户表.联系人编号设置rowsourcetype属性为6-字段设置columncount为17选择“命令按钮”控件,在表单上放置两个命令按钮其caption属性分别为“查询”和“退出”8设置表单的caption属性为联系人编号查询Name属性为mform设计完成的表单如图
4.9所示下面设置该表单的方法程序和事件代码首先设计表单的init事件Init事件的代码如下所示PUBLICIxUSED\王梅\客户管理系统\客户表THISFORM.REFRESHGOTOPTHISFORMcombo
1.value=客户表.联系人编号【查询】按钮的Click事件代码如下所示Ix=ALLTRIMTHISFORM.combo
1.value把选择的联系人编号信息赋值给IxTHISFORM.RELEASE释放表单资源DOFORMD:\VFP98\客户管理系统\客户查询结果调用客户查询结果表单【退出】按钮的Click事件代码如下所示THISFORM.RELEASE关闭表单设计器,在弹出的保存对话框中保存表单文件命名为“联系人查询”在【项目管理器】对话框中,选择【文档】页面下【表单】中的【联系人查询】表单单击【运行】按钮,运行后的表单如下图所示接下来设计按电话查询表单,方法与上两个查询表单相同,在此略去
4.9联系人查询表单设计联系人查询表单的功能是根据一定的条件查询出联系人的基本信息单击“查询”按钮可以调出“联系人查询结果”表单共分为联系人编号查询、联系热恩姓名查询和联系人生日查询因为设计方法与客户查询表单一样,只是所调用表单有改动,所以在此不再设计
4.9查询部门电话表单设计查询部门电话表单主要的作用是根据部门的代码查询出该部门的所有电话信息可分为部门电话查询结果表单和部门电话查询表单
4.
9.1部门电话查询结果表单部门电话查询结果表单是根据部门代码查询出的部门电话信息表单在该界面中可以查看第一条记录、前一条记录、后一条记录、最后一条记录以及退出该界面部门电话查询结果表单的设计步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【表单】选项单击【新建】按钮,弹出【新建表】对话框2单击【新建表单】按钮弹出【表单设计器】窗口一个名为form1的空表单也随之出现在【表单设计器】窗口中3右击【表单设计器】窗口,在弹出的快捷菜单中,选择【数据环境】命令4在弹出的【添加表或视图】对话框中,从【数据库中的表】中选择部门电话表,单击【添加】按钮然后单击【关闭】按钮,关闭【添加表或视图】对话框5依次把数据环境中的字段拖到空表单的合适位置在表单上出现标签部门代码标签、处室名称标签、房间号标签、分机号标签、直拨电话标签Name属性依次为txt部门代码、txt处室名称、txt房间号、txt分机号、txt直拨电话等调整这些控件在表单上的位置6添加5个按钮,按钮的Caption属性分别为第一个、上一个、下一个、最后一个以及退出7在【属性】对话框中,设置该表单的Caption属性为“部门电话”Name属性为form1表单的方法程序和事件代码表单的Init事件代码程序,应记录只可以查看不可以修改所以将各个文本框控件的Enabled属性设置为FalseTHISFORM.REFRESH刷新表单LOCATEFORdm=ALLTRIM部门电话.部门代码THISFORM.txt.部门代码.enabled=.f.部门代码文本框不可修改THISFORM.txt.处室名称.enabled=.f.处室名称文本框不可修改THISFORM.txt房间号.enabled=.f.房间号文本框不可修改THISFORM.txt分机号.enabled=.f.分机文本框不可修改THISFORM.txt直拨电话.enabled=.f.直播电话文本框不可修改【退出】按钮的Click时间代码如下所示THISFORM.REFRESHTHISFORM.RELEASE【第一个】按钮的Click时间代码如下所示GOTOP指针指向第一条记录THIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
2.ENABLED=.F.按钮组中的按钮2不能获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3能获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中的按钮4能获得焦点THISFORM.COMMAND
5.ENABLED=.T按钮组中的按钮5能获得焦点THISFORM.REFRESH刷新表单【上一个】按钮的Click时间代码如下所示SKIP-1指针指向前一条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
4.ENABLED=.T.按钮组中的按钮4获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单IFBOF判断指针是否在表头THIS.ENABLED=.F.该记录不能获得焦点ELSETHIS.ENABLED=.T.该记录获得焦点ENDIFTHISFORM.REFRESH刷新表单【下一个】按钮的Click时间代码如下所示SKIP指针指向下一个条记录THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点IFEOF判断指针是否在表尾THIS.ENABLED=.F.该记录不能获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.F.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单ELSETHIS.ENABLED=.T.该记录获得THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.T.按钮组中的按钮3获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点ENDIFTHISFORM.REFRESH刷新表单【最后一个】按钮的Click时间代码如下所示GOBOTTOM指针指向第一条记录THIS.ENABLED=.T.该记录获得焦点THISFORM.COMMAND
1.ENABLED=.T.按钮组中的按钮1获得焦点THISFORM.COMMAND
2.ENABLED=.T.按钮组中的按钮2获得焦点THISFORM.COMMAND
3.ENABLED=.F.按钮组中的按钮3不能获得焦点THISFORM.COMMAND
5.ENABLED=.T.按钮组中的按钮5获得焦点THISFORM.REFRESH刷新表单关闭表单设计器,在弹出的保存对话框中保存表单,文件命名为“部门电话查询结果”该表单的运行如图所示
4.9表单运行结果
4.
9.2查询部门电话表单设计查询部门电话表单是根据选择的部门代码查询出的部门电话信息单击“查询”按钮,调用“部门电话查询结果”表单该表单的设计方法与客户查询表单设计一样,所以在此不再做重复
4.
9.2查询区号邮编表单设计注该表单的设计方法与部门电话查询表单设计的方法一样,故此处略去!第五章菜单设计在应用程序中,用户登录系统后首先看到的是菜单系统在VisualFoxPro
6.0中,通过菜单设计器可以方便、快捷地设计菜单另外菜单也起到组织应用系统中各模块的作用,如果菜单设计得好,用户使用起来就比较方便
5.1布局菜单创建菜单之前首先进行菜单的布局,在本系统中,主要包含以下菜单1文件新建、打开、保存、另存为、关闭、页面设置以及退出;2编辑撤销、重做、剪切、复制以及粘贴;3数据录入录入客户信息、录入联系人信息、录入服务信息4信息查询查询部门电话、查询客户、查询区号邮编以及查询联系人5报表输出客户信息、联系人信息、服务信息以及区号邮编6系统维护修改密码7退出系统8帮助帮助主题和关于
5.2创建自定义菜单前面已经布局好了菜单,下面就使用【菜单设计器】把布局好的菜单设计出来㈠创建菜单1在【项目管理器】对话框的【其他】页面中,选中【菜单】选项单击【新建】按钮,弹出【新建菜单】对话框2在【新建菜单】对话框中,单击【菜单】按钮,弹出【菜单设计器】对话框,如图
5.1所示图
5.1【菜单设计器】对话框3选中【菜单名称】列的菜单名,在【结果】列右边出现【创建】按钮单击【创建】按钮,弹出一个空的【菜单设计器】对话框在该对话框中输入子菜单的名称4单击【插入栏】按钮,弹出【插入系统菜单栏】对话框,如图
5.2所示图
5.2【插入系统菜单栏】对话框5在【插入系统菜单栏】对话框中选择需要插入的菜单,单击【插入】按钮,即可插入到子菜单中单击【关闭】按钮,退出【插入系统菜单栏】对话框,返回菜单设计器6单击【菜单名称】左边的方块,出现双箭头,通过上下拖动来调整菜单的顺序7在菜单之间的合适位置插入分隔线具体的方法是将光标放在需要添加分隔线的位置,单击【插入】按钮,出现一个新菜单项,将菜单名称改为“\-”,如图
5.3所示插入分隔线的目的是为了增加菜单的可读性图
5.3插入分隔线8单击【菜单级】中的三角箭头,选择【菜单栏】选项,就可以返回上一级菜单设计器9重复上述步骤4~9设计【编辑】菜单项的子菜单㈡在子菜单中调用表单下面介绍菜单项中包含子菜单,在子菜单中调用表单的步骤首先设计“数据录入”菜单1选中【菜单名称】列的菜单名,在【结果】列右边出现【创建】按钮单击【创建】按钮,弹出一个空的【菜单设计器】对话框在该对话框中输入子菜单的名称2在【录入客户信息】行的【结果】列中选择【命令】选项,默认的是【子菜单】3在【选项】文本框中输入“doformD:\王梅\客户管理系统\录入客户信息”3在菜单中使用过程在菜单中使用过程即在结果列中选择过程选项,然后编辑过程代码首先设计【退出系统】菜单,设计的步骤如下1选中菜单名称列的菜单名“退出系统”,在结果列中选择过程选项2单击结果列的创建按钮,弹出一个空的菜单设计器过程编辑界面,在该界面中输入过程代码【退出菜单】的过程代码如下所示SETPROCEDURETOmenuname.mprsetproceduretoD:\VFP98\客户管理系统\zhumenu.mpr指明该过程的位置closedatabases关闭数据库closeall关闭所有的表和数据clearevents清除事件循环quit退出系统接着设计报表输出菜单的子菜单及其过程代码1选中菜单名称列的菜单名,在结果列右边创建按钮弹出一个【菜单设计器】对话框2在【客户信息】行的【结果】列中选择【过程】选项,默认的是子菜单3单击结果列的创建按钮,弹出一个空的菜单设计器过程编辑界面,在该界面中输入过程代码客户信息菜单的过程代码如下所示SETFILTERTO指定访问当前表中记录时满足的条件REPORTFORMD:\VFP98\客户管理系统\客户信息从客户信息报表中输出同理可设计出服务信息菜单、联系人信息菜单、区号邮编菜单的过程代码,此处不再一一写出第六章报表设计在系统中需要打印出客户信息、服务信息、联系人信息和区号邮编信息,所以首先要设计出客户信息报表服务信息报表、联系人信息报表、区号邮编报信息报表下面详细介绍报表的使用方法以及具体报表的设计过程
6.1启动报表设计器使用【报表设计器】之前,先要进行启动,启动【报表设计器】的步骤如下所示1在【项目管理器】对话框的【文档】页面中,选中【报表】选项单击【新建】按钮,弹出【新建报表】对话框2在【新建报表】对话框中,单击【报表向导】按钮,弹出一个【向导选取】窗口,如图
6.1所示图
6.1【向导选取】
6.2客户信息报表1右击【报表设计器】窗口,在弹出的快捷菜单中选择【数据环境】命令2右击【数据环境设计器】,选择添加命令,选择客户表,单击添加3选择数据环境中的字段,将其拖动到【报表设计器】的细节区4单击选定对象按钮,调整字段名的位置,单击布局工具栏的顶边对齐5单击工具栏中的标签按钮,在页标头区设置与细节区字段名相应的页标头6通过菜单栏的【报表】==》【标题/总结】命令,弹出对话框,选择【标题带区】7单击菜单栏的预览命令,预览界面8保存命令报表为“客户信息”用类似的方法设计出服务信息报表、联系人信息报表、区号邮编报表第七章主程序设计在VisualFoxPro
6.0中,主程序不是必须有的应用程序的入口也可以是表单或者菜单在VisualFoxPro
6.0中应用程序的入口称作主文件,是数据库管理系统最先执行的程序使用主程序作为主文件比较规范,尽量使用主程序作为应用程序的入口主程序一般具有如下功能1对系统进行初始化,设置系统的运行状态参数2定义全局变量3设置系统工具栏4调用系统登录界面5结束时清理环境
7.1建立主程序首先建立主程序,建立的步骤如下所示1在【项目管理器】对话框的【代码】页面中,选中【程序】选项,单击【新建】按钮2在弹出的【程序】窗口中编写程序代码,如图
7.1所示在主程序中首先要初始化环境主要使用SET命令来初始化环境,设置环境变量的初值或者状态主程序的代码为setsysmenuoff关闭系统菜单显示setsysmenuto关闭系统菜单settalkoff关闭屏幕显示setsafetyoff关闭重名文件覆盖信息提示doform登录表单.scxsettalkonsetsafetyonreadevents响应用户输入_screen.visible=.f.关闭程序窗口,在弹出的保存对话框中,命名程序为MAINPRO在主程序中,readevents语句不可缺少,它用于启动事件循环如果没有该语句,运行程序时,程序只是一闪而过,马上就停止了在退出时,要有相应的清除循环的程序,系统才能正常退出否则只能通过Ctrl+Alt+Del组合键来强制结束
7.2设置主文件主程序建好后,就可以把主程序设置为主文件,作为应用程序的入口设置主文件的步骤如下所示1在【项目管理器】中选择要设置为主文件的文件在【项目管理器】中,选择【代码】页面中【程序】下的程序文件MAINPRO2单击菜单栏的【项目】【设置主文件】命令被设置的文件以粗体形式显示,如图
7.2所示第八章连编应用程序系统至此,数据库、数据库表、表单、菜单、报表以及主文件都已经设计完成,现在就可以把各个分散的功能连编成应用程序或者可执行文件了在连编应用程序之前,要把应用程序中所用到的组件添加到项目管理器中列如添加WIZEMBSS.VCX和WIZBTNS.VCX可视类库在VFP环境下运行表单,vfp98目录下默认包含这两个可视类库,所以不需要添加在连编应用程序时就需要将其添加到项目中,因为连编后的应用系统不一定运行在VFP环境下添加的步骤如下所示1在【项目管理器】对话框中,单击【添加】按钮,弹出【打开】对话框2找到目录D\VFP98\客户管理系统\WIZARDS下的可视类库WIZEMBSS.VCX和WIZBTNS.VCX,单击【确定】按钮,就可以将其添加到【项目管理器】对话框的【类】页面中,如图
8.1所示连编应用程序的步骤如下所示1在【项目管理器】对话框的【代码】页面中,选择程序中的主程序main单击【连编】按钮,弹出【连编选项】对话框如图
8.2所示在【连编选项】对话框中,选择【连编应用程序】选项,则生成一个后缀为app的应用程序;该文件需要在VisualFoxPro系统下运行选择【连编可执行文件】选项,如果没有错误,可连编成一个后缀为EXE的可执行文件该文件可以不依赖于VisualFoxPro系统运行2选择【连编可执行文件】选项,以及【重新编译全部文件】和【显示错误】选项单击【确定】按钮,在弹出的保存对话框中,命名应用程序为“客户管理系统”单击【确定】按钮,就开始进行应用程序的连编图
8.1【连编选项】对话框第九章制作安装盘完成了应用系统的连编以后,就可以为应用程序制作安装程序和发布磁盘了该过程可以通过【安装向导】来完成客户管理系统安装程序的制作步骤如下所示1单击菜单栏的【工具】【向导】【安装】命令,弹出【安装向导】对话框2在【安装向导】步骤1对话框中,指定定位文件在【发布目录】下的文本框中输入“D:\VFP98\”,单击【下一步】按钮3在【安装向导】步骤2对话框中,选择应用程序所需的组件,单击【下一步】按钮图
9.1【安装向导】步骤2“VisualFoxPro运行时刻组件”应用程序所需要的VisualFoxPro运行时刻文件(Vfp6r.dll)该文件自动包含到应用程序中“HTML帮助引擎”为应用程序中的帮助文件提供MicrosoftHTML引擎4在【安装向导】步骤3对话框中,输入磁盘映像目录(D:\LLXSGLXXXT\)选择映像类型为
1.44MB/
3.5英寸,如图
9.2所示单击【下一步】按钮5在【安装向导】步骤4对话框中,设置安装屏幕的提示信息,单击【下一步】按钮6在【安装向导】步骤5对话框中,设置安装程序需要创建的目录名建议采用默认值单击【下一步】按钮7在【安装向导】步骤6对话框中,改变文件设置表格中列出应用程序所包含的文件8选择“客户管理系统.exe”后的【程序管理器】复选框按钮弹出【程序组菜单项】对话框在【说明】下的文本框中输入“学生信息管理系统”,在【命令行】下的文本框中输入“%s客户管理系统.exe”单击【图标】按钮选择一个图形文件单击【确定】按钮,返回【安装向导】步骤6对话框然后单击【下一步】按钮9在【安装向导】步骤7对话框中,单击【完成】按钮,安装向导自动生成应用程序的磁盘映像如图
9.3所示图
9.3【安装向导】步骤7参考文献
[1]王利,二级教程—VisualFoxPro程序设计[M].北京高等教育出版社,
2001.
1.
[2]王晟,王松,刘强.VisualFoxPro数据库开发经典实例解析[M].清华大学出版社,
2005.
[3]傅翠娇.VisualFoxPro典型系统实例与解析[M].电子工业出版社,
2007.
[4]毛一心.VisualFoxPro
6.0应用及实例集锦[M].人民邮电出版社,
2001.
[5]郑人杰,段人昆,陶永雷,实用软件工程[M].北京清华大学出版社,
1997387.
[6]王立福,麻志毅,张世琨,软件工程[M].北京北京大学出版社,2002,
259.
[7]王珊,陈红,数据库系统原理教程[M].北京清华大学出版社,
1989266.
[8]史济民,VisualFoxPro及其应用系统开发[M].北京清华大学出版社.
[9]教育部考试中心,VisualFoxPro
6.0二级考试参考书[M].北京高等教育出版社.
[10]黎能武,VisualFoxPro
6.0程序设计教程[M].水利水电出版社.
[11]周学军,VisualFoxPro
6.0程序设计[M].北京北京理工大学出版社.
[12]王毓珠,VisualFoxPro程序设计教程[M].人民邮电出版社.
[13]王毓珠,VisualFoxPro程序设计习题答案与实验指导[M].人民邮电出版社.
[14]李魁民,VisualFoxPro程序设计上机实训与习题集[M].地质出版社.
[15]熊发涯,VisualFoxPro程序设计[M].中国铁道出版社.
[16]彭金全,VFP程序设计简明教程[M].中山大学出版社,
2002.
[17]魏绍谦,陈万里,VisualFoxPro
6.0简明教程[M].北京高等教育出版社.2004
[18]陈明,VisualFoxPro
6.0应用与提高[M].科学出版社.
2000.01
[19]吴迪,VisualFoxPro
6.0中文版程序设计指南[M].北京清华大学出版社.
1999.03
[20]陈宗,VisualFoxPro
6.0中文版应用与提高[M].青岛出版社.
1999.07
[21]苏宗,VisualFoxPro
6.0中文版应用与开发[M].电子工业出版社.
1999.09
[22]郝锋,何曙,VisualFoxPro
6.0/
7.0命令与函数大全[M].北京电子工业出版社.2002
[23]伍俊良,VisualFoxPro
6.0/FoxBASE+课程设计案例精编[M].中国水利水电出版社.
2002.03
[24]李淑华,VisualFoxPro
6.0程序设计[M].北京高等教育出版社.
2002.8
[25]李春葆,VisualFoxPro
6.0高级编程[M].科学出版社.
2001.04
[26]李钢,VisualFoxPro
6.0基础编程教程[M].北京北京希望电子出版社.
2003.01
[27]郭盈发,VisualFoxPro
6.0及其程序设计[M].西北电子科技大学出版社.
2001.12
[28]王浩,VisualFoxPro
6.0类和对象参考手册[M].上海上海科学技术出版社.
1998.
09.
[29]魏宁,VisualFoxPro
6.0命令参考手册[M].上海上海科学技术出版社.
1998.
09.
[30]郗学奎,VisualFoxPro
6.0使用指南[M].北京人民邮电出版社.
1999.03
[31]魏茂林,VisualFoxPro
6.0数据库应用设计学习指导[M].北京高等教育出版社.
2006.
[32]李加福,VisualFoxPro
6.0中文版入门与提高[M].北京清华大学出版社.
2001.
05.
[33]启明工作室,VisualFoxPro
6.0中文版数据库应用系统开发与实例[M].人民邮电出版社.
2004.
[35]锡林花,VisualFoxPro
6.0中文版应用短期培训教程[M].北京北京工业大学出版社.
2001.01
[36]张磊,VisualFoxPro
6.0使用详解[M].机械工业出版社.
1999.
07.
[37]郭兴成,VisualFoxPro
7.0开发实作教程[M].北京北京希望电子出版社.
2002.
10.
[38]方智慧,VisualFoxPro
8.0程序员手册[M].科学出版社.
2004.
05.
[39]陈宗兴,VisualFoxPro高级技术应用手册[M].华中理工大学出版社.
1997.
05.
[40]武新华,VisualFoxPro管理信息系统开发案例[M].西安电子科技大学出版社.
2004.
[41]胡明.VisualFoxPro中通用查询表单的设计与实现[J].电脑知识与技术学术交流200635
[42]张学智陈莉莉.VisualFoxPro的表单自动生成及后期制作[J].西安工业学院学报199704
[43]周艳香.掌握VisualFoxPro应用的一些小技巧[J].职业圈
200713.
[44]陈潇.VisualFoxPro获取数据库中数据的几种方法[J].科技信息学术研究
200830.
[45]滕敏.VisualFoxPro和Excel数据之间转换的五种尝试[J].福建电脑
200902.
[46]www.zgyimin.cn/doc/jsj/5723lw.html2010-8-30
[47]www.cnki.com.cn/Article/CJFDTotal-HZYS
201...2010-10-25
[48]zhidao.baidu.com/question/
49402156.html2008-4-9
[49]www.lunwendz.com/iask/52/201004/
00000254...2010-10-19
[50]www.abc.edu.cn/jingpinkecheng/2006_yky/kc...2007-12-18致谢经过一至两个月的紧张学习和软件设计,现在已接近尾声,在此要感谢所有关心我、支持我、帮助我的老师、同学和朋友是他们的支持和鼓励让我在这艰辛的道路上勇敢的向前走在此要特别感谢我的指导老师——杨春丽老师,感谢她对我的信任和鼓励在设计过程中杨老师细心辅导,抛砖引玉,引导我做设计但是又不限制我的个人独立思考空间在这段时间里,我被杨老师的严谨的治学精神,对待工作认真负责的作风,严肃的科学态度所激励着,因此我也不断地鞭策着自己提高能力,扩大自己的视野以增长见识以及培养自己独立思考和处理问题的能力非常感谢杨老师的督促和帮助,在此致以最诚挚的谢意!最后我还要感谢工程学院和母校——大理学院对我的栽培,大理学院的综合性丰富了我的阅历,工程学院的教学设施锻炼了我的动手能力和逻辑思维能力感谢大学教会我的为人处世,感谢母校让我认识了很多朋友,生活也丰富多彩在一次感谢所有关心我、帮助我的老师同学、朋友以及我的家人系统首页验证密码退出系统主表单数据录入密码管理报表输出系统维护信息查询录入客户信息查询部门电话查询客户信息查询区号邮编查询联系人信息打印客户信息打印服务信息打印联系人信息打印区号邮编录入联系人信息录入服务信息。