【摘要】
本文通过用VB 6.0编写小区物业管理系统,利用软件工程原理,采用生命周期方法学,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了小区信息数据库的创建及各种费用的收取、统计、汇总。
本文还简单介绍了vB6.0软件的界面及操作方法。简要介绍了窗体的制作过程,程序的编写,添加,最后的编译过程。并且叙述了作者在软件开发过程中的心得体会。
本系统可以实现如下功能:
1.系统登录:包括用户登录,修改密码,添加用户,退出系统。
- 基本资料:包括住户资料和财产资料信息管理
- 物业管理:包括物业设备,仪表数据,停车场管理,收费管理,住户投诉,住户报修管理,设备维修管理等.
- 数据报表统计:包括物业设备,仪表数据统计,收费统计,住户投诉统计,住户报修统计,设备维修统计等.
本系统投入使用后,改变了以往小区物业管理过程中的手工操作方式,提高了小区物业管理的效率,起到了良好的社会效果和经济效益。
关键词:小区物业管理 数据库 统计 汇总
【Abstract】
This text passes and uses VB 6. 0 writes the administrative 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 supporter's database , realized the establishment of the information 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 compiling. And has narrated author's gains in depth of comprehension in the course of software development。
This system can carry out as follows function:
1. system login :Include the customer logging, the modification password, increase the customer, withdraw the system.
1. Basic data :Include inhabitant's data and the property data information management
2. Thing industry management :Include the thing industry equipments, the appearance data, parking lot management, charge the management, inhabitant the hurl tell, inhabitant the report fix the management, the equipments maintains the management etc..
3. Data statement Statistics: Include the thing industry equipments, the appearance data statistics, charging the covariance, inhabitant the hurl tells the covariance, inhabitant the report fixs the covariance, the equipments maintains to statistics etc..
After putting this system into use, it changed former small area industry management handicraft within process operation method, raised the small area thing industry management of efficiency, rose the good social result and economic performances.
Keyword : Estate management Database Statistics Gather
目录
第一章 引言
本软件使用Microsoft Visual Basic 6.0进行编写。数据库技术的产生与发展源于对于数据的组织和管理。数据库技术是数据管理的技术,它随着数据管理任务的需要而产生于20世纪60年代中期。这是一门综合性技术,涉及操作系统,数据结构,算法设计和程序设计等知识。数据库技术的基本思想是对数据实行集中,统一,独立的管理,用户可以最大限度的共享数据资源。
数据库系统实际上是一个应用系统,它是在计算机硬,软件系统支持下,由用户,数据库管理系统,存储在存储设备上的数据和数据库应用程序构成的数据处理系统。数据库系统是由数据,数据库管理系统,应用程序,用户组成。
数据库的特点:1.实现数据共享 2.实现数据独立3.减少了数据冗余度 4.避免了数据不一致性5.加强了对数据的保护。
数据库应用系统(DATABASE APPLICATION SYSTEMS DBAS)
- 管理信息系统
- 开放式信息服务系统
一个数据库应用系统通常是由数据库和应用程序两部分组成,它们是在数据库管理系统支持下设计和开发出来的。
第二章 系统分析
2.1开发背景
随着我国市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已经不能满足人们的需求。如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。
2.2需求分析
某小区位于我市西郊,绿化面积1200多平方米,占地面积100000,建筑面积680000多平方米,24小时保安巡逻,环境幽雅、周边配套设施完善,实行封闭式管理,小区现居住约2万人。由于管理面积大,户数多,物业管理范围广,管理内容繁杂,小区物业管理混乱的问题一直无法解决。再者,小区物业管理中一项重要的工作是计算、汇总各项费用,由于费用项目较多,计算方法繁重,手工处理差错率较高。同时查询某房产资料或业主资料往往也需要较长时间,给物业管理者的工作带来了诸多弊端。因此该物业公司决定采用计算机进行物业管理。根据该小区具体情况,该系统在实施后,能够满足对小区住户资料、财产资源统计、小区投诉、装修、维修、等进行管理,能够满足对水、电表抄收、统计、核算、各项费用统计汇总。该系统的实施为小区日后发展奠定了新的台阶。
根据该物业的具体情况,系统主要包括以下4个模块:系统登录,基本资料,物业管理,数据报表统计等.
2.3概要
作为管理信息系统的开发,Visual Basic是一个非常理想选择。Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
2.4 Microsoft Visual FoxPro 6.0软件简介
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作做作企业级开发工具的产品有:
Microsoft公司的Visual Basic
Microsoft公司的Visual C
Borland公司的Delphi
Powersoft公司的PowerBulider
Java等等
在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
作为数据库系统的开发,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技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
动态链接库(DLL)
Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能
第三章 系统设计
3.1 业务流程图
根据该小区物业管理的特点和该小区的实际情况,物业管理系统流程如下图所示。 申请装修 填写收费通知单
系统主要功能包括
- 系统登录:包括用户登录,修改密码,添加用户,退出系统。
- 基本资料:包括住户资料和财产资料
- 物业管理:包括物业设备,仪表数据,停车场管理,收费管理,住户投诉,住户报修管理,设备维修管理等.
- 数据报表统计:包括物业设备,仪表数据统计,收费统计,信户投诉统计,信户报修统计,设备维修统计等.
3.2数据库设计
根据该公司业务情况和行业特点,本系统采用了ACCESS数据库,数据库名称为XiaoQuGuanLi,包含以下几个表:报修表(BaoXiu),Client表,Emp表,Equipment表,Gas表,House表,Park表,Power表,Repair表,Tousu表,UserTable表,Water表,WuyeFee表,YiBiaoFee表.
主程序界面设计
3.4其他窗体设计
(因本设计涉及的窗体比较多,故我们只选取有代表性的窗体加以重点描述)
3.4.1 系统登陆界面设计
如图所示,新建一个窗体,在窗体中添加二个Lable控件,二个TextBox控件,二个commandButton控件,设置其属性。然后添加程序代码。
其中登录按钮的源码如下:
Private Sub cmdLogin_Click()
'首先检查用户是否输入了用户名和密码
If txtUser.Text = "" Then
MsgBox "请输入用户名!", vbOKOnly + vbInformation, "注意"
txtUser.SetFocus
Exit Sub
ElseIf txtPwd.Text = "" Then
MsgBox "请输入密码!", vbOKOnly + vbInformation, "注意"
txtPwd.SetFocus
Exit Sub
End If
Dim 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, adLockPessimistic
If rs_user.EOF = True Then
MsgBox "用户名或密码不正确!", vbOKOnly + vbInformation, "注意"
rs_user.Close
'清空txtUser和txtPwd文本框
txtUser.Text = ""
txtPwd.Text = ""
Exit Sub
Else
'还需使其他菜单可用
MDIfrmMain.mnAddUser.Enabled = True
MDIfrmMain.mnBasicData.Enabled = True
MDIfrmMain.mnWuYe.Enabled = True
MDIfrmMain.mnDataTg.Enabled = True
'提示用户登录成功并关闭游标和登录窗口
MsgBox "登录成功!", vbOKOnly + vbInformation, "注意"
rs_user.Close
Unload Me
End If
End Sub
3.4.2基本资料模块的设计
同理窗体中的控件的添加比较直接,参照登录窗体的设计,并添加相关代码.其中重点分析按钮源码如下:。
添加按钮的代码:
Private Sub cmdAdd_Click()
'设置除保存和取消按钮外的其他按钮不可用
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdSave.Enabled = True
cmdCancel.Enabled = True
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdQuery.Enabled = False
'需要清空所有text框,并且设置它们可写
For i = 0 To 14
Text1(i).Text = ""
Text1(i).Enabled = True
Next i
Combo1.Enabled = True
'add变量用于保存时判断是从添加还是修改后保存
add = 1
Text1(0).SetFocus
Text1(13).Text = Date
End Sub
修改按钮的源码:
Private Sub cmdEdit_Click()
'设置除保存和取消按钮外的其他按钮不可用
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdSave.Enabled = True
cmdCancel.Enabled = True
cmdFirst.Enabled = False
cmdPrev.Enabled = False
cmdNext.Enabled = False
cmdLast.Enabled = False
cmdQuery.Enabled = False
'需要设置除主键之外的text框可写
For i = 1 To 14
Text1(i).Enabled = True
Next i
Combo1.Enabled = True
add = 0
End Sub
删除按钮的源码如下:
Private Sub cmdDel_Click()
'当单击删除记录时,需要弹出一个提示框,警告用户
Dim answer As String
answer = MsgBox("确定要删除吗?", vbYesNo, "")
'确实删除
If answer = vbYes Then
rs_client.Delete '删除当前记录
rs_client.Update '更新删除
MsgBox "成功删除!", vbOKOnly + vbExclamation, ""
Else
Exit Sub
End If
'删除之后,显示总信息条数需要减 1
Text2.Text = Val(Text2.Text) - 1
'删除当前记录后,需要显示下一条记录,如果删除的是最后一条记录,则显示上一条记录
'先移动rs_client记录到后一条
rs_client.MoveNext
If rs_client.EOF Then
rs_client.MovePrevious
'如果没有到记录首则显示改记录
If Not rs_client.BOF Then
For i = 0 To 14
Text1(i).Text = rs_client.Fields(i)
Next i
If rs_client.Fields(15) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
'如果到记录首,则表格已经为空,置所有text框显示为空
ElseIf rs_client.BOF Then
For i = 0 To 14
Text1(i).Text = ""
Next i
End If
'如果删除的不是首尾记录,则显示当前记录即可
Else
For i = 0 To 14
Text1(i).Text = rs_client.Fields(i)
Next i
If rs_client.Fields(15) = "男" Then
Combo1.ListIndex = 0
Else
Combo1.ListIndex = 1
End If
End If
End Sub
保存按钮的源码如下:
Private Sub cmdSave_Click()
'检测数据是否完整
If Text1(0).Text = "" Then
MsgBox "住户编号不可为空!", vbOKOnly + vbInformation, "注意"
Text1(0).SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
MsgBox "物业地址不可为空!", vbOKOnly + vbInformation, "注意"
Text1(1).SetFocus
Exit Sub
ElseIf Text1(3).Text = "" Or IsNumeric(Text1(3).Text) = False Then
MsgBox "建筑面积应为数字!", vbOKOnly + vbInformation, "注意"
Text1(3).SetFocus
Exit Sub
ElseIf Text1(4).Text = "" Or IsNumeric(Text1(4).Text) = False Then
MsgBox "使用面积应为数字!", vbOKOnly + vbInformation, "注意"
Text1(4).SetFocus
Exit Sub
ElseIf Text1(5).Text = "" Then
MsgBox "业主姓名不可为空!", vbOKOnly + vbInformation, "注意"
Text1(5).SetFocus
Exit Sub
ElseIf IsDate(Text1(13).Text) = False Then
MsgBox "入住日期书写不对,应为2000-1-1这样的格式!", vbOKOnly + vbInformation, "注意"
Text1(13).SetFocus
Exit Sub
ElseIf Not Text1(14).Text = "" And IsDate(Text1(14).Text) = False Then
MsgBox "迁出时间应为空或2000-1-1这样的格式!", vbOKOnly + vbInformation, "注意"
Text1(14).SetFocus
Exit Sub
End If
'添加数据后保存
If add = 1 Then
'检测住户编号这个主键是否已经在表中存在
Dim rs_check As New ADODB.Recordset
Dim sqlCheck As String
sqlCheck = "select * from Client where 住户编号= '" & (Text1(0).Text) & "'"
rs_check.Open sqlCheck, conn, adOpenStatic, adLockOptimistic
If Not rs_check.EOF And Not rs_check.BOF Then
MsgBox "该住户编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
rs_check.Close
Text1(0).SetFocus
Text1(0).Text = ""
Exit Sub
End If
rs_check.Close
'主键不重复,可以加入表中
rs_client.AddNew
For i = 0 To 14
rs_client.Fields(i) = Text1(i).Text
Next i
rs_client.Fields(15) = Combo1.Text
rs_client.Update
'添加保存之后,显示总信息条数需要加1
Text2.Text = Val(Text2.Text) - 1
'修改数据后的保存
Else
rs_client.Update
End If
MsgBox "保存数据成功!", vbOKOnly + vbInformation, "祝贺"
'保存后需要设置其他按钮可用,以及各个text框不可写
cmdAdd.Enabled = True
cmdEdit.Enabled = True
cmdDel.Enabled = True
cmdSave.Enabled = False
cmdCancel.Enabled = False
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdQuery.Enabled = True
For i = 0 To 14
Text1(i).Enabled = False
Next i
Combo1.Enabled = False
End Sub
3.4.3物业管理模块设计
其中添加,修改,删除按包的源码设计同上,重点分析保存按钮的源码如下:
Private Sub cmdSave_Click()
'检测数据是否完整
If Text1(0).Text = "" Then
MsgBox "设备编号不可为空!", vbOKOnly + vbInformation, "注意"
Text1(0).SetFocus
Exit Sub
ElseIf Text1(1).Text = "" Then
MsgBox "设备名称不可为空!", vbOKOnly + vbInformation, "注意"
Text1(1).SetFocus
Exit Sub
ElseIf IsDate(Text1(5).Text) = False Then
MsgBox "购买日期书写不对,应为2000-1-1这样的格式!", vbOKOnly + vbInformation, "注意"
Text1(5).SetFocus
Exit Sub
End If
'添加数据后保存
If add = 1 Then
'检测房间编号这个主键是否已经在表中存在
Dim rs_check As New ADODB.Recordset
Dim sqlCheck As String
sqlCheck = "select * from Equipment where 设备编号= '" & (Text1(0).Text) & "'"
rs_check.Open sqlCheck, conn, adOpenStatic, adLockOptimistic
If Not rs_check.EOF And Not rs_check.BOF Then
MsgBox "该设备编号已经存在,请重填一个!", vbOKOnly + vbInformation, "注意"
rs_check.Close
Text1(0).SetFocus
Text1(0).Text = ""
Exit Sub
End If
rs_check.Close
'主键不重复,可以加入表中
rs_equip.AddNew
For i = 0 To 6
rs_equip.Fields(i) = Text1(i).Text
Next i
rs_equip.Update
'添加之后显示总共条数信息加 1
Text2.Text = Val(Text2.Text) + 1
'修改数据后的保存
Else
rs_equip.Update
End If
MsgBox "保存数据成功!", vbOKOnly + vbInformation, "祝贺"
'保存后需要设置其他按钮可用,以及各个text框不可写
cmdAdd.Enabled = True
cmdEdit.Enabled = True
cmdDel.Enabled = True
cmdSave.Enabled = False
cmdCancel.Enabled = False
cmdFirst.Enabled = True
cmdPrev.Enabled = True
cmdNext.Enabled = True
cmdLast.Enabled = True
cmdQuery.Enabled = True
For i = 0 To 6
Text1(i).Enabled = False
Next i
End Sub
(该模块其它几个窗体的设计跟此窗体的设计雷同)
3.4.4数据报表统计的设计
物业设备统计
其中排序按钮的源码如下:
Private Sub cmdOrder_Click()
Dim sql As String
If rs_order.State = adStateOpen Then
rs_order.Close
End If
sql = "select * from Equipment order by " & Combo1.Text
rs_order.CursorLocation = adUseClient
rs_order.Open sql, conn, adOpenStatic, adLockOptimistic
'设置DataGrid1的数据源
Set DataGrid1.DataSource = rs_order
DataGrid1.Refresh
'使用分组统计,并显示在DataGrid2中
'首先需要设置DataGrid2可见
DataGrid2.Visible = True
'设置网格不可写
DataGrid2.AllowAddNew = False
DataGrid2.AllowDelete = False
DataGrid2.AllowUpdate = False
Dim sql2 As String
'下面的sql语句已用户选择的combo1.text分组、排序,并且统计同一个combo1.text的数量
sql2 = "select " & Combo1.Text & ", count( " & Combo1.Text & _
" ) as 数量统计 from Equipment group by " & Combo1.Text & " order by " & Combo1.Text
If rs_tg.State = adStateOpen Then
rs_tg.Close
End If
rs_tg.CursorLocation = adUseClient
rs_tg.Open sql2, conn, adOpenStatic, adLockOptimistic
'设置DataGrid2的数据源
Set DataGrid2.DataSource = rs_tg
DataGrid2.Refresh
End Sub
其它几个窗同的设计与该窗体设计雷同.排序按钮的设计参照物业设备统计按钮的设计.
第四章 主菜单的设计与系统实现
系统主菜单的设计
在实际的系统设计中,菜单可分为两种类型,即下拉式菜单和弹出式菜单,下拉式菜单系统中,一般有一个主菜单,其中包括若干个选择项.主菜单单的每一项又可下拉出下一级子菜单.这样用一个个的窗口的形式弹出在屏幕上,它是通过菜单编辑器建立,其步骤如下:
- 选取要建立菜单的窗体
- 从“工具”菜单中,选取“菜单编辑器”建立如下图所示的系统主菜单:
可以看出菜单系统的建立比较直观,因此不作重点描述
一个典型的数据库应用程序由数据结构,操作界面,查询选项和报表打印等组成。在设计应用程序时,应仔细考虑每个组件提供的功能以及与其他组件之间的关系。设计好的功能模块制作完毕后,单击全编译执行在确认无误后,单击文件菜单下的生成工程得到一个.EXE的可执行程序.到此一个完整的系统设计完成.
结 论
在刚刚开始学习数据库的时候,对很多细节很没有概念。特别是对表单的作用还有视图和报表的概念的掌握,理解不准确。通过老师的帮助才慢慢的有了一点体会。对书本的学习完成以后,开始着手对数据库系统开始制作,开始对系统的需求分析不足,造成多次重做。在对表单的制作过程中,对表单的尺寸的把握,对各个控件尺寸的把握是比较困难的,各个控件在表单中的布局也非常重要。在本系统中,程序主界面和登陆界面的制作是比较困难的。表单制作完成后就是对控件编程,其中要注意程序编写时的细节,格式,命令的拼写,运用的合理性等等都要进行分析。
总的来说,做完一个数据库的收获不仅仅是技术上的,对事情的宏观的控制有了更深的看法。
参考文献
- 马力 Visual Basic 6.0 简明教程 机械工业出版社 2001年8月
- 刘韬 骆娟 何旭洪 Visual Basic6.0 数据库系统开发实例导航 人民邮电出版社 2004.4月
- 程序员杂志2002年合订本 电子工业出版社
- 王小平,曹立明.遗传算法-理论、应用与软件实现.西安:西安交通大学出版社,