还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
TOC\o1-3\h\z\u房__销售管理信息系统的__与设计11绪论
11.1__环境的简介
21.2VisualBasic
6.0简介
21.3SQLServer2000简介
21.2前台和后台数据库的连接32系统的分析
32.1理解分析
32.2需求分析33系统功能模块设计
43.1房屋信息管理
43.2销售信息管理44数据库设计5楼房信息表5__信息表6销售记录表
64.2E-R图
74.3在SQLsever2000中实现表创建的SQL语句7适用TreeView控件显示结构9多条查询语句结构95系统主界面
95.1系统主窗体
95.2公共模块116房屋信息管理
126.
1.2__管理166.
1.3信息查询206销售信息管理22客户信息
226.2.1房屋定价26房屋销售29统计分析
327、小结33____33房__销售管理信息系统的__与设计1绪论从20世纪80年代开始、随着计算机硬件和软件技术的发展,特别是计算机和通信网络技术的日趋融合,信息化给企业带来了巨大的变化,信息技术在企业中的应用不再局限于企业活动的某些环节,而是逐步地渗透到企业活动的各个领域、各个环节,极大地改变了企业的生产、流通和组织管理方式,推动了企业物资流、资金流和信息流的相互融合凭借IT信息技术和现代管理思想,在这样一个多元化的信息社会里建立房__销售平台是大势所趋房__管理是一项复杂的工作,它应该非常及时地了解__目前的基本信息,而且能方便的添加、编辑和查询__的资料同时,房__的销售要和大量的客户接触,所以这个销售系统要能够记录相应客户的信息和需求等等
1.1__环境的简介在对房__销售管理信息系统的设计中,本文采用了visualbasic
6.0作为__工具,sqlserver2000作为数据库管理工具VisualBasic
6.0是用来创建高性能的企业应用程序及基于Web的应用程序的最有效工具VisualBasic
6.0使__者得以创建驻留在客户或服务器上或运行在分布式n-层环境里的强壮应用程序是快速创建以数据为中心的企业解决方案的完全套件而SQLServer2000则是目前最优秀的数据库管理系统之一,以其易用性得到很多用户的青睐它包括支持__的引擎、标准的SQL语言、扩展的特性如__、OLAP、分析等功能
1.2VisualBasic
6.0简介VB是一种可视化的、面向对象和采用__驱动方式的结构化高级程序设计语言,可用于__Windows环境下的各类应用程序它简单易学、效率高,且功能强大可以与Windowsr专业__工具SDK相媲美在VisualBasic环境下,利用__驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(SPI)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地__Windows环境下功能强大、图形界面丰富的应用软件系统随着版本的提高,VisualBasic的功能也越来越强
5.0版以后,VisualBasic推出了中文版,与前个版本相比,其功能有了很大提升VisualBasic
6.0是1998年的产品后来又有几次的升级现在用的大多数是SP
4.
1.3SQLServer2000简介SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer
7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点SQLServer2000中包括一系列管理和__工具,这些工具可改进在多个站点上__、部署、管理和使用SQLServer的过程SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的__和管理开销即可实现这些应用程序数据仓库SQLServer2000中包括析取和分析汇总数据以进行联机分析处理OLAP的工具SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据
1.2前台和后台数据库的连接本论文前台和后台的数据库连接是采用ADO控件来实现的,ADO控件直接支持SQL结构化查询语言,使用它可以用最少的代码创建数据库应用程序而ADO控件操作简易,使用方便ADO数据控件常见的属性有ConnectionString属性、Com__dandType属性、CursorLocation属性、LockType属性、RecordSour__属性实例化ADO数据控件时,需要对这些属性进行赋值,代码如下‘实例化ADO控件ADO1ADO
1.ConnectionString=ConnectionString‘设置ADO控件的连接字符串ADO
1.Com__ndTye=adCmdText‘定义Com__ndType;类型ADO
1.CursorLocation=adUseClient‘定义CursorLocation位置ADO
1.LockType=adLockPessimistic‘定义LockType类型ADO
1.RecordSoure=“select*from楼房信息表‘定义数据源,结构SQL语句ADO
1.Refresh‘刷新2系统的分析
2.1理解分析在房____过程中,__销售是非常重要的环节,也是房____的关键环节,如何提供__销售服务之恋,也是显的非常迫切的,而且通关管理系统,可以来规范和管理销售过程的各个环节,并提供相关信息这样,可以极大的提高服务质量和效率
2.2需求分析__销售管理主要负责管理房屋信息,并对房屋进行定价,然后进行销售,为用户提供不同信息统计分析,满足管理人员需求该系统主要包括房屋信息管理和销售信息管理两大部分●房屋信息管理主要负责管理房屋的基本信息,包括楼房信息和__信息●销售信息管理主要负责客户信息、房屋定价、房屋销售以及统计分析__销售管理系统是为了满足用户进行__销售而__的所以,楼旁销售管理系统应达到以下目标●减少人工的参与和基础信息的录入,具有良好的自治功能和信息循环●能够方便地广利____●能够根据市场变化对房屋进行定价●能够管理所有的房屋信息,包括房信息和__信息●能够快速的进行房屋信息的查询3系统功能模块设计根据对__销售管理系统的需求分析,一个标准的楼销售管理系统应该包括房屋信息管理和销售信息管理功能,如图
3.1所示每一个功能模块都包含了一系列的子功能图
3.
13.1房屋信息管理房屋信息管理模块用来管理楼房信息和__信息,它包括楼房管理、__管理和信息查询3个子功能,如图下楼房管理功能实现对楼房信息的维护这类信息主要包括楼房号、楼名、所处位置、占地__、总投资、层数、__数、简介等该模块提供对信息的增加、修改和删除功能__管理功能实现对__信息的维护这类信息主要包括__号、楼房号、位置、__大小、适用__、销售状态、简介、___、销售价、折扣率等该模块提供增加、修改删除功能信息查询系统功能实现对楼房信息和__信息的查询该模块提供模式匹配和多条件查询
3.2销售信息管理销售信息管理模块主要用来管理__销售情况,包括客户信息、房屋定价、房屋销售、统计分析4个子功能,如下图图
3.31客户信息客户信息功能主要实现客户基本信息维护这类信息主要包括编号、姓名、性别、出生日期、婚否、家庭成员数、职位、___号、经济收入、备注
2.房屋定价房屋定价功能主要实现对__的统一定价,涉及的信息包括___、销售__、折扣率___是指房屋的___格销售__是指房屋待销售的__;折扣率是指楼旁销售时的折扣率
3.房屋销售房屋销售功能实现对房屋销售信息的记录记录的信息包括销售ID、__号、楼房号、客户编号、___、销售价、折扣率、利润、付款方式、交易日期、备注等销售ID为标示种子,自增为1;销售价是指打折后的销售__;利润=销售价-___
4.统计分析统计分析功能主要实现对楼旁销售信息的统计分析它通过多条件进行分析,分析条件主要有楼房号、利润、付款方式4数据库设计根据系统需求,需要建立四张表,即楼房信息表格、__信息表、客户信息表、销售记录表楼房信息表楼房信息表负责楼房信息,主要包括楼房号、楼名、所处位置、占地__、总投资、层数、__数、简介等,表结构如下:__信息表__信息表负责维护__信息,主要包括__号、楼房号、位置、__大小、适用__、销售状态、简介、___、折扣率等,表结构如下客户信息表客户信息表格主要用语维护客户的基本信息,主要包括看了客户编号、姓名、性别、出生日期、婚否、家庭成员数、职位、___号、经济收入、备注等,表结构如下销售记录表销售记录表用于对__进行销售,记录销售记录,主要包括销售ID、__号、楼房号、客户编号、___、销售价、折扣率、利润、付款方式、交易日期、备注等,表结构如下
4.2E-R图
4.3在SQLsever2000中实现表创建的SQL语句__销售管理系统需要适用ListView控件和TreeView控件,以及如何结构SQL多条件查询语语句适用ListView控件显示数据ListView控件是一个Windows公共控件作为一个增强功能的列表框,显示更多的信息ListView控件可以适用4种不同试图显示项目,通过这些控件,可将项目组成有或没有列标头的列,并显示伴随的图标和文本,这样可以直观而方便地浏览各个对象的数据ListView控件并不是默认的工具箱的配置项目,必须手工添加引用不捡,此外就是通过代码来控制ListView控件与数据的关联了,其代码如下所示PrivateSubLoadData装载数据DimlistAsListItemDimkeyAsStringSetrs=NothingSQLStr=SELECT*FROM楼房信息表ORDERBYbuildingIDSetrs=SelectSQLSQLStrmsg查询楼房信息Ifrs.RecordCount=0Then如果不存在楼房信息,添加按钮可用,其他按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=False:CmdS__e.Enabled=FalseElse如果存在楼房信息,初始化ListView控件rs.MoveFirstDoUntilrs.EOFkey=rs.FieldsbuildingIDrs.Fieldsbdnamers.MoveNextLoop编辑控件可用性CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdCan__l.Enabled=False:CmdS__e.Enabled=Falsers.MoveFirst返回到第一条记录EndIf设置控件Enable值CallCtrEnableFalseEndSubPrivateSubCtrEnableflagAsBoolean设置控件的Enable值___BuildingId.Enabled=flag___Name.Enabled=flag___Area.Enabled=flag___Invest.Enabled=flag___Floors.Enabled=flag___Rooms.Enabled=flag___Position.Enabled=flag___Notes.Enabled=flagEndSubPrivateSubShowData在控件中显示数据Ifrs.RecordCount0Then如果存在记录为控件赋值___BuildingId.Text=rs.FieldsbuildingID___Name.Text=rs.Fieldsbdname___Area.Text=rs.Fieldsarea___Invest.Text=rs.Fieldsinvestment___Floors.Text=rs.Fieldslayers___Rooms.Text=rs.FieldsroomN___Position.Text=rs.Fieldsbdposition___Notes.Text=rs.FieldsbdintroductionEndIfEndSubPrivateSubListView1_Click在控件中显示楼房信息DimkeyAsStringIfrs.RecordCount0Thenkey=TrimListView
1.SelectedItemSQLStr=SELECT*FROM楼房信息表WHEREbuildingID=Leftkey4Setrs=SelectSQLSQLStrmsgCallShowData重新显示数据EndIfEndSubPrivateSubCmdAdd_Click添加操作CallCtrClear所有控件重置CallCtrEnableTrue设置控件Enable值为可用flag=Add设置标志flag,表示所进行的操作为添加添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled=False:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=True:CmdS__e.Enabled=TrueEndSub用户单击ListView的ListItem来触发ListView的Click__,并通过查询语句查询所单击的ListItem对应的楼房数据,最后用Text文本显示出来这样,ListView很好的发挥了图形功能,让界面更有人性化适用TreeView控件显示结构TreeView控件为用户提供了一种按层次结构显示信息的方式,它包含了称作节点(node)的条目列表,每一节点都可以有自己的节点,从而提供一种更深层次的数据定义,每个节点都可以被折叠起来,从而允许访问者在一个Treeviewk控件中查找,只查看所感兴趣的那一级的数据,如某一楼房的各个__数据Node对象是TreeView控件中的一线,它包含图像和文本,Nodes__包含一个或多个Node对象,语法如下TSQL多条查询语句结构在统计分析模块中,需要通过多条件进行分析分析条件主要有楼房号、利润以及付款方式实现该功能,只需把各个查询语句连接起来,构造SQL语句,其代码如下PrivateSubCmdQuery_Click分析销售信息构造SQL语句SQLStr=select*from销售记录表where1=1IfChkBuildingId.Value=1Then如果通过楼房号来进行分析IfTrimCobBuildingId.Text所有ThenSQLStr=SQLStrandbuildingID=LeftTrimCobBuildingId.Text4EndIfEndIfIfChkMethod.Value=1Then如果通过付款方式来进行分析SQLStr=SQLStrandpayment=TrimCobMethod.TextEndIfIfChkProfit.Value=1Then如果通过利润来进行分析SQLStr=SQLStrandprofitbetween___Roo__rea1and___Roo__rea2EndIfSetrs=SelectSQLSQLStrmsgSetDataGrid
1.DataSour__=rsDataGrid
1.RefreshEndSub5系统主界面系统主界面主要用于构建系统的主窗体,并编写一些公共模块,方便其他子窗体构建和调用
5.1系统主窗体系统主窗体主要由窗体本身和菜单构成首先建立一个工程,然后创建系统主窗体,主窗体的菜单,并在主窗体中添加窗体代码,来处理接各个子窗体的关系__销售管理系统的主界面如下主窗体属性设置如下在主窗体中调用、切换不同界面,进行相应功能的实现,其代码如下PrivateSubbuilding_Clickfrmbuilding.Show打开楼房管理界面EndSubPrivateSubcustom_Clickfrmcustomer.Show打开客户信息界面EndSubPrivateSubinfo_Clickfrminfo.Show打开信息查询界面EndSubPrivateSubmnuEnd_ClickUnloadMe结束EndSubPrivateSubpri___Clickfrmpri__.Show打开房屋定价界面EndSubPrivateSubroom_Clickfrmroom.Show打开__管理界面EndSubPrivateSubsale_Clickfrmsale.Show打开__销售界面EndSubPrivateSubstatistics_Clickfrmstatistics.Show打开统计分析界面EndSub
5.2公共模块在VisualBasic中可以使用公共模块来存放整个项目所需要的公用函数和全局变量,来提高代码的利用率,在项目资源管理器重为项目添加一个Module,保存为OperateData.basOpweateData公共模块主要是用来对数据库操作的,主要包括以下4个函数●ConnstrAsString函数,返回连接字符串,用来设置数据库连接字符串●OpenConnByRefConnAsADODB.ConnectionAsBoolean函数,返回布尔值,用来打开数据库连接●ExecuteSQLByValSQLStrAsStringByRefmsgAsString函数,返回布尔值,用来执行SQL语句●SelectSQLByValSQLStrAsStringByRefmsgAsStringAsADOB.Recordset函数,返回Recordset用来执行查询语句公共模块的代码如下所示.PublicFunctionConnStrAsString设置数据库连接字符串ConnStr=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;_PersistSecurityInfo=False;InitialCatalog=__销售系统EndFunctionPublicFunctionOpenConnByRefConnAsADODB.ConnectionAsBoolean打开数据库连接,连接成功返回true,出错时返回falseSetConn=NewADODB.Connection出错处理OnErrorGoToErrorHandle出错处理Conn.OpenConnStr打开数据库连接OpenConn=TrueExitFunctionErrorHandle:如果出错,进行错误处理MsgBox连接数据库失败!请重新连接!OpenConn=FalseExitFunctionEndFunctionPublicSubExecuteSQLByValSQLStrAsStringByRefmsgAsString执行SQL语句DimConnAsADODB.ConnectionDimsTokensAsString出错处理OnErrorGoToErrorHandle判断SQL语句sTokens=SplitSQL调用Split函数拆分SQL语句IfInStrINSERTDELETEUPDATEUCasesTokens0Then打开数据库连接IfOpenConnConnThen如果打开连接成功,执行SQL语句Conn.ExecuteSQLStrmsg=sTokens0操作执行成功!EndIfElsemsg=SQL语句有误SQLStrEndIfFinally_Exit:程序结束的时候进行对象销毁工作Setrst=NothingSetConn=NothingExitSubErrorHandle:msg=执行错误:Err.DescriptionResumeFinally_ExitEndSubPublicFunctionSelectSQLByValSQLStr_AsStringByRefmsgAsStringAsADODB.Recordset执行SQL语句,返回ADODB.RecordsetDimConnAsADODB.ConnectionDimrstAsADODB.RecordsetDimsTokensAsString出错处理OnErrorGoToErrorHandle判断SQL语句sTokens=SplitSQLStrIfInStrSELECTUCasesTokens0Then打开数据库连接IfOpenConnConnThen如果打开连接成功,就进行查询操作Setrst=NewADODB.Recordsetrst.CursorLocation=adUseClientrst.OpenTrim$SQLStrConnadOpenDynamicadLockOptimistic执行查询操作SetSelectSQL=rstmsg=查询到rst.RecordCount条记录!EndIfElsemsg=SQL语句有误SQLStrEndIfFinally_Exit:Setrst=NothingSetConn=NothingExitFunctionErrorHandle:如果SQL语句执行出错,提示出错信息并转到Finally_ExitMsgString=查询错误:_Err.DescriptionResumeFinally_ExitEndFunction6房屋信息管理简历好主窗体后,开始对两个管理模块的简历进行阐述首先是房屋信息管理模块,它主要实现楼房管理、__管理和信息查询等功能楼房管理简历楼房信息,并对楼房信息进行维护;__管理设置__信息,并对__信息进行维护;信息查询提供__信息查询功能
6.
1.1楼房管理楼房管理主要用于简历娄烦信息,包括楼房号、楼名、所处位置、占地__、总投资、层数、__数、简介等,并对楼房信息进行添加、修改、删除等操作楼房管理界面楼房管理窗体主要空间的属性如表所示具体代码如下运行窗体时出发Load__,调用LoadData过程初始化楼房ListView设置空间可用属性,调用ShowData过程显示数据,其代码如下OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringDimflagAsString判断是新增记录还是修改记录PrivateSubForm_LoadCallLoadData装载数据CallShowData显示数据EndSub调用LoadData过程,装载数据,其代码如下PrivateSubLoadData装载数据DimlistAsListItemDimkeyAsStringSetrs=NothingSQLStr=SELECT*FROM楼房信息表ORDERBYbuildingIDSetrs=SelectSQLSQLStrmsg查询楼房信息Ifrs.RecordCount=0Then如果不存在楼房信息,添加按钮可用,其他按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=False:CmdS__e.Enabled=FalseElse如果存在楼房信息,初始化ListView控件rs.MoveFirstDoUntilrs.EOFkey=rs.FieldsbuildingIDrs.Fieldsbdnamers.MoveNextLoop编辑控件可用性CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdCan__l.Enabled=False:CmdS__e.Enabled=Falsers.MoveFirst返回到第一条记录EndIf设置控件Enable值CallCtrEnableFalseEndSub调用Ctrenable过程设置空间的可属性其代码如下所示PrivateSubCtrEnableflagAsBoolean设置控件的Enable值___BuildingId.Enabled=flag___Name.Enabled=flag___Area.Enabled=flag___Invest.Enabled=flag___Floors.Enabled=flag___Rooms.Enabled=flag___Position.Enabled=flag___Notes.Enabled=flagEndSub调用ShowData过程,在控件中显示字段的相应数据,期代码如下PrivateSubShowData在控件中显示数据Ifrs.RecordCount0Then如果存在记录为控件赋值___BuildingId.Text=rs.FieldsbuildingID___Name.Text=rs.Fieldsbdname___Area.Text=rs.Fieldsarea___Invest.Text=rs.Fieldsinvestment___Floors.Text=rs.Fieldslayers___Rooms.Text=rs.FieldsroomN___Position.Text=rs.Fieldsbdposition___Notes.Text=rs.FieldsbdintroductionEndIfEndSub
(2)当用户单击ListView控件中楼房图标时,将出发ListView1_Cilk__,在控件中显示楼房信息,代码如下PrivateSubListView1_Click在控件中显示楼房信息DimkeyAsStringIfrs.RecordCount0Thenkey=TrimListView
1.SelectedItemSQLStr=SELECT*FROM楼房信息表WHEREbuildingID=Leftkey4Setrs=SelectSQLSQLStrmsgCallShowData重新显示数据EndIfEndSub3当用户单击【保存】按钮时,将触发CmdS__e_Cilk__在保存数据库之前,要对数据进行合法性检查,需要调用CheckData函数,返回True时候表示数据合法,返回False时表示数据非法同时需要调用setData过程来设置数据,其代码如下所示;PrivateSubCmdS__e_Click保存操作OnErrorGoToErrMsg错误处理IfNotCheckDataThenExitSub如果数据不合法就退出操作Ifflag=ModifyThen如果是修改数据,给出修改提示msg=MsgBox您确实要修改这条数据吗vbYesNoIfmsg=vbYesThenCallsetData设置数据字段的值ElseExitSubEndIfElseIfflag=AddThen如果是添加新数据rs.AddNewCallsetData设置数据字段的值EndIfrs.Update更新数据设置控件的可用性CmdModify.Enabled=True:CmdDelete.Enabled=True:CmdAdd.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseIfflag=AddThenMsgBox成功添加数据!ElseMsgBox成功更新数据!EndIfCallLoadData重新装载数据Ifrs.RecordCount0Then定位到添加或修改记录rs.MoveFirstrs.FindbuildingID=Trim___BuildingId.TextIfNotrs.EOFThenCallShowData重新显示数据EndIfExitSubErrMsg:报告出错信息MsgBoxErr.DescriptionvbExcla__tion出错EndSub调用CheckData函数,返回Ture时表示数据合法,返回False时表示数据非法,其代码如下所示PrivateFunctionCheckDataAsBoolean检查数据的合法性DimrstAsADODB.RecordsetDimmsgtAsStringmsgt=检查数据IfTrim___BuildingId.Text=Then检查楼房号是否为空msgt=楼房号为空;ElseIfLen___BuildingId.Text4Then检查楼房号是否为4位msgt=msgt楼房号不是4位;ElseIfTrim___Name.Text=Then检查楼名是否为空msgt=msgt楼名为空;EndIfIfNotmsgt=Then如果提示信息不为空,给出错误提示MsgBoxmsgtCheckData=False返回FalseExitFunctionEndIfIfflag=AddThen添加数据时,检查数据唯一性SQLStr=SELECT*FROM楼房信息表WHEREbuildingID=Trim___BuildingId.TextSetrst=SelectSQLSQLStrmsgIfrst.RecordCount0Then如果已经存在该楼房信息,提示重复添加MsgBox该信息已经存在,重复添加!rst.CloseCheckData=False如果信息重复添加,返回FalseExitFunctionEndIfEndIfCheckData=True如果数据检查合法,返回TrueEndFunction调用setData过程给数据库的字段赋值,其代码如下PrivateSubsetData为字段设置数据rs.FieldsbuildingID=___BuildingId.Textrs.Fieldsbdname=___Name.Textrs.Fieldsarea=___Area.Textrs.Fieldsinvestment=___Invest.Textrs.Fieldslayers=___Floors.Textrs.FieldsroomN=___Rooms.Textrs.Fieldsbdposition=___Position.Textrs.Fieldsbdintroduction=___Notes.TextEndSub
(4)当用户单击【取消】按钮时,将触发CmdCan__l_Clik__,对当前工作执行取消操作,其代码如下PrivateSubcmdCan__l_Click取消操作CallShowData重新在控件中显示信息CallCtrEnableFalse设置控件Enable值为不可用修改、删除、添加按钮可用保存和取消按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseEndSub
6.
1.2__管理__管理的主要功能是在楼房下面建立__信息,包括__号、楼房号、位置、__大小、适用__、销售状态、简介、___、折扣率等,并对__信息进行添加、修改、删除等操作__管理界面__管理窗体主要空间的属性如表所示具体代码如下
(1)运行窗体时将触发Load__,出事化__TreeView控件,调用ShowData过程显示数据,其代码如下OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringDimIndexAsIntegerDimflagAsString判断是新增记录还是修改记录PrivateSubForm_LoadDimrstAsADODB.Recordset初始化适用__ComboBox控件CobType.AddItem居民用房CobType.AddItem商业用房CobType.ListIndex=0初始化楼房号ComboBoxSQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElseDoWhileNotrst.EOFCobBuildingId.AddItemrst.FieldsbuildingIDrst.Fieldsbdnamerst.MoveNext指向下一条记录LoopCobBuildingId.ListIndex=0默认ComboBoxrst.CloseEndIf初始化销售状态ComboBox控件CobSale.AddItem未销售CobSale.AddItem已销售CobSale.ListIndex=0CallLoadData装载数据CallShowData在控件中显示数据EndSub调用LoadData过程,装载数据,其代码如下PrivateSubLoadData装载数据查询__信息SQLStr=SELECT*FROM__信息表ORDERBYroomIDSetrs=SelectSQLSQLStrmsgIfrs.RecordCount=0Then如果不存在记录编辑控件可用性CmdAdd.Enabled=True:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=False:CmdS__e.Enabled=FalseElse编辑控件可用性CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdCan__l.Enabled=False:CmdS__e.Enabled=FalseEndIfCallTree构造树CallCtrEnableFalse设置控件Enable值EndSub调用Tree过程,构造树,其代码如下PrivateSubTree构造树操作DimrstAsADODB.RecordsetDimmsAsADODB.RecordsetDimnod1AsNode定义Node对象Dimnod2AsNode定义Node对象DimF_keyAsString保存父节点的关键字DimF_textAsString保存父节点的文本DimC_keyAsString保存子节点的关键字DimC_textAsString保存子节点的文本Setrst=NothingSetms=NothingSQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElserst.MoveFirstDoUntilrst.EOF添加父节点(楼房节点)F_key=Trimrst.FieldsbuildingIDrst.FieldsbdnameF_text=Trimrst.Fieldsbdname查询相应楼房所包含的__SQLStr=SELECT*FROM__信息表whereSQLStr=SQLStrbuildingID=LeftF_key4ORDERBYbuildingIDroomIDSetms=SelectSQLSQLStrmsgIfms.RecordCount0Then如果该楼房包含__ms.MoveFirstDoUntilms.EOF添加子节点(__节点)C_key=Trimms.FieldsbuildingIDms.FieldsroomIDC_text=Trimms.FieldsroomIDms.MoveNextLoopEndIfrst.MoveNextLoopEndIfEndSub调用CtrEnable过程设置空间的可用属性,其代码如下PrivateSubCtrEnableflagAsBoolean设置控件的Enable值___RoomId.Enabled=flagCobBuildingId.Enabled=flag___Area.Enabled=flagCobType.Enabled=flagCobSale.Enabled=flag___Sit.Enabled=flag___Notes.Enabled=flagEndSub调用ShowData过程设置空间的可用性,其代码如下PrivateSubShowData在控件中显示数据DimIndexAsIntegerIfrs.RecordCount0Then如果存在记录___RoomId.Text=rs.FieldsroomID楼房ComboBox控件ForIndex=0ToCobBuildingId.ListCount-1IfLeftTrimCobBuildingId.listIndex4=rs.FieldsbuildingIDThenCobBuildingId.ListIndex=IndexExitForEndIfNextIndex___Area.Text=rs.FieldsrmsizeCobType.Text=Trimrs.FieldstypeCobSale.Text=Trimrs.Fieldsstatus___Sit.Text=rs.Fieldsrmposition___Notes.Text=rs.FieldsrmintroductionEndIfEndSub
(2)当用户单击树形结构中得__时,将触发TreeView1_NodeClick__,得到当前的关键字,其代码如下所示PrivateSubCmdAdd_Click添加操作CallCtrClear所有控件重置CallCtrEnableTrue设置控件Enable值为可用flag=Add设置标志flag,表示所进行的操作为添加添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled=False:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=True:CmdS__e.Enabled=TrueEndSub
(3)当用户单击【保存】按钮时,将触发CmdS__e_Click__在保存数据之前,要对数据进行合法性检查,需要调用CheckData函数,返回true时表示数据合法,返回False时表示数据非法,同时需要调用setData过程来设置数据,其代码如下PrivateSubCmdS__e_Click保存操作OnErrorGoToErrMsg错误处理IfNotCheckDataThenExitSub如果数据不合法就退出Ifflag=ModifyThen如果是修改数据msg=MsgBox您确实要修改这条数据吗vbYesNoIfmsg=vbYesThenCallsetData设置数据ElseExitSubEndIfElseIfflag=AddThen如果是添加新数据rs.AddNewCallsetData设置数据EndIfrs.Update更新数据设置控件的可用性CmdModify.Enabled=True:CmdDelete.Enabled=True:CmdAdd.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseIfflag=AddThenMsgBox成功添加数据!ElseMsgBox成功更新数据!EndIfCallLoadData重新装载数据ExitSubErrMsg:报告出错信息MsgBoxErr.DescriptionvbExcla__tion出错EndSub调用CheckData函数,返回True时表示数据合法,返回False时表示数据非法,其代码如下PrivateFunctionCheckDataAsBoolean检查数据的合法性DimrstAsADODB.RecordsetDimmsgtAsStringmsgt=检查数据IfTrim___RoomId.Text=Then检查__号是否为空msgt=__号为空;MsgBoxmsgtCheckData=False__号为空,返回FalseExitFunctionEndIfCheckData=True数据合法,返回TrueEndFunction调用setData过程,给数据库的字段赋值,其代码如下PrivateSubsetData为字段设置数据rs.FieldsroomID=___RoomId.Textrs.FieldsbuildingID=LeftCobBuildingId.Text4rs.Fieldsrmsize=___Area.Textrs.Fieldstype=CobType.Textrs.Fieldsstatus=CobSale.Textrs.Fieldsrmposition=___Sit.Textrs.Fieldsrmintroduction=___Notes.TextEndSub6.
1.3信息查询信息查询主要负责楼房信息和__信息的查询功能,提供模式匹配和多条件查询功能,用户登录系统后,单击【__管理】【信息查询】命令,弹出【信息查询】界面,如图所示用户可以根据多条查询__信息信息查询的主要空间的属性如下具体代码如下
(1)运行窗体时将触发Load__,初始化使用__ComboBox控件、楼房号Combobox、销售状态ComboBox控件,其代码如下OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringPrivateSubForm_Load初始化适用__ComboBox控件CobType.AddItem居民用房CobType.AddItem商业用房CobType.ListIndex=0初始化楼房号ComboBoxCobBuildingId.AddItem所有SQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrs=SelectSQLSQLStrmsgIfrs.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElseDoWhileNotrs.EOFCobBuildingId.AddItemrs.FieldsbuildingIDrs.Fieldsbdnamers.MoveNext指向下一条记录LoopCobBuildingId.ListIndex=0默认ComboBoxrs.CloseEndIf初始化销售状态ComboBox控件CobSale.AddItem未销售CobSale.AddItem已销售CobSale.ListIndex=0EndSub
(2)当用户单击【楼房信息】按钮时,将触发CmdQuery_Click__,其代码如下所示PrivateSubCmdQuery_Click查询__信息构造SQL语句SQLStr=select*from__信息表where1=1IfChkBuildingId.Value=1ThenIfTrimCobBuildingId.Text所有ThenSQLStr=SQLStrandbuildingID=LeftTrimCobBuildingId.Text4EndIfEndIfIfChkType.Value=1ThenSQLStr=SQLStrandtype=TrimCobType.TextEndIfIfChkRoo__rea.Value=1ThenSQLStr=SQLStrandrmsizebetween___Roo__rea1and___Roo__rea2EndIfIfChkSale.Value=1ThenSQLStr=SQLStrandstatus=TrimCobSale.TextEndIfSetrs=SelectSQLSQLStrmsgSetDataGrid
1.DataSour__=rsDataGrid
1.RefreshEndSub
6.1销售信息管理销售信息管理模块主要实现客户信息、房屋定价,房屋销售和统计分析等功能______客户信息的添加、修改、删除等功能;房屋定价提供对__的___、销售价、折扣率统一设定功能;房屋销售提供对房屋销售信息记录的功能;统计分析实现对销售情况的各种分析和统计客户信息用户登录系统后,单击【销售管理】【客户信息】命令后,弹出【客户信息】界面,如下图,用户可以添加、修改、删除客户信息单击【添加】按钮,添加操作信息单击【保存】按钮,保存操作信息;单击【取消】按钮,取消操作信息客户信息界面【客户信息】窗体主要空间的属性如下表具体代码如下所示
(1)运行窗体时将触发Load__,调用LoadData过程初始化楼房ListView调用ShowData过程数据显示数据,其代码如下OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringDimflagAsString判断是新增记录还是修改记录PrivateSubForm_Load初始化性别、婚否ComboBox控件Cob___.AddItem男Cob___.AddItem女Cob___.ListIndex=0Cob__rriage.AddItem已婚Cob__rriage.AddItem未婚Cob__rriage.ListIndex=0CallLoadData装载数据CallShowData显示数据EndSub调用LoadData过程数据,其代码如下所示PrivateSubLoadData装载数据DimlistAsListItemDimkeyAsStringSetrs=NothingSQLStr=SELECT*FROM客户信息表ORDERBYcustomerIDSetrs=SelectSQLSQLStrmsg查询客户信息Ifrs.RecordCount=0Then如果不存在客户信息,添加按钮可用,其他按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=False:CmdDelete.Enabled=FalseCmdCan__l.Enabled=False:CmdS__e.Enabled=FalseElse如果存在客户信息,添加到ListView控件rs.MoveFirstDoUntilrs.EOFkey=rs.FieldscustomerIDrs.Fieldsnamers.MoveNextLoop编辑控件可用性CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdCan__l.Enabled=False:CmdS__e.Enabled=Falsers.MoveFirst返回到第一条记录EndIf设置控件Enable值CallCtrEnableFalseEndSub调用CtrEnbale过程设置空间的可用性,其代码如下PrivateSubCtrEnableflagAsBoolean设置控件的Enable值___CustomerId.Enabled=flag___Name.Enabled=flagCob___.Enabled=flagDTPicker
1.Enabled=flagCob__rriage.Enabled=flag___Num.Enabled=flag___Job.Enabled=flag___CardId.Enabled=flag___Income.Enabled=flag___PhoneNo.Enabled=flag___Address.Enabled=flag___Notes.Enabled=flagEndSub
(2)当用户单击ListView空间中得楼房图标时,并触发ListView_Click__,其代码如下所示PrivateSubShowData在控件中显示数据Ifrs.RecordCount0Then如果存在记录为控件赋值___CustomerId.Text=rs.FieldscustomerID___Name.Text=rs.FieldsnameCob___.Text=rs.Fields___DTPicker
1.Value=rs.FieldsbirthCob__rriage.Text=rs.Fields__rital___Num.Text=rs.Fieldsmembers___Job.Text=rs.Fieldsjobs___CardId.Text=rs.Fieldsidentification___Income.Text=rs.Fieldsincome___PhoneNo.Text=rs.Fieldstelephone___Address.Text=rs.Fieldsaddress___Notes.Text=rs.Fieldsre__rkscEndIfEndSub
(3)当用户当即【保存】按钮时,将触发CmdS__e_Click__在保存数据之前,要对数据进行合法性检查,需要调用CheckData函数姜茶数据合法性,同时需要调用setData过程来设置数据,其代码如下PrivateSubCmdS__e_Click保存操作OnErrorGoToErrMsg错误处理IfNotCheckDataThenExitSub如果数据不合法就退出操作Ifflag=ModifyThen如果是修改数据,给出修改提示msg=MsgBox您确实要修改这条数据吗vbYesNoIfmsg=vbYesThenCallsetData设置数据字段的值ElseExitSubEndIfElseIfflag=AddThen如果是添加新数据rs.AddNewCallsetData设置数据字段的值EndIfrs.Update更新数据设置控件的可用性CmdModify.Enabled=True:CmdDelete.Enabled=True:CmdAdd.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseIfflag=AddThenMsgBox成功添加数据!ElseMsgBox成功更新数据!EndIfCallLoadData重新装载数据Ifrs.RecordCount0Then定位到添加或修改记录rs.MoveFirstrs.FindcustomerID=Trim___CustomerId.TextIfNotrs.EOFThenCallShowData重新显示数据EndIfExitSubErrMsg:报告出错信息MsgBoxErr.DescriptionvbExcla__tion出错EndSub调用CheckData函数,返回True时表示数据合法,返回False时表示数据非法,其代码如下所示PrivateFunctionCheckDataAsBoolean检查数据的合法性DimrstAsADODB.RecordsetDimmsgtAsStringmsgt=检查数据IfTrim___CustomerId.Text=Then检查客户编号是否为空msgt=客户编号为空;ElseIfLen___CustomerId.Text4Then检查客户编号是否为4位msgt=msgt客户编号不是4位;ElseIfTrim___Name.Text=Then检查姓名是否为空msgt=msgt姓名为空;EndIfIfNotmsgt=Then如果提示信息不为空,给出错误提示MsgBoxmsgtCheckData=False返回FalseExitFunctionEndIfIfflag=AddThen添加数据时,检查数据唯一性SQLStr=SELECT*FROM客户信息表WHEREcustomerID=Trim___CustomerId.TextSetrst=SelectSQLSQLStrmsgIfrst.RecordCount0Then如果已经存在该客户信息,提示重复添加MsgBox该信息已经存在,重复添加!rst.CloseCheckData=False如果信息重复添加,返回FalseExitFunctionEndIfEndIfCheckData=True如果数据检查合法,返回TrueEndFunction调用setData过程,给数据库的字段赋值,其代码如下所示PrivateSubsetData为字段设置数据rs.FieldscustomerID=___CustomerId.Textrs.Fieldsname=___Name.Textrs.Fields___=Cob___.Textrs.Fieldsbirth=DTPicker
1.Valuers.Fields__rital=Cob__rriage.Textrs.Fieldsmembers=___Num.Textrs.Fieldsjobs=___Job.Textrs.Fieldsidentification=___CardId.Textrs.Fieldsincome=___Income.Textrs.Fieldstelephone=___PhoneNo.Textrs.Fieldsaddress=___Address.Textrs.Fieldsre__rksc=___Notes.TextEndSub
(4)当用户单击【取消】按钮时,将触发CmdCan__l_Click()__,对当前工作进行取消操作,其代码如下PrivateSubcmdCan__l_Click取消操作CallShowData重新在控件中显示信息CallCtrEnableFalse设置控件Enable值为不可用修改、删除、添加按钮可用保存和取消按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseEndSub
(5)当用户单击【修改】按钮时,将触发CmdDelete_Click__,删除当前数据,其代码如下rivateSubCmdDelete_Click删除操作OnErrorGoToErrMsg错误处理Ifrs.RecordCount0Thenmsg=MsgBox删除该条记录吗vbYesNoIfmsg=vbYesThenrs.Delete删除数据CallCtrClear清空控件CallLoadData重新装载数据CallShowData显示数据CallCtrEnableFalse设置控件Enable值为不可用添加、修改、删除按钮可用,取消、保存按钮不可用CmdAdd.Enabled=True:CmdModify.Enabled=True:CmdDelete.Enabled=TrueCmdS__e.Enabled=False:CmdCan__l.Enabled=FalseMsgBox成功删除的数据!EndIfElseMsgBox没有可删除的数据!EndIfExitSubErrMsg:报告出错信息MsgBoxErr.DescriptionvbExcla__tion出错EndSub当用户单击【添加】按钮时,将触发CmdAdd_Click__,对当前工作执行添加操作,其代码如下EndSubPrivateSubCmdAdd_Click添加操作CallCtrClear所有控件重置CallCtrEnableTrue设置控件Enable值为可用flag=Add设置标志flag,表示所进行的操作为添加添加、修改、删除按钮不可用,取消、保存按钮可用CmdAdd.Enabled=False:CmdModify.Enabled=FalseCmdDelete.Enabled=FalseCmdCan__l.Enabled=True:CmdS__e.Enabled=TrueEndSub
6.2.1房屋定价房屋定价对__进行统一定价,从而方便销售,设计的信息包括___、销售价、折扣率___是指对房屋的___格;销售价是指房屋待销售的__;折扣率是指__销售时的折扣率这里设定,只能对销售状态为【未销售】的房屋进行定价用户登录系统后,单击【销售管理】【房屋定价】命令,弹出【房屋定价】界面,如下图所示,用户可以设定房屋的___、销售价、折扣率当即【保存】按钮,保存设置结果;单击【取消】按钮,取消操作【房屋定价】窗体主要控制的属性如下具体代码如下OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringDimIndexAsIntegerDimflagAsString判断是新增记录还是修改记录PrivateSubForm_LoadDimrstAsADODB.Recordset初始化适用__ComboBox控件CobType.AddItem居民用房CobType.AddItem商业用房初始化楼房号ComboBoxSQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElseDoWhileNotrst.EOFCobBuildingId.AddItemrst.FieldsbuildingIDrst.Fieldsbdnamerst.MoveNext指向下一条记录LoopCobBuildingId.ListIndex=0默认ComboBoxrst.CloseEndIf初始化销售状态ComboBox控件CobSale.AddItem未销售CobSale.AddItem已销售CallLoadData装载数据CallShowData在控件中显示数据EndSubPrivateSubLoadData装载数据查询__信息SQLStr=SELECT*FROM__信息表ORDERBYroomIDSetrs=SelectSQLSQLStrmsgIfrs.RecordCount=0Then如果不存在记录取消、保存按钮不可用CmdCan__l.Enabled=False:CmdS__e.Enabled=FalseElse取消按钮不可用,保存按钮可用CmdCan__l.Enabled=False:CmdS__e.Enabled=TrueEndIfCallTree构造树EndSubPrivateSubTree构造树操作DimrstAsADODB.RecordsetDimmsAsADODB.RecordsetDimnod1AsNode定义Node对象Dimnod2AsNode定义Node对象DimF_keyAsString保存父节点的关键字DimF_textAsString保存父节点的文本DimC_keyAsString保存子节点的关键字DimC_textAsString保存子节点的文本Setrst=NothingSetms=NothingSQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElserst.MoveFirstDoUntilrst.EOF添加父节点(楼房节点)F_key=Trimrst.FieldsbuildingIDrst.FieldsbdnameF_text=Trimrst.Fieldsbdname查询相应楼房所包含的__SQLStr=SELECT*FROM__信息表whereSQLStr=SQLStrbuildingID=LeftF_key4ORDERBYbuildingIDroomIDSetms=SelectSQLSQLStrmsgIfms.RecordCount0Then如果该楼房包含__ms.MoveFirstDoUntilms.EOF添加子节点(__节点)C_key=Trimms.FieldsbuildingIDms.FieldsroomIDC_text=Trimms.FieldsroomIDms.MoveNextLoopEndIfrst.MoveNextLoopEndIfEndSubPrivateSubShowData在控件中显示数据DimIndexAsIntegerIfrs.RecordCount0Then如果存在记录,给各控件赋值___RoomId.Text=rs.FieldsroomID楼房ComboBox控件ForIndex=0ToCobBuildingId.ListCount-1IfLeftTrimCobBuildingId.listIndex4=rs.FieldsbuildingIDThenCobBuildingId.ListIndex=IndexExitForEndIf房屋销售房屋销售主要是在房屋销售后,保存销售记录销售记录包括销售ID、__号、楼房号、客户编号、___、销售价、折扣率、利润率、付款方式、交易日期、备注等用户登录系统后,单击【__管理】【房屋销售】命令,弹出【房屋销售】界面,如下图所示,房屋销售后,当即【销售】按钮,保存销售信息,单击【取消】按钮,取消操作房屋销售窗体主要空间的属性如下表运行窗体时触发Load__,其代码如下ptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringDimRoomIdAsStringDimBuildingIdAsStringPrivateSubForm_LoadDimrstAsADODB.Recordset初始化适用__ComboBox控件CobType.AddItem居民用房CobType.AddItem商业用房初始化销售状态ComboBox控件CobSale.AddItem未销售CobSale.AddItem已销售初始化付款方式ComboBox控件CobMethod.AddItem一次性付款CobMethod.AddItem分期付款CobMethod.ListIndex=0初始化客户编号ComboBoxSQLStr=SELECTcustomerIDFROM客户信息表ORDERBYcustomerIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有客户信息MsgBox没有客户信息,请先建立客户信息!ExitSubElseDoWhileNotrst.EOFCobCustomerID.AddItemrst.FieldscustomerIDrst.MoveNext指向下一条记录LoopCobCustomerID.ListIndex=0默认ComboBoxrst.CloseEndIfCmdSale.Enabled=False销售按钮不可用CallLoadData装载数据EndSubPrivateSubLoadData装载数据查询__信息SQLStr=SELECT*FROM__信息表ORDERBYroomIDSetrs=SelectSQLSQLStrmsgIfrs.RecordCount=0Then如果不存在记录取消、销售按钮不可用CmdCan__l.Enabled=False:CmdSale.Enabled=FalseElse取消按钮不可用,销售按钮可用CmdCan__l.Enabled=False:CmdSale.Enabled=TrueEndIfCallTree构造树EndSubPrivateSubTree构造树操作Dimnod1AsNode定义Node对象Dimnod2AsNode定义Node对象DimF_keyAsString保存父节点的关键字DimF_textAsString保存父节点的文本DimC_keyAsString保存子节点的关键字DimC_textAsString保存子节点的文本DimrstAsADODB.RecordsetDimmsAsADODB.RecordsetSetrst=NothingSetms=NothingSQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrst=SelectSQLSQLStrmsgIfrst.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElserst.MoveFirstDoUntilrst.EOF添加父节点(楼房节点)F_key=Trimrst.FieldsbuildingIDrst.FieldsbdnameF_text=Trimrst.Fieldsbdname查询相应楼房所包含的__SQLStr=SELECT*FROM__信息表whereSQLStr=SQLStrbuildingID=LeftF_key4ORDERBYbuildingIDroomIDSetms=SelectSQLSQLStrmsgIfms.RecordCount0Then如果该楼房包含__ms.MoveFirstDoUntilms.EOF添加子节点(__节点)C_key=Trimms.FieldsbuildingIDms.FieldsroomIDC_text=Trimms.FieldsroomIDms.MoveNextLoopEndIfrst.MoveNextLoopEndIfEndSubPrivateSubTreeView1_NodeClickByValNodeAsMSComctlLib.Node显示__的具体信息DimkeyAsString保存当前节点的关键字查询当前节点的信息SQLStr=SELECT*FROM__信息表whereSQLStr=SQLStrbuildingID=LeftTrimkey4androomID=MidTrimkey5Setrs=SelectSQLSQLStrmsgCallShowData显示数据EndSubPrivateSubShowData在控件中显示数据DimIndexAsIntegerIfrs.RecordCount0Then如果存在记录,给各控件赋值RoomId=rs.FieldsroomIDBuildingId=rs.FieldsbuildingID___Area.Text=rs.FieldsrmsizeCobType.Text=Trimrs.Fieldstype___Sit.Text=rs.Fieldsrmposition___Notes.Text=rs.FieldsrmintroductionCobSale.Text=Trimrs.FieldsstatusIfrs.FieldscostNullThen___Cost.Text=rs.FieldscostElse___Cost.Text=0EndIfIfrs.Fieldspri__NullThen___Sales.Text=rs.Fieldspri__Else___Sales.Text=0EndIfIfrs.FieldsdiscountrateNullThen___Discount.Text=rs.FieldsdiscountrateElse___Discount.Text=0EndIf统计利润___Profit.Text=CDbl___Sales.Text*CDbl___Discount.Text-CDbl___Cost.Text得到销售记录SQLStr=SELECT*FROM销售记录表whereroomID=RoomIdandbuildingID=BuildingIdSetrs=SelectSQLSQLStrmsgIfrs.RecordCount0ThenCmdSale.Enabled=False如果已经存在销售记录,不能进行销售CobMethod.Text=Trimrs.Fieldspayment___Notes
2.Text=rs.Fieldsre__rkssaleCobCustomerID.Text=rs.FieldscustomerIDDTPicker
1.Value=rs.FieldsdatetransactionElseCmdSale.Enabled=True如果不存在销售记录,可以进行销售CobMethod.Text=___Notes
2.Text=CobCustomerID.ListIndex=0DTPicker
1.RefreshEndIfEndIfEndSub统计分析统计分析根据销售记录,分析销售情况,给出相应的分析结果分析数据主要包括楼房号、利润、付款方式用户登录系统后,单击【销售管理】【统计分析】命令,弹出【统计分析】界面,如下图所示在该界面中,用户可以根据多个数据进行分析统计分析窗体主要控件的属性表如下具体代码如下所示
(1)运行窗体触发Load__,初始化楼房号ComboBox控件、付款方式ComboBox控件,其代码如下所示OptionExplicitDimrsAsADODB.RecordsetDimSQLStrAsStringDimmsgAsStringPrivateSubForm_Load初始化付款方式ComboBox控件CobMethod.AddItem一次性付款CobMethod.AddItem分期付款CobMethod.ListIndex=0初始化楼房号ComboBoxCobBuildingId.AddItem所有SQLStr=SELECTbuildingIDbdnameFROM楼房信息表ORDERBYbuildingIDSetrs=SelectSQLSQLStrmsgIfrs.RecordCount=0Then如果没有楼房信息MsgBox没有楼房信息,请先建立楼房信息!ExitSubElseDoWhileNotrs.EOFCobBuildingId.AddItemrs.FieldsbuildingIDrs.Fieldsbdnamers.MoveNext指向下一条记录LoopCobBuildingId.ListIndex=0默认ComboBoxrs.CloseEndIfEndSub
(2)单击【销售分析】按钮时,将触发CmdQuery_Click__,分析销售信息,其代码如下PrivateSubCmdQuery_Click分析销售信息构造SQL语句SQLStr=select*from销售记录表where1=1IfChkBuildingId.Value=1Then如果通过楼房号来进行分析IfTrimCobBuildingId.Text所有ThenSQLStr=SQLStrandbuildingID=LeftTrimCobBuildingId.Text4EndIfEndIfIfChkMethod.Value=1Then如果通过付款方式来进行分析SQLStr=SQLStrandpayment=TrimCobMethod.TextEndIfIfChkProfit.Value=1Then如果通过利润来进行分析SQLStr=SQLStrandprofitbetween___Roo__rea1and___Roo__rea2EndIfSetrs=SelectSQLSQLStrmsgSetDataGrid
1.DataSour__=rsDataGrid
1.RefreshEndSub
7、小结至此,乙个简单的__销售系统已经创建完成,在楼旁销售管理系统中,首先进行需求分析,划分房屋信息和销售信息功能模块,然后惊醒数据库分析设计,创建数据库、数据表、关联表,最后通过VisualBasic
6.0进行应用程序__在应用程序__过程中,使用了ListView控件和TreeView控件,使__人员能够设计出更加丰富的界面____
[1]李华飚毕宗睿李水根.visualbasic数据库编程—从犯例入门到项目__[M]北京人民邮电出版社
2004.7第一版90—94
[2]陈艳峰,高文姬,邵蕴秋.visualbasic数据库项目案例导航[M],北京清华大学出版社
2004.8,第一版,278-316
[3]薛晓萍.visualbasic程序设计[M],保定河北大学出版社,
2002.12第1版97—132
[4]李代平章文著.中文SQLServer2000数据库应用基础[M],北京冶金工业出版社,2002,104--146
[5]周绪等著.SQLServer2000入学与提高[M],北京清华大学出版社,2002,67--__
[6]朱群雄汪晓男译.系统分析与设计[M],机械工业出版社200256—73
[7]萨师煊王珊.数据库系统概论[M],北京高等教育出版社,
2004.1第13次印刷,203—242
[8]黄敬人著.系统分析[M],北京清华大学出版社2002,56—214
[9]左美云孔武.信息系统的__与管理教程[M],北京清华大学出版社,
2004.2,第5次印刷,135—158
[10]杨伟文龚艳萍罗剑宏.现代市场营销学[M],长沙湖南人民出版社,
2001.8__—140
[11]黄友松,__体验经济时代的消费趋势[J].__与市场,2003
(8)24-25
[12]张艳华卫明.“体验经济”与历史街区建筑再利用[J],城市规划汇刊,20033:72-80
[13]陈仁科.被体验房__击中[J],房__导刊,2003
(10)46-53
[14]黄友松.中国房__企划案例经典[M],内蒙古内蒙古大学出版社
[15]刘超,学生档案管理系统,硕士学位论文,河北经贸大学,2004
[16]__,人事管理系统设计,硕士学位论文,河北经贸大学,2004__销售管理系统房屋信息管理销售信息管理房屋信息管理楼房管理__管理信息查询销售信息管理客户信息房屋定价房屋销售统计分析。