(精品)售楼管理系统(2013年优秀毕业设计)_第1页
(精品)售楼管理系统(2013年优秀毕业设计)_第2页
(精品)售楼管理系统(2013年优秀毕业设计)_第3页
(精品)售楼管理系统(2013年优秀毕业设计)_第4页
(精品)售楼管理系统(2013年优秀毕业设计)_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

售楼管理系统 【摘要】 房地产业的不断发展,利用电脑的先进管理手段,把售楼人员从一大堆合同中解放出来,将楼盘的销售推向“无纸化”已经成了解决当前房地产售楼管理的当务之急。售楼管理系统就是为了实现这一目标而设计的,管理人员通过该系统可以及时了解楼盘的动态销售情况,还能充分利用电脑的可检索性、方便、快速地了解有关销售楼盘的其他各种详细资料,以便及时做出正确决策。本系统主要实现以下功能:房产管理,管理所有的房产信息、对房产数据进行添加、修改、删除等操作。此外,方便的查询功能可以使客户迅速地找到自己所需的房产信息;客户管理,拥有完善的客户管理功能,才能更加迅速地了解客户的需求动态。客户管理功能要实现对客户各种数据的管理,包括客户和购买动向等。收费管理,对于各种复杂的物业收费,完善的收费管理功能将使得收费管理更加便捷准确。售楼管理,系统的核心,实现对楼盘销售的数据、合同签订情况、客户付费等情况的管理。本系统以中文版Visual Basic 6.0为前台开发工具,用中文版Access 2000作为后台数据库。Visual Basic 6.0,它是由美国微软公司推出的小型数据库开发语言,由于其使用方便,硬件要求不高,易学等特点,它还提供强有力的应用程序开发工具,为将来的维护提供必要的基础。系统的操作对人员的素质的要求不高,只需对他们稍加培训便能胜任。 关键字 房地产|楼盘销售| Visual Basic 6.0|数据库目 录摘要.21、 引言.41项目背景42项目目标42、 第一章设计基础.51.1管理信息系统的认识.51.2管理信息系统的特点.51.3管理信息系统的开发.63、 第二章系统功能分析与设计.62.1系统需求分析.82.2系统功能分析.84、 第三章数据库设计.125、 第四章创建售楼管理系统工程.174.1创建登录窗体184.2建立主窗体224.3实现房产管理功能.244.4实现客户管理功能494.5实现收费管理功能594.6实现系统维护功能676、 第五章小结.69致谢.697、 参考文献.70售楼管理系统引 言背景企业的竞争逐渐整合为管理的竞争,随着房地产业的不断发展,利用电脑的先进管理手段,把售楼人员从一大堆合同中解放出来,将楼盘的销售推向“无纸化”已经成了解决当前房地产售楼管理的当务之急。使用计算机对楼盘进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等特点,能够极大地提高楼盘资源管理的效率,也是企业科学化、正规化管理的重要条件。目标大丰市教育房产售楼管理系统,要为企业提供全面的楼盘管理解决方案,提供一个以人为中心,管理人员与楼盘之间互动的资源管理平台。具体目标如下:l 提高企业管理的效率,节约相关的管理成本,将楼盘的销售推向“无纸化”,增强楼盘管理的安全性。l 为企业建立规范化、人性化、实时互动化管理机制。l 满足企业战略层、管理层、业务操作层和企业全体员工的不同层次和不同方面的需要。l 为企业将来的整体信息化提供必要的支持。第一章 设计基础1.1管理信息系统的认识管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。1.2 管理信息系统的特点1.2.1 管理信息系统的组成管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。计算机技术是MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的成本,需要按时输入每个部件、每个零件以及每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度做保证。1.2.2 管理信息系统的界面特点在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:1以通信功能作为界面设计的核心人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起(人机界面程序只是通信),以免互相干扰,影响速度。设计MIS时,针对每一个功能,都要按照“I-P-O”的模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。2界面必须始终一致统一的人机界面不致于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。3界面必须使用户随时掌握任务的进展情况人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。4界面必须能够提供帮助一个优秀的MIS软件应该提供在线求助功能,甚至提供使用向导,这将给用户带来极大的方便。在多媒体环境下,以语音提示作为操作向导,不会干扰屏幕信息,是一个极佳的选择。5界面友好、使用方便多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。另外,开发者应编写一个错误实时记录程序,自动记录何日、何时、何程序出了何种错误。总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度,同时也要减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高。6输入画面尽可能接近实际如果某个电算会计软件的凭证录入画面是表格式的,一屏可录入多条记录,而且与实际凭证一模一样,甚至连颜色都无异,用户在终端上录入凭证,仿佛用笔在纸上填写凭证,以增加人机亲和力。7具有较强的容错功能误操作、按键连击等均有可能导致数据误录。巧妙地进行程序设计,可以避免此类因素造成的错误。例如,录入学生成绩时,我们可以对其范围进行限定,使用户无法输入0100以外的数据;录入学生年龄时,不妨根据实际情况将范围限制在1520之间。1.3 管理信息系统的开发1.3.1 管理信息系统的开发方式管理信息系统的开发方式主要有独立开发方式、委托开发方式、合作开发方式、购买现成软件方式等4种。这4种开发方式各有优点和不足,需要根据使用单位的技术力量、资金情况、外部环境等各种因素进行综合考虑和选择。不论哪种开放方式都需要有单位的领导和业务人员参加,并在管理信息系统的整个开发过程中培养、锻炼、壮大该系统的维护队伍。1.3.2 系统开发的一般方法管理信息系统的开发是一个复杂的系统工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能、管理知识等各方面的问题,至今没有一种统一完备的开发方法。但是,每一种开发方法都要遵循相应的开发策略。任何一种开发策略都要明确以下问题:l 系统要解决的问题:如采取何种方式解决组织管理和信息处理方面的问题,对企业提出的新的管理需求该如何满足等。l 系统可行性研究:确定系统所要实现的目标。通过对企业状况的初步调研得出现状分析的结果,然后提出可行性方案并进行论证。系统可行性的研究包括目标和方案可行性、技术的可行性、经济方面的可行性和社会影响方面的考虑。 l 系统开发的原则:在系统开发过程中,要遵循领导参与、优化创新、实用高效、处理规范化的原则。l 系统开发前的准备工作:作好开发人员的组织准备和企业基础准备工作。l 系统开发方法的选择和开发计划的制定:针对己经确定的开发策略选定相应的开发方法,是结构化系统分析和设计方法,还是选择原型法或面向对象的方法。开发计划的制定是要明确系统开发的工作计划、投资计划、工程进度计划和资源利用计划。管理信息系统开发方法主要有:结构化生命周期开发方法、原型法、面向对象的开发方1.3.3 管理信息系统的开发过程管理信息系统的开发过程一般包括系统开发准备、系统调查、系统分析、系统设计、系统实现、系统转换、系统运行与维护、系统评价等步骤。根据开发系统的大小、复杂、投入、方式、方法等因素的不同,各步骤的要求和内容也不同,用户需要根据实际情况进行取舍和计划。第二章 系统功能分析与设计2.1系统需求分析 售楼管理职能主要分为房产管理,客户管理,收费管理,售楼管理。其中售楼管理是系统的核心,在系统开发时应考虑对以下职能的需求:l 房产管理,能够管理所有的房产信息、对房产数据进行添加、 修改、删除等操作。此外,方便的查询功能可以使客户迅速地找到自己所需的房产信息。l 客户管理,拥有完善的客户管理功能,才能更加迅速地了解客户的需求动态。客户管理功能要能够实现对客户各种数据的管理,包括客户和购买动向等。l 收费管理,对于各种复杂的物业收费,完善的收费管理功能将使得收费管理更加便捷准确。l 售楼管理,系统的核心,要能够实现对楼盘销售的数据、合同签订情况、客户付费等情况的管理。2.2系统功能分析通过对用户需求的具体调研和分析,确定本系统应具备的功能包括房产管理、客户管理、收费管理、售楼管理、系统维护和退出系统。具体主要实现如下功能:l 房产管理部分 房产管理部分包括户型登记、楼盘登记、户型查询和楼盘查询,其功能是实现对楼盘各部分数据内容的添加、修改、删除和查询等操作。(1) 户型登记管理:包括户型信息的添加、修改和删除3部分功能。其中,户型信息包括户型编号、建筑面积、套内面积、房型、户型简介以及图片文件。(2) 楼盘登记管理:包括楼盘信息的添加、修改和删除3部分功能。其中,楼盘信息包括楼盘编号、户型编号以及单价等。其中楼盘编号的信息包括了楼号、单元、楼层和房号几部分。(3) 户型查询:户型查询部分包括户型编号、建筑面积、户型结构等查询方式。(4) 楼盘查询:楼盘查询部分包括楼盘编号、楼号、楼层、单位报价和户型等查询方式。l 客户管理部分 客户管理部分包括客户资料登记管理和客户资料查询管理,其功能是实现对各客户部分数据内容的添加、修改、删除、查询等操作。(1)客户资料登记管理:包括客户资料的添加、修改、删除3部分功能。其中,客户资料包括姓名、身份证号、出生日期、性别、电子邮件、通信住址、电话号码、手机、邮编、车牌号等。(2)客户资料查询管理:客户资料查询部分包括按照身份证号查询、按照车牌号查询、按照客户姓名查询和按照手机号查询等。l 收费管理部分 收费管理部分包括收费登记和收费查询管理,其功能是实现对各部分数据内容的添加、删除、查询等操作。(1)收费登记管理:包括收费资料的添加、删除、打印3部分功能。其中,收费信息包括收费编号、楼盘编号、交费时间、有线电视费、电话调试费、煤气初装费、公用设施费、其他费用、押金、收款人、交款人等。 (2)收费查询管理:收费资料查询部分包括按照收费单号查询、按照楼盘号查询号、按照交款人查询和按照交费时间范围等。l 售楼管理部分 售楼管理部分包括售楼人员登记、售楼合同管理、收款管理、售楼人员查询、售楼合同查询、收费情况查询等,其功能是实现对各部分数据内容的添加、修改、删除、查询等操作。 (1)售楼人员登记管理:包括售楼人员资料的添加、修改、删除3部分功能。其中,售楼人员资料包括姓名、身份证号、出生日期、性别、电子邮件、通信住址、电话号码、手机、邮编、人员编号等。 (2)售楼合同管理:包括售楼合同资料的添加、修改、删除3部分功能。其中,售楼合同资料包括合同编号、合同状态、认购日期、合同签订日期、购买楼盘编号、购买人身份证号、销售人员编号、合同单价、折扣率、现金折扣、车位编号、车位价款、地下室编号、地下室价款、付款方式、贷款银行以及计划的分期付款等。 (3)收款管理:包括收款资料的添加、打印、删除3部分功能。其中收款资料包括楼盘编号、交款日期、收款单号、收款金额、付款方式、交款人等。 (4)售楼人员查询:售楼人员查询部分包括按照售楼人员编号查询和按照售楼人员姓名查询。 (5)售楼合同查询:售楼合同查询部分包括按照合同编号查询、按照楼盘编号查询、按照客户身份证号查询和按照签订时间表范围查询等。 (6)收款情况查询:收款情况查询部分包括按照收费单号查询、按照楼盘编号查询、按照交款人查询和按照交费时间范围查询等。l 系统维护部分 系统维护部分包括数据备份和数据恢复,实现将现有数据库进行备份和恢复功能。l 退出系统部分 退出系统部分就是当用户发出关闭窗口的行为后,询问用户是否确定要退出本系统,如果确定,则关闭本系统。2.3系统功能模块设计通过对用户需求的具体调研和分析,确定本系统应具备的功能包括房产管理、客户管理、收款管理、售楼管理、系统维护和退出系统。系统具体的模块组织结构如图1所示。售楼管理系统退出系统系统维护售楼管理收款管理客户管理房产管理数据库恢复数据库备份收款情况查询售楼合同查询售楼人员查询收款管理售楼合同管理售楼人员查询收费查询收费登记客户资料查询客户资料登记楼盘查询户型查询楼盘登记户型登记图1 系统功能模块图第三章 数据库设计数据库在一个管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。对于数据库应用程序来说,数据库的设计与创建是进行程序设计的基石,对于Visual Foxpro来说,其数据库的创建一般要包括数据库的设计和数据库的创建两个步骤。3.1设计数据库根据功能分析,系统数据库应满足户型资料、楼盘资料、客户资料、合同资料、收费资料、收款登记、售楼人员、收款登记和系统管理9个功能的需求。所以,需要利用Access建立一个House数据库,主要包括如下8个表。l “户型资料”表:用于存放户型资料;l “楼盘资料”表:用于存放楼盘资料;l “合同资料”表:用于存放合同资料;l “客户资料”表:用于存放客户资料;l “收费信息”表:用于存放收费信息;l “收款登记”表:用于存放收款登记信息;l “售楼人员”表:用于存放售楼人员信息;l “预计付款”表:用于存放预计付款信息。1、“户型资料”表表1 户型资料表字段名数据类型说明Hst_ID文本户型编号字段Hst_buildarea数字建筑面积Hst_usearea数字套内面积Hst_type文本房型Hst_memo文本简介Hst_picture文本保存图片2、“楼盘资料”表表2 楼盘资料表字段名数据类型说明Hos_id文本楼盘编号Hos_hstid文本户型Hos_price货币报价3、“合同资料”表表3 合同资料表字段名数据类型说明Pct_ID数字合同编号Pct_houseID文本楼盘编号Pct_buyerid文本购买人身份证号Pct_salesID文本销售人员编号Pct_housequote货币楼盘单价Pct_discountrate数字折扣率Pct_discountcash货币折扣金额Pct_carplaceid文本车位号Pct_carplace货币车位价格Pct_basementid文本地下室编号Pct_basement货币付款方式Pct_paykind文本货款银行Pct_bookdate时间/日期认购日期Pct_pactdate时间/日期签订日期Pct_State数字标记是否交款4、“客户资料”表表4 客户资料表字段名数据类型说明Hon_ID文本身份证号Hon_name文本姓名Hon_sex文本性别Hon_tel文本电话Hon_tel文本手机Hon_job文本职业Hon_birthday日期/时间出生日期Hon_email文本电子邮件Hon_carcode文本车牌号Hon_zipcode文本邮编Hon_addr文本地址Hon_memo文本备注5、“收费信息”表表5 收费信息表字段名数据类型说明fee_ID数字收费编号Fee_houseID文本楼盘编号Fee_date日期/时间收费时间Fee_tv货币有线电视费Fee_tel货币电话调试费Fee_gas货币煤气初装费Fee_member货币公用设施费Fee_other货币其他费用Fee_deposit货币押金Fee_skr文本收款人Fee_jkr文本交款人6、“收款信息”表表6 收款登记表字段名数据类型说明Icm_ID数字收款单号Icm_houseID文本楼盘编号Icm_date日期/时间收款日期Icm_money货币收款金额Icm_paykind文本付款方式Icm_skr文本收款人Icm_jkr文本交款人7、“售楼人员”表表7 售楼人员表字段名数据类型说明Sal_ID文本人员编号 Sal_sfz文本身份证号Sal_name文本姓名Sal_sex文本性别Sal_birthday日期/时间出生日期Sal_handset文本电话Sal_handset文本手机Sal_email文本电子邮件Sal_zipcode文本邮编Sal_addr文本地址8、“预计付款”表表8 预计付款表字段名数据类型说明Add_pactid数字预计付款序号 Add_date日期/时间预计付款日期Add_money货币付款钱数Shifoufukuan文本是否已付款标记第四章 创建售楼管理系统工程经过上述的分析和设计,就可以开始系统的创建了。 在Visual Basic中,开发系统的第一步就是需要创建一个管理系统资源的工程,系统中所有的窗口、菜单、工具栏等资源都是在此工程中添加和设计完成的。在Visual Basic的菜单栏中依次单击“文件” “新建工程”菜单项,在弹出的“新建工程”对话框中选择“标准EXE图标”,然后单击“确定”按钮,即可创建一个新的工程,默认名称为“工程1”。在菜单栏中依次单击“工程” “工程1属性”菜单项,出现如图2所示的“工程1 工程属性”对话框。图2 “工程1工程属性”对话框在“工程名称”文本框中输入“售楼管理系统”,然后单击“确定”按钮。这样,就新创建了一个名称为“售楼管理系统”的工程。4.1创建登录窗体(frmLogin)在正式进入系统之前,需要对用户的身份进行确认,这是通过用户登录来实现的。所以系统中的第一个窗体也就应该是登录窗体。4.1.1界面设计在Visual Basic中创建工程的时候,系统会自动建立一个新的窗体Form1。将这个窗体的名称更改为frmLogin,就用它作为系统登录窗体。在窗体上放置两个Label控件、1个ComboBox控件、1个TextBox控件和2个CommandButton控件。设置frmLogin窗体及其中控件属性,如表9所示。表9 frmLogin窗体及其中控件属性列表控件名称属性属性值说明frmLoginBackColor&H00C0FFFF&设置窗体背景颜色frmLoginBorderStyleFixed Single设置窗体边框样式Caption“登录”设置窗体标题IconSystem.ico设置窗体图标StartUpPosition屏幕中心设置窗体初始位置Label1Caption“用户名:”设置标题BackColor&H00C0FFFF&设置背景颜色ForeColor&H00C000C0&设置字体颜色Label2Caption“密码”设置标题BackColor&H00C0FFFF&设置背景颜色ForeColor&H00C000C0&设置字体颜色cmbNameText“”设置组合框文本为空TxtPwdText“”设置文本框文本为空CmdOkCaption“确定”设置命令按钮标题cmdCancelCaptionn“取消”设置命令按钮标题调整控件的大小和位置,设计状态效果如图3所示。图3 frmLogin窗体设计效果4.1.2 添加代码(1) 定义模块代码Option ExplicitPublic conn As New ADODB.ConnectionPublic Const keyenter=13Public username as string(2) frmLogin窗体加载事件代码Private Sub Form_Load() 定义连接字符串 connectionstring = provider=Microsoft.Jet.oledb.4.0; & _ data source= & App.Path & House.mdb conn.Open connectionstring 打开数据库 sql = select * from 系统管理表 检索系统管理表 rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic 打开记录集 If rs_login.EOF = False Then 有记录时逐一添加到cmbName组合框 Do While rs_login.EOF = False cmbName.AddItem (rs_login.Fields(0) rs_login.MoveNext Loop cmbName.ListIndex = 0 默认显示第一个子项 End If rs_login.Close cnt = 0 初始化输入次数End Sub(3) “确定”按钮代码Private Sub cmdok_Click() If Trim(cmbName.Text) = Then 判断输入的用户名是否为空 MsgBox 没有这个用户, vbOKOnly + vbExclamation cmbName.SetFocus Else 判断用户名和密码是否正确 sql = select * from 系统管理表 where czyh= & cmbName.Text & rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, cmbName.SetFocus Else 检验密码是否正确 If Trim(rs_login.Fields(1) = Trim(txtPwd.Text) Then userID = cmbName.Text username = rs_login.Fields(2) 记录登录用户的类型,以便权限设置 Unload Me frmMain.Show rs_login.Close Exit Sub Else MsgBox 密码不正确, vbOKOnly + vbExclamation, txtPwd.SetFocus End If End If End If cnt = cnt + 1 输入次数加1 If cnt = 3 Then MsgBox 您输入密码错误次数太多!, vbExclamation, Unload Me End If rs_login.CloseEnd Sub(4) “取消”按钮代码Private Sub cmdcancel_Click() conn.Close 关闭数据库连接 Set conn = Nothing Unload MeEnd Sub4.2建立主窗体(frmMain)4.2.1创建主窗体在Visual Basic6.0的工程资源管理器中单击鼠标右键,弹出的快捷菜单中依次选择“添加” “添加窗体”菜单项,弹出“添加窗体”对话框,单击“打开”按钮,即可在售楼管理系统工程中添加一个窗体Form1,此窗体的各个属性设置如表10所示。表10 系统主窗体属性属性属性值说明名称frmMain设置窗体名称Caption“售楼管理系统”设置窗体标题IconSystem.ico设置窗体图标PictrueDesktop.bmp设置窗体背景图案StartUpPosition2-CenterScreen设置窗体默认位置Windowstate2-Maximized设置窗体默认状态主窗体的设置效果如图4所示。图4 主窗体设计效果图4.2.2添加代码 主窗体中的代码不多,基本上都是实现单击某个菜单选项即弹出相应窗体的语句,这些语句将分别在各个窗体中介绍。单击“系统管理” “退出系统”菜单,关闭系统的代码如下:private Sub exitsys_click( )conn.Close 关闭数据库连接set conn=NothingEndEnd sub由于主窗体中用到了工具栏。因此需要对工具栏内的按钮响应进行设置。双击Toolbar控件,在该控件的ButtonClick事件中设定各个按钮响应后的操作。这里使用“SelectCase”语句来分辨当前单击的是哪个按钮。Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key 按关键字选择 Case bt_loupan 如果单击按钮关键字为bt_loupan则显示楼盘查询窗体 frmBuildingFind.Show 1 Case bt_kehu frmKehuFind.Show 1 Case bt_shoufei frmShoufeiFind.Show 1 Case bt_shoulou frmHetongLogin.Show 1 Case bt_shoukuan frmShoukuanLogin.Show 1 Case bt_tuichu Unload Me End SelectEnd Sub另外,为了维护系统的安全,当用户以guest身份登录时,部分功能是不可用的。在窗体的加载事件中输入如下代码:Private Sub Form_Load() If username = guest Then buildingsalebargain.Enabled = False 销售合同管理不可用 databaserecovery.Enabled = False 数据库恢复不可用 End IfEnd Sub4.3实现房产管理功能打开“房产管理”菜单,下有“户型登记”、“楼盘登记”、“户型查询”和“楼盘查询”4个子菜单。4.3.1建立户型登记窗体(frmHuxingLogin)主要用来对户型资料进行登记,包括添加、修改、删除等各种操作。1、界面设计在工程中添加一个窗体,设置窗体的属性,如表11所示。 表11 frmHuxingLogin窗体属性属性属性值说明名称FrmHuxingLogin设置窗体名称Caption“户型登记”设置窗体标题StartUpPosition2-CenterScreen设置窗体默认位置WindowState2-Maximized设置窗体默认状态该窗体主要分为两个部分。上半部分用一表格控件显示当前所有的户型资料,这里用到MSHFlexgrid控件。此控件不是标准控件,需要用户自行添加。按照前述方法打开工程的“部件”对话框,勾选“Microsoft Hierachical Flexgrid Control6.0”项即可将其加入到工具箱中。该窗体下半部分用来显示当前选定的户型资料,或者用来接收输入的新户型资料。首先添加一个Frame控件,然后在该控件上添加9个Label控件、5个Text控件、4个CommandButton控件、1个ComboBox控件和1个Image控件。添加完控件的窗体效果如图5所示。图5 “户型登记”窗体效果图2、工作流程窗体加载时使用ADO进行数据库的连接,同时在表格中显示出数据。单击“增加”按钮时,所有的文本框为可用状态,并且设置为空,“增加”按钮变为“保存”按钮。在输入完信息后,单击“保存”按钮,判断户型编号是否重复,对于不重复的户型保存入库。单击“删除”按钮时,询问是否确定删除该记录,得到确认后根据户型编号进行删除。单击“修改”按钮时,所有的文本框进入可编辑状态,“修改”按钮变为“保存”按钮。修改后,单击“保存”按钮,进行数据的更新。3、添加代码(1)在主窗体的菜单中添加代码,以便用户单击菜单时,弹出这个窗体。单击“户型登记”菜单,添加如下代码:Private sub housestylogin_click( ) frmhuxinglogin.showEnd sub(2)加载窗体时,需要在打开户型资料表之后,调用dispalygrid过程显示记录信息,然后将常用户型名称添加到Combo1组合框的子项中。在窗体加载事件中输入如下代码:Option ExplicitDim rs_huxing As New ADODB.RecordsetDim gridclick As BooleanDim getrow As LongPrivate Sub Form_Load() Dim sql As String On Error GoTo loaderror sql = select * from 户型资料表 检索户型资料表 rs_huxing.CursorLocation = adUseClient rs_huxing.Open sql, conn, adOpenKeyset, adLockPessimistic displaygrid 调用displaygrid过程,显示信息 Combo1.AddItem 二室二厅 将户型资料加入Combo1控件子项中 Combo1.AddItem 一室二厅 Combo1.AddItem 一室二厅 Combo1.AddItem 复 式 Combo1.AddItem 三室二厅 gridclick = False 标识未选择记录 cmdModify.Enabled = False 此时修改和删除不可用 cmdDel.Enabled = False Exit Subloaderror: MsgBox Err.DescriptionEnd Sub(3)窗体加载时需要显示所有记录信息。考虑到代码的可重用性,定义displaygrid过程。单击“工具”菜单,选择“添加过程”子菜单,添加displaygrid过程。显示表格信息前应该对表格格式进行设置,如设置表格的行数和列数等,添加一个setgrid过程。Public Sub setgrid() 设置表格格式 Dim i As Integer On Error GoTo seterror With grdHuxing .ScrollBars = flexScrollBarBoth .FixedCols = 1 .Rows = rs_huxing.RecordCount + 1 .Cols = 6 .SelectionMode = flexSelectionByRow For i = 0 To .Rows - 1 设置行高 .RowHeight(i) = 315 Next For i = 0 To .Cols - 1 设置列宽 .ColWidth(i) = 1300 Next i End With Exit Subseterror: MsgBox Err.DescriptionEnd Sub其中,使用Rows和Cols属性设置总行数和列数。FixedCols属性的作用是冻结某列,也就是说,如果表格的列数过多从而使表格带有水平滚动条时,被设置为冻结的列不会随着滚动条的滚动而变化。表格表头的格式是单独设置的,以便区别于其他行。添加过程setgridhead用来设置表头。Public Sub setgridhead() 设置表头格式 On Error GoTo setheaderror grdHuxing.Row = 0 在第一行中逐列设置显示文本,作为表头 grdHuxing.Col = 0 grdHuxing.Text = 户型编号 grdHuxing.Col = 1 grdHuxing.Text = 建筑面积 grdHuxing.Col = 2 grdHuxing.Text = 套内面积 grdHuxing.Col = 3 grdHuxing.Text = 户型 grdHuxing.Col = 4 grdHuxing.Text = 图片文件 grdHuxing.Col = 5 grdHuxing.Text = 户型简介 Exit Subsetheaderror: MsgBox Err.DescriptionEnd Sub在dispalygrid过程中调用这两个过程即可设置好表格的格式,然后逐行逐列地显示数据。Public Sub displaygrid() 显示表格信息 Dim i As Integer On Error GoTo displayerror setgrid 调用setgrid过程设置表格格式 setgridhead 调用setgridhead过程设置表头格式 grdHuxing.Row = 0 If Not rs_huxing.EOF Then rs_huxing.MoveFirst Do While Not rs_huxing.EOF grdHuxing.Row = grdHuxing.Row + 1 从第二行开始逐列取得字段值并显示出来 grdHuxing.Col = 0 If Not IsNull(rs_huxing.Fields(0) Then grdHuxing.Text = rs_huxing.Fields(0) _ Else grdHuxing.Text = grdHuxing.Col = 1 If Not IsNull(rs_huxing.Fields(1) Then grdHuxing.Text = rs_huxing.Fields(1) _ Else grdHuxing.Text = grdHuxing.Col = 2 If Not IsNull(rs_huxing.Fields(2) Then grdHuxing.Text = r

温馨提示

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

评论

0/150

提交评论