1、1摘要本文通过用 VB 6.0 编写小区物业管理系统,利用软件工程原理,采用生命周期方法学,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了小区信息数据库的创建及各种费用的收取、统计、汇总。本文还简单介绍了 vB6.0 软件的界面及操作方法。简要介绍了窗体的制作过程,程序的编写,添加,最后的编译过程。并且叙述了作者在软件开发过程中的心得体会。关键词:小区物业管理 数据库 统计 汇总全套源程序代码,加 1538937062AbstractThe summary this text passes and uses VFP 6. 0 writes the administr
2、ative system of the property, utilize the soft project principle , adopt the cycle method of the life to study, it develops two respects of main development including setting-up and maintenance and front application program of backstage supporters database , realized the establishment of the informa
3、tion database of the district and collecting , statistics , gathering of different expenses.This text has also introduced vfp6 briefly. The interface of 0 software and working technique. Having introduced the making course of the form briefly, the writing of the procedure, add , the last course of c
4、ompiling. And has narrated authors gains in depth of comprehension in the course of software development。Keyword : Estate management Database Statistics Gather3目录第一章 引言 4第二章 系统分析 52.1 开发背景 52.2 需求分析 52.3 概要 72.4 Microsoft Visual Basic 6.0 软件简介 .7第三章 系统设计 183.1 业务流程图 183.2 数据库设计 193.3 系统详细设计 233.4 其他
5、窗体详细设计 243.4.1 系统登录界面设计 .253.4.2 基本资料模块的设计 .353.4.3 物业管理模块的设计 .353.4.4 数据报表统计模块的设计 .36第四章 主菜单的设计及系统实现. .36结 论 38参考文献 394第一章 引言本软件使用 Microsoft Visual Basic 6.0 进行编写。数据库技术的产生与发展源于对于数据的组织和管理。数据库技术是数据管理的技术,它随着数据管理任务的需要而产生于 20 世纪60 年代中期。这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识。数据库技术的基本思想是对数据实行集中,统一,独立的管理,用户可以最
6、大限度的共享数据资源。数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上的数据和数据库应用程序构成的数据处理系统。数据库系统是由数据,数据库管理系统,应用程序,用户组成。数据库的特点:1.实现数据共享 2.实现数据独立 3.减少了数据冗余度 4.避免了数据不一致性 5.加强了对数据的保护。数据库应用系统(DATABASE APPLICATION SYSTEMS DBAS)1管理信息系统2开放式信息服务系统一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。5第二章 系统分析2.1开发背景随着我
7、国市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已经不能满足人们的需求。如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。2.2需求分析某小区位于我市西郊,绿化面积 1200 多平方米,占地面积100000,建筑面积 680000 多平方米,24
8、 小时保安巡逻,环境幽雅、周边配套设施完善,实行封闭式管理,小区现居住约 2 万人。由于管理面积大,户数多,物业管理范围广,管理内容繁杂,小区物业管理混乱的问题一直无法解决。再者,小区物业管理中一项重要的工作是计算、汇总各项费用,由于费用项目较多,计算方法繁重,手工处理差错率较高。同时查询某房产资料或业主资料往往也需要较长时间,给物业管理者的工作带来了诸多弊端。因此该物业公司决定采用计算机进行物业管理。根据该小区具体6情况,该系统在实施后,能够满足对小区住户资料、财产资源统计、小区投诉、装修、维修、等进行管理,能够满足对水、电表抄收、统计、核算、各项费用统计汇总。该系统的实施为小区日后发展奠定
9、了新的台阶。根据该物业的具体情况,系统主要包括以下 4 个模块:系统登录,基本资料,物业管理,数据报表统计等.72.3 概要Visual Basic是美国微软公司的第一个编程工具和系统开发的第一个产品,Visual Basic以优良的性能、较强的系统开发功能、完美的视觉界面和简单易学的特点,已经赢得了全世界广大用户的偏爱。Visual Basic的编程环境包含了快速有效的开发功能,尤其是数据窗口这一方便而简洁操纵数据库的智能化对象,使系统的开发更人性化,操作更简便。作为管理信息系统的开发,Visual Basic是一个非常理想选择。Visual Basic是一种可视化的、面对对象和条用事件驱动
10、方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows 的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows 内部的应用程序接口(API)函数,以及动态链接库(DLL) 、动态数据交换(DDE) 、对象的链接与嵌入(OLE)、开放式数据访问 (ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。2.4 Microsoft Visual FoxPro 6.0软件简
11、介现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作做作企业级开发工具的产品有:Microsoft 公司的 Visual BasicMicrosoft 公司的 Visual CBorland 公司的 Delphi Powersoft 公司的 PowerBulider8Java 等等在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许
12、多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,Visual Basic 是一个非常理想选择。数据库是 MIS 中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言Visual Basic 语言,该开发工具具有很多长处:Visual Basic 是一
13、种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发 Windows 环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与 Windows 的专业开发工具 SDK 相媲美,而且程序开发人员不必具有 C/C+编程基础。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows 内部的应用程序接口(API)函数,以及动态链接库(DLL) 、动态数据交换(DDE) 、对象的链接与嵌入(OLE)、开放式数据访问 (ODBC)等技术,可以高效、快速地开发出 Windows 环境下功能强大、图形界面丰富的应用软件系统。9总的来说,
14、Visual Basic 具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic 提供了可视化设计工具,把 Windows 界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件” ,即图形对象,并设置这些图形对象的属性。Visual Basic 自动产生界面设计代码
15、,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计4.0 版以后的 Visual Basic 支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而 Visual Basic 则是应用面向对象的程序设计方法(OOP) ,把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic 自动生成对象的程序代码并封装起来。每个对象以图形
16、方式显示在界面上,都是可视的。结构化程序设计语言10Visual Basic 是在 BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic 语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计 Visual Basic 程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离 Visual
17、 Basic 环境,直接在 Windows 环境下运行。事件驱动编程机制Visual Basic 通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用 Visual Basic 设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
18、访问数据库Visual Basic 具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理 Microsoft Access 格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic11还能直接编辑和访问其他外部数据库,如dBASE,FoxPro ,Paradox 等,这些数据库格式都可以用 Visual Basic 编辑和处理。Visual Basic 提供开放式数据连接,即 ODBC 功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle 等。在应用程序中,可以使用结构化查询语言 SQL 数据标准,直
19、接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的 SQL 的编程技术,为单机上运行的数据库提供了 SQL 网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(DDE)利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic 提供了动态数据交换的编程技术,可以在应用程序中与其他 Windows 应用程序建立动态数
20、据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE 技术是 Microsoft 公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用 OLE12技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系
21、,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)Visual Basic 是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将 C/C+或汇编语言编写的程序加入到 Visual Basic 应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用 Windows 应用程序接口(API)函数,实现 SDK 所具有的功能13业主通知装修第三章 系统设计3.1 业务流程图根据该小区物业管理的特点和该小区的实际情况,物业管理系统流程如下图所示。交水电气费、房屋签约 业主入户 水电气读表 物业管理 申请
22、装修 填写收费通知单 系统主要功能包括1系统登录:包括用户登录,修改密码,添加用户,退出系统。2基本资料:包括住户资料和财产资料3物业管理:包括物业设备,仪表数据,停车场管理,收费管理,住户投诉,住户报修管理,设备维修管理等.4数据报表统计:包括物业设备,仪表数据统计,收费统计,信户投诉统计,信户报修统计,设备维修统计等.3.2数据库设计3.21数据库的概念14数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着 World Wide Web(WWW)的猛增及 Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使 Internet 应用超越具有早
23、期应用特点的简单的发布。同时,Internet 技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于 Internet 的数据库或用
24、于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的15发展。从 1956 年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的
25、优劣,将直接影响数据处理的效率。数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。3.2.2创建数据库文件16如果操作系统中安装了 ACCESS2000 的话,可以在开始菜单的程序菜单中可以找到。如下所示:打开 ACCESS2000 之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS 数据库,然后点击确定按钮。这些
26、就新建了一个数据库文件。17最后一步就是要选择一个要保存数据库文件的名字和位置。点击创建就完成。183.2.3 怎样创建一个数据表上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。在下面的对话框中选”使用设计器创建表” ,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。19出现设计的界面后,就可以开始设计数据表了!203.24 VB连接 ACCESS2000数据库用 vb 编写一个管理软件,如果不能连接数据库,那也没有什么用处。先看看 VB 是如何与 ACCESS2000 数据库相连接的。Sub C
27、onnStr()连接数据库Set conn = CreateObject(“ADODB.Connection“) 建立数据库连接对像DBpath = App.Path Data Source=“ & DBpath 打开数据库连接Set rs = CreateObject(“ADODB.Recordset“) 设置数据库对像End Sub上面的一段代码就是连接数据库的。上用到了三个变量conn,Dbpath,rs。其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。声明公用变量的方法如下:Public connPubli
28、c rs上面就是声明为公用变量,上面的声明一定要放在模块的最上面。如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更21不同,而且在其它窗体中使用到了这个变量,程序会出错。3.25数据库设计数据库设计的好坏,直接关系到整个程序的好坏,数据库的结构是否合理,能不能满足现有的要求,今后系统的升级过程中是不是方便,能不能把数据库的结构直接移植到其它的数据库中使用,比如把 ACCESS 数据库的结构直接导入 SQL Server 中能不能直接使用,是不是还要修改程序等等。这些都是非常重要的,本系统的数据库设计比较合理,而不是非常合理,因为每一个程序都可能有错误,有一位程序设计大师说过一
29、句话,没有BUG(错误)的程序,那不叫程序!下面列出数据库中的每一个表,包括表中的字段的含意。根据该公司业务情况和行业特点,本系统采用了 ACCESS 数据库,数据库名称为 XiaoQuGuanLi,包含以下几个表:报修表(BaoXiu),Client 表,Emp 表,Equipment 表,Gas 表,House 表,Park 表,Power 表,Repair 表,Tousu 表,UserTable 表,Water 表,WuyeFee 表,YiBiaoFee 表.现将各表的结构说明如下:2223243.3 系统的详细设计主程序界面设计253.4其他窗体设计(因本设计涉及的窗体比较多,故我们只
30、选取有代表性的窗体加以重点描述)3.4.1 系统登陆界面设计 如图所示,新建一个窗体,在窗体中添加二个 Lable 控件,二个 TextBox 控件,二个 commandButton 控件,设置其属性。然后添加程序代码。其中登录按钮的源码如下:Private Sub cmdLogin_Click()26首先检查用户是否输入了用户名和密码If txtUser.Text = “ ThenMsgBox “请输入用户名!“, vbOKOnly + vbInformation, “注意“txtUser.SetFocusExit SubElseIf txtPwd.Text = “ ThenMsgBox “
31、请输入密码!“, vbOKOnly + vbInformation, “注意“txtPwd.SetFocusExit SubEnd IfDim sqluser As String构造查询该用户名和密码的 sql 语句sqluser = “select * from UserTable where Username = “ & txtUser.Text _& “ and Password = “ & txtPwd.Text & “rs_user.CursorLocation = adUseClient打开数据游标rs_user.Open sqluser, conn, adOpenKeyset,
32、adLockPessimisticIf rs_user.EOF = True ThenMsgBox “用户名或密码不正确!“, vbOKOnly + vbInformation, “注意“rs_user.Close清空 txtUser 和 txtPwd 文本框txtUser.Text = “txtPwd.Text = “Exit SubElse还需使其他菜单可用MDIfrmMain.mnAddUser.Enabled = TrueMDIfrmMain.mnBasicData.Enabled = TrueMDIfrmMain.mnWuYe.Enabled = TrueMDIfrmMain.mnD
33、ataTg.Enabled = True提示用户登录成功并关闭游标和登录窗口MsgBox “登录成功!“, vbOKOnly + vbInformation, “注意“27rs_user.CloseUnload MeEnd IfEnd Sub3.4.2基本资料模块的设计同理窗体中的控件的添加比较直接,参照登录窗体的设计,并添加相关代码.其中重点分析按钮源码如下:。添加按钮的代码:Private Sub cmdAdd_Click()设置除保存和取消按钮外的其他按钮不可用cmdAdd.Enabled = FalsecmdEdit.Enabled = FalsecmdDel.Enabled = Fa
34、lsecmdSave.Enabled = TruecmdCancel.Enabled = TruecmdFirst.Enabled = FalsecmdPrev.Enabled = False28cmdNext.Enabled = FalsecmdLast.Enabled = FalsecmdQuery.Enabled = False需要清空所有 text 框,并且设置它们可写For i = 0 To 14Text1(i).Text = “Text1(i).Enabled = TrueNext iCombo1.Enabled = Trueadd 变量用于保存时判断是从添加还是修改后保存add
35、= 1Text1(0).SetFocusText1(13).Text = DateEnd Sub修改按钮的源码:Private Sub cmdEdit_Click()设置除保存和取消按钮外的其他按钮不可用cmdAdd.Enabled = FalsecmdEdit.Enabled = FalsecmdDel.Enabled = FalsecmdSave.Enabled = TruecmdCancel.Enabled = TruecmdFirst.Enabled = FalsecmdPrev.Enabled = FalsecmdNext.Enabled = FalsecmdLast.Enabled
36、 = FalsecmdQuery.Enabled = False需要设置除主键之外的 text 框可写For i = 1 To 14Text1(i).Enabled = TrueNext iCombo1.Enabled = Trueadd = 0End Sub删除按钮的源码如下:Private Sub cmdDel_Click()当单击删除记录时,需要弹出一个提示框,警告用户29Dim answer As Stringanswer = MsgBox(“确定要删除吗?“, vbYesNo, “)确实删除If answer = vbYes Thenrs_client.Delete 删除当前记录rs
37、_client.Update 更新删除MsgBox “成功删除!“, vbOKOnly + vbExclamation, “ElseExit SubEnd If删除之后,显示总信息条数需要减 1Text2.Text = Val(Text2.Text) - 1删除当前记录后,需要显示下一条记录,如果删除的是最后一条记录,则显示上一条记录先移动 rs_client 记录到后一条rs_client.MoveNextIf rs_client.EOF Thenrs_client.MovePrevious如果没有到记录首则显示改记录If Not rs_client.BOF ThenFor i = 0 To
38、 14Text1(i).Text = rs_client.Fields(i)Next iIf rs_client.Fields(15) = “男“ ThenCombo1.ListIndex = 0ElseCombo1.ListIndex = 1End If如果到记录首,则表格已经为空,置所有 text 框显示为空ElseIf rs_client.BOF ThenFor i = 0 To 14Text1(i).Text = “Next iEnd If如果删除的不是首尾记录,则显示当前记录即可ElseFor i = 0 To 1430Text1(i).Text = rs_client.Fields
39、(i)Next iIf rs_client.Fields(15) = “男“ ThenCombo1.ListIndex = 0ElseCombo1.ListIndex = 1End IfEnd IfEnd Sub保存按钮的源码如下:Private Sub cmdSave_Click()检测数据是否完整If Text1(0).Text = “ ThenMsgBox “住户编号不可为空!“, vbOKOnly + vbInformation, “注意“Text1(0).SetFocusExit SubElseIf Text1(1).Text = “ ThenMsgBox “物业地址不可为空!“,
40、vbOKOnly + vbInformation, “注意“Text1(1).SetFocusExit SubElseIf Text1(3).Text = “ Or IsNumeric(Text1(3).Text) = False ThenMsgBox “建筑面积应为数字!“, vbOKOnly + vbInformation, “注意“Text1(3).SetFocusExit SubElseIf Text1(4).Text = “ Or IsNumeric(Text1(4).Text) = False ThenMsgBox “使用面积应为数字!“, vbOKOnly + vbInformation, “注意“Text1(4).SetFocusExit SubElseIf Text1(5).Text = “ ThenMsgBox “业主姓名不可为空!“, vbOKOnly + vbInformation, “注意“