【毕业设计论文】基于Visual FoxPro的物业管理系统的设计与实现(附数据库结构)

上传人:仙*** 文档编号:27982474 上传时间:2021-08-22 格式:DOC 页数:33 大小:843.52KB
返回 下载 相关 举报
【毕业设计论文】基于Visual FoxPro的物业管理系统的设计与实现(附数据库结构)_第1页
第1页 / 共33页
【毕业设计论文】基于Visual FoxPro的物业管理系统的设计与实现(附数据库结构)_第2页
第2页 / 共33页
【毕业设计论文】基于Visual FoxPro的物业管理系统的设计与实现(附数据库结构)_第3页
第3页 / 共33页
点击查看更多>>
资源描述
更多计算机类毕业设计论文、课程设计下载请访问:物业管理系统学 院专 业班 级学 号姓 名指导教师教师职称年月日摘要【摘要】经过十几年的发展,中国房地产业逐步走向成熟,物业管理也由新生到发展再到深入,面临着蓬勃发展的局面。随着ISO9002等管理体系在物业管理中的引入,对原有的物业管理模式进行了一次深刻的变革,对物业管理公司朝着正规化、科学化、集团化的发展,起到有力的推动作用。随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,小区物业管理是针对当代社会这一市场需要应运而生的。本系统是为住宅小区物业管理部门日常管理工作信息化,规范化而开发的软件。它以物业管理部门为服务中心,以业主(住户)为服务对象。通过实施各种服务项目,全面地反映了在小区物业经营管理活动中,物业部门与业主之间各种业务往来。使各项业务的办理迅速、准确,极大的提高了小区物业管理的工作效率。【关键词】物业管理系统目录摘要2目录30 引言11 需求分析12 总体设计12.1 项目规划12.2 系统功能结构23 系统设计33.1 开发及运行环境33.2 数据库设计34 主要功能模块设计34.1 程序主界面的设计34.2 系统登录界面设计74.3 小区信息生成设计104.4 业主信息登记设计124.5 小区资源统计设计174.6 权限设置设计21附录A 参考文献25附录B 数据表26附录C 文件架构28 3 更多计算机类毕业设计论文、课程设计下载请访问:0 引言由于物业管理涉及的管理范围较为广泛,管理内容繁杂,加上政策性的变动因素,日常工作需要耗费大量人力和物力,而采取现代化电脑管理手段是一种行之有效的解决方法,用计算机操作的小区物业管理系统是为小区管理者和小区用户更好的维护各项物业管理业务处理工作而开发的管理软件。电脑化管理在物业管理中的作用主要体现在: 适用面广、可同时管理多个管理区和多栋大楼; 计算机完整的工程档案与服务档案可以使管理人员随时了解最新的情况,更可以规范维护、服务标准,帮助管理人员合理安排工作时间。 计算机管理收费,灵活性、准确性大大提高。 强大的查询功能,最大限度地满足您的需要。1 需求分析根据该物业的具体情况,系统主要的功能包括:l 经营部:“小区信息生成”、“大楼信息生成”、“房屋信息生成”、“小区信息登记”、“大楼信息登记”、“房屋信息登记”、“系统数据设定”。l 管理部:“业主信息登记”、“人口信息查询”、“小区投诉登记”、“小区投诉查询”、“小区员工管理”、“系统数据设定”。l 工程部:“装修队登记”、“维修信息登记”、“维修信息查询”、“装修信息登记”、“装修信息查询”。l 财务部:“收费登记管理”、“水费查询管理”、“电费查询管理”、“煤气费查询管理”、“采暖费查询管理”、“其它费用查询管理”。l 保安部:“保安排班管理”、“保安排班查询”。l 经理部:“小区资源统计”、“业主信息查询”、“人口信息查询”、“小区投诉查询”、“小区员工查询”、“装修信息查询”、“维修信息查询”、“保安排班查询”。l 系统管理:“操作员管理”、“权限设置”、“背景设置”。2 总体设计2.1 项目规划物业管理系统是一个典型的数据库管理系统,系统由基本信息设置、货物托运管理、信息查询、报表管理、系统管理等模块组成,规划系统功能模块如下:q 经营部经营部:大区信息生成、大楼信息生成、房屋信息生成、小区信息登记、大楼信息登记、房屋信息登记、系统数据设定、退出。q 管理部管理部:业主信息登记、人口信息查询、小区投诉登记、小区投诉查询、小区员工管理、系统数据设定。q 财务部财务部:收费登记管理、水费查询管理、电费查询管理、煤气费查询管理、采暧费查询管理、其它费用查询管理。q 保安部保安排班管理、保安排班查询。q 经理室小区资源统计、业主信息查询、人口信息查询、小区投诉查询、小区员工查询、维修信息查询、装修信息查询、保安排班查询。q 系统管理系统管理:操作员管理、权限设置、背景设置。q 帮助帮助:帮助、关于本软件。2.2 系统功能结构本系统共分7大部分、37个完整的功能模块。系统结构图如图1所示。图1 物业管理系统结构图3 本系统将信息技术与传统物业管理相结合,轻松解决物业管理公司发展中遇到的诸多问题,力推物业管理公司健康、快速地发展。本系统在设计的时候应该满足以下几个目标:q 系统最大限度地实现了易安装性、易维护性和易操作性。q 系统运行稳定、安全可靠。q 软件结构清晰,功能一目了然。q 方便、快捷的全方位查询。q 操作员可以随时修改自己的口令。q 不同的操作员具有不同的操作权限。q 数据保密性强,为每个用户设置权限级别。3 系统设计3.1 开发及运行环境系统开发平台:Microsoft Visual FoxPro 6.0。运行平台:Windows XP/ Windows 2000/ Windows 2003分辨率:最佳效果1024768像素3.2 数据库设计1数据库概要说明本系统采用的是Visual FoxPro自带的数据库,系统数据库名为DataBase。限于篇幅所限,下面只给出重要数据表的表结构。数据库“Wuyemanage”中包含26个表:部门信息表Tabbminfo、采暖费表Tabcnmoney、电费表Tabdianmoney、大楼信息表Tabdlinfo、房间结构表Tabfjstructure、朝向表Tabfrontage、房屋信息表Tabfwinfo、房屋统计表Tabfwtj、工种信息表Tabgzinfo、科目设定表Tabkmsd、煤气费表Tabmqmoney、其它费用表Tabothermoney、排班表Tabpb、权限表Tabpurview、权属类型表Tabqstype、人口信息表Tabrkinfo、人口统计表Tabrktj、水费表Tabsmoney、投诉信息表Tabtsinfo、投拆统计表Tabtstj、维修信息表Tabwxinfo、小区信息表Tabxqinfo、员工信息表Tabyginfo、业主信息表Tabyzinfo、装修队信息表Tabzxgroup、装修信息表Tabzxinfo。2主要数据表的结构数据库中的数据表请参见附录B。4 主要功能模块设计4.1 程序主界面的设计程序启动后,在系统登录界面验证操作员密码后,将进入程序主界面的设计。通过程序主界面可以执行相应权限的操作,并且可以通过选择主界面菜单或按钮,调用相应程序,进行相应操作。程序主界面的运行结果如图2所示。图2 程序主界面的运行结果1表单设计(1)新建一个项目,名称为物业管理系统,在该项目中添加一个新表单,命名为Fdesktop。(2)在表单中插入名称为Vcxmain的ToolBar类、Image控件、listview控件、imagelist控件、Timer控件。(3)重要控件的重要属性如表2所示。表2 重要属性及值对象属性值VcxmainLockScreenFalseVcxmainMovableFalseVcxmainSizeableFalseTimerInterVal102类代码设计在类的Init事件中添加以下代码:public bz &定义全局变量bz=.f.this.listview1.view=2 &设置视图显示方式this.listview1.Icons=this.imagelist1.objectthis.listview1.smallicons=this.imagelist1.object&添加列表项=this.listview1.listitems.add(,小区信息生成,1)=this.listview1.listitems.add(,大楼信息生成 ,1)=this.listview1.listitems.add(,房屋信息生成,1)=this.listview1.listitems.add(,小区信息登记,1)=this.listview1.listitems.add(,大楼信息登记,1)=this.listview1.listitems.add(,房屋信息登记,1)=this.listview1.listitems.add(,系统数据设定,1)单击快捷工具条上的“经营部”按钮,将在左侧的List列表中显示经营部各功能选项。各功能选项由图标和标识性文字组成。具体代码如下:在“经营部”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clear &清除数据this.parent.listview1.view=2 &设置视图显示方式*将ImageList控件图片赋予Listview控件this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,小区信息生成,1)=this.parent.listview1.listitems.add(,大楼信息生成,1)=this.parent.listview1.listitems.add(,房屋信息生成,1)=this.parent.listview1.listitems.add(,小区信息登记,1)=this.parent.listview1.listitems.add(,大楼信息登记,1)=this.parent.listview1.listitems.add(,房屋信息登记,1)=this.parent.listview1.listitems.add(,系统数据设定,1)在“管理部”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,业主信息登记,2)=this.parent.listview1.listitems.add(,人口信息查询,2)=this.parent.listview1.listitems.add(,小区投诉登记,2)=this.parent.listview1.listitems.add(,小区投诉查询,2)=this.parent.listview1.listitems.add(,小区员工管理,2)=this.parent.listview1.listitems.add(,系统数据设定,2)pjyb=.t.在“工程部”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,装修队登记,3)=this.parent.listview1.listitems.add(,维修信息登记,3)=this.parent.listview1.listitems.add(,维修信息查询,3)=this.parent.listview1.listitems.add(,装修信息登记,3)=this.parent.listview1.listitems.add(,装修信息查询,3)pjyb=.t.在“财务部”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,收费登记管理,4)=this.parent.listview1.listitems.add(,水费查询管理,4)=this.parent.listview1.listitems.add(,电费查询管理,4)=this.parent.listview1.listitems.add(,煤气费查询管理,4)=this.parent.listview1.listitems.add(,采暖费查询管理,4)=this.parent.listview1.listitems.add(,其它费用查询管理 ,4)pjyb=.t.在“保安部”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,保安排班管理,5)=this.parent.listview1.listitems.add(,保安排班查询,5)pjyb=.t.在“经理室”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,小区资源统计,6)=this.parent.listview1.listitems.add(,业主信息查询,6)=this.parent.listview1.listitems.add(,人口信息查询,6)=this.parent.listview1.listitems.add(,小区投诉查询,6)=this.parent.listview1.listitems.add(, , 小区员工查询,6)=this.parent.listview1.listitems.add(,装修信息查询,6)=this.parent.listview1.listitems.add(,维修信息查询,6)=this.parent.listview1.listitems.add(,保安排班查询,6)pjyb=.t.在“系统管理”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,操作员管理,7)=this.parent.listview1.listitems.add(,权限设置,7)pjyb=.t.在“帮助”按钮的Click事件中添加以下代码:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object=this.parent.listview1.listitems.add(,帮助,8)=this.parent.listview1.listitems.add(,关于本软件,8)pjyb=.t.在“退出”按钮的Click事件中添加以下代码:quit &退出主程序在控件image1的Click事件中添加以下代码:mdl.filter=图片|*.bmp;*.jpg &设置文件类型为.BMP或.JPGmdl.showopen &显示打开对话框this.parent.rq.image2.picture=mdl.filename &显示选定文件的名字4.2 系统登录界面设计用户进入系统前,必须通过系统登录进入程序主界面,通过系统登录界面可以对用户的身份及使用权限进行确认。系统登录表单运行结果如图3所示。图3 系统登录表单运行结果1表单设计(1)在物业管理系统的项目中,新建一个表单,命名为Admin。(2)在表单中添加ImageList控件、Image控件、ListView控件、ImageList控件、Text控件、Label控件、Commandgroup控件。(3)重要控件属性如表3所示。表3 重要控件的重要属性及值控件名属性值功能Text1PasswordChar*提供密码输入2代码设计定义全局变量cn,用来判断输入操作员或密码的次数,当cn大于3时,将自动退出系统。在List列表中显示所有的操作员姓名和代表其权限级别的图标。在表单的Init事件中添加以下代码:public cn &定义全局变量cn=0 &给全局变量赋初值thisform.listview1.view=0 &设置视图显示方式thisform.listview1.Icons=thisform.imagelist1.objectthisform.listview1.smallicons=thisform.imagelist1.objectselect tabpurview &选定Tabpurview工作区为当前工作区select *;from wuyemanage!tabpurview;where 权限级别=1;order by tabpurview.操作员姓名;into cursor sysglythisform.text2.value=sysgly.操作员姓名thisform.text1.value=key=alltrim(sysgly.操作员姓名) &赋值给变量key=thisform.listview1.listitems.add(,key,1) &添加一个列表项select tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=2;order by tabpurview.操作员姓名;into cursor gjczydo while !EOF() &测试当前记录指针是否在文件尾 key=alltrim(gjczy.操作员姓名) =thisform.listview1.listitems.add(,key,2) &添加一个列表项 skip &记录指针向下移动一条记录enddoselect tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=3;order by tabpurview.操作员姓名;into cursor ybczydo while !EOF() &测试当前记录指针是否在文件尾 key=alltrim(ybczy.操作员姓名) =thisform.listview1.listitems.add(,key,3) &添加一个列表项 skip &记录指针向下移动一条记录enddoselect tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=4;order by tabpurview.操作员姓名;into cursor zdydo while !EOF() &测试当前记录指针是否在文件尾 key=alltrim(zdy.操作员姓名) =thisform.listview1.listitems.add(,key,4) &添加一个列表项 skip &记录指针向下移动一条记录enddo程序员将反复使用的代码存到了Resize 事件中,将该事件当做一个过程来调用。 Resize在本程序中并没有什么实际意义。在表单的Resize事件中添加以下代码:purview=val(alltrim(tabpurview.权限级别) pjyb=tabpurview.经营部pglb=tabpurview.管理部pgcb=tabpurview.工程部pcwb=tabpurview.财务部pbab=tabpurview.保安部pjls=tabpurview.经理室psysgl=tabpurview.系统管理manager=alltrim(thisform.text2.value)do form formfdesktop &调入表单fdesktopthisform.release &刷新表单单击“登录”按钮,系统将判断密码是否正确。如果密码不正确,将提示重新输入,三次后仍不正确,系统将自动退出。在“登录”按钮的Click事件中添加以下代码:select tabpurviewcname=alltrim(thisform.text2.value)ppassword=alltrim(thisform.text1.value)set order to 操作员姓名 &指定控制索引文件if empty(操作员姓名) &判断操作员字段是否为空 thisform.resize &执行表单的Resize事件 store .t.to pjyb,pglb,pgcb,pcwb,pbab,pjls,psysgl &给多个内存变量赋予相同的值elseseek cname &查找输入的操作员姓名set exact on &设置字符精确比较if alltrim(tabpurview.密码)!=ppasswordcn=cn+1cmessagetitle=系统登录cmessagetext=密码错误,请重新输入!ndialogtype=4+32nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do case case nanswer=6 thisform.text1.value= thisform.text1.setfocus &文本框获得焦点 case nanswer=7 messagebox(不要乱来!,48,系统登录) thisform.release &释放表单 endcase if cn=3 thisform.release endif else thisform.resize &执行表单的Resize事件 endif endifset exact off &设置字符非精确比较在“取消”按钮的Click事件中添加以下代码:quit &退出在控件listview1的ItemClick事件中添加以下代码:manager=alltrim(thisform.listview1.selecteditem.text)thisform.text2.value=managerthisform.text1.setfocus &文本框获得焦点4.3 小区信息生成设计用户单击快捷工具栏上的“经营部”按钮,在弹出的功能列表项中选择“小区信息生成”选项,进入小区信息生成界面。通过小区信息生成模块可进行小区区域数量的生成。小区信息生成运行结果如图4所示。图4 小区信息生成表单运行结果1表单设计(1)在物业管理系统的项目中,新建一个表单,命名为为“小区信息生成”。(2)在表单中添加Label控件、Spinner控件、Commandgroup控件、Shape控件。(3)重要控件的重要属性如表4所示。表4 重要控件的重要属性及值对象属性值LabelAutoSizeTrueShapeBorderStyle1-实线(默认值)ShapeSpecialEffect0-3维2代码设计单击“开始生成”按钮,将自动生成小区基本信息保存到小区信息表“Tabxqinfo”中。小区编号区域由微调框所指定。如果数据表中有该小区编号,将不被生成。保存完毕,调入“小区信息登记”表单,进行小区详细信息的添加。具体代码如下:cstart=thisform.spinner1.valuecend=thisform.spinner2.values=alltrim(str(cstart)e=alltrim(str(cend)cpicture=sys(5)+sys(2003)+imagesemptyimage.bmpcmessagetitle=小区信息生成cmessagetext=确认生成编号为 +s+至 +e+的小区信息吗?nAnswer=messagebox(cmessagetext, 4+32,cmessagetitle)do case case nAnswer=6 i=1 for i=cstart to cend xqno=alltrim(str(i) select *; from wygldatabasewuyemanage!tabxqinfo; where 小区编号=xqno; into cursor lindep if reccount()=0 insert into tabxqinfo values(xqno,0,0,0,0,0,0,cpicture,ctod(),ctod() endif endfor messagebox(数据保存成功!,48,小区信息生成) thisform.release do form wyglform小区信息登记 &调入表单 case nAnswer=7 thisform.spinner1.setfocusendcase4.4 业主信息登记设计用户进入系统后,单击主界面“管理部”按钮,在弹出的功能选项表中选择“业主信息登记”选项,进入业主信息登记界面。通过业主信息登记界面可以实现添加、修改、删除、业主信息,可以通过查询方式浏览业主信息及用户单击相应的业主代号选项,再单击修改业主信息按钮或添加新业主按钮可直接调用业主信息界面。业主信息登记运行结果如图5所示。图5 业主信息登记表单运行结果1表单设计(1)在物业管理系统的项目中,新建一个表单,包含Form1、Form2 、Form3 、Form4的表单集,名称为“业主信息登记”。(2)在Form1表单中添加Label、Combo控件、Text控件、Grid控件、List控件、Command控件、Commandgroup控件、Optiogroup控件、Date and Time Picker控件、Edit控件。(3)重要控件属性如表5所示。表5 重要控件的重要属性及值控件名属性值功能Form1.Combo1RowSourceRowSourceTypetabxqinfo.小区名称6-字段提供小区列表Form1.Grid1ColumnCount1提供大楼列表Form1.Grid3ColumnCountRecordSource21tabyzinfo提供业主信息列表Form1.List1ColumnCountColumnWidthsRowSourceType290,706-字段提供房屋列表Form3.Combo2RowSourceRowSourceType已进住,未进住1-值提供是否进住列表Form3.Grid1ColumnCountRecordSource27tabrkinfo提供家庭员列表2代码设计在Form1表单的“添加新业主”按钮的Click事件中添加以下代码:yxq=alltrim(bo1.displayvalue)ydl=alltrim(thisform.text1.value)yfw=alltrim(thisform.text2.value)if empty(yxq) or empty(ydl) or empty(yfw) messagebox(请选择小区名称、大楼名称和房屋编号!,48,操作失败)else select tabyzinfo locate for 购入房编号=yfw &顺序查询 if found() messagebox(此房屋已住人!,48,业主信息登记) else thisform.parent.form3.visible=.t. &显示表单 lfjno=len(yxq)+len(ydl)+1 fjno=substr(yfw,lfjno) thisform.parent.form3.text1.value=yxq thisform.parent.form3.text2.value=ydl thisform.parent.form3.text3.value=fjno thisform.parent.form3.text4.value=yfw thisform.parent.form3.text5.value=yfw store to thisform.parent.form3.text6.value,thisform.parent.form3.text7.value,; thisform.parent.form3.text8.value,thisform.parent.form3.text9.value,; thisform.parent.form3.text10.value,thisform.parent.form3.text11.value,; thisform.parent.form3.text12.value,thisform.parent.form3.text13.value,; thisform.parent.form3.text14.value,bo1.value,; bo2.value,bo3.value thisform.parent.form3.grid1.recordsource= thisform.parent.form3.text5.setfocus &Text5获得焦点 endifendif在Form1表单的“修改业主信息”按钮的Click事件中添加以下代码:cvalue=alltrim(thisform.text3.value)if !empty(cvalue)thisform.parent.form3.visible=.t.public yzdh &定义全局变量yzdh=alltrim(thisform.text3.value)select *;from wuyemanage!tabyzinfo;where 业主代号=yzdh;into cursor lxgyzinfo &此处省略了给业主信息赋值的代码(如:thisform.parent.form3.text1.value=lxgyzinfo.小区名称)select *;from wuyemanage!tabrkinfo;where 房间编号=alltrim(thisform.parent.form3.text4.value);order by 人口编号;into cursor lincythisform.parent.form3.grid1.recordsource=lincy &赋数据源thisform.parent.form3.text5.setfocus &Text5获得焦点else messagebox(请选择业主代号!,48,业主信息登记)endif在Form1表单的“删除业主信息”按钮的Click事件中添加以下代码:yzno=alltrim(thisform.text3.value)cmessagetitle=业主信息登记cmessagetext=确定要删除吗?ndialogtype=4+32nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)if nAnswer=6 select tabyzinfo use use wygl/database/tabyzinfo exclusive &以独占的方式打开数据表 dele from tabyzinfo where 业主代号=yzno &逻辑删除 dele from tabyzinfo where empty(业主代号) pack &物理删除 update wuyemanage!tabfwinfo set 房主代号=,房主姓名=,是否空闲=.t.,房屋状态=空闲 ; where 房主代号=yzno &更新数据表 messagebox(删除完毕,48,操作成功!) use wygldatabasetabyzinfo thisform.optiongroup1.interactivechange &执行Optiongroup1的Interactionchange事件 thisform.text3.value= thisform.refreshendif在Form1表单的text1控件的Click事件中添加以下代码:thisform.list1.controlsource=thisform.list1.rowsource=thisform.text2.value=thisform.text1.value=alltrim(thisform.grid1.column1.text1.value)dlname=alltrim(thisform.text1.value)select *;from wygldatabasetabfwinfo;where 大楼名称=dlname;into cursor lindepthisform.grid3.recordsource=thisform.list1.controlsource=lindep &赋数据源thisform.list1.rowsource=房间编号,房主姓名 &赋数据值的源thisform.optiongroup1.interactivechange &执行Optiongroup1的Interactivechange事件thisform.text2.value=alltrim(thisform.list1.value)thisform.refresh在Form1表单的optiongroup1选项按钮组的InteractiveChange事件中添加以下代码:do casecase thisform.optiongroup1.option1.value=1 select *; from wuyemanage!tabyzinfo; where 大楼名称=alltrim(thisform.text1.value); into cursor linall thisform.grid3.recordsource=linall &赋数据源 case thisform.optiongroup1.option2.value=1 select *; from wuyemanage!tabyzinfo; where 是否进住=已进住 and 大楼名称=alltrim(thisform.text1.value); into cursor liny thisform.grid3.recordsource=liny &赋数据源case thisform.optiongroup1.option3.value=1 select *; from wuyemanage!tabyzinfo; where 是否进住=未进住and 大楼名称=alltrim(thisform.text1.value); into cursor linw thisform.grid3.recordsource=linw单击“确定保存业主信息”按钮,将查找业主信息表“Tabyzinfo”中是否有该业主代号,如果没有,则将信息保存到业主信息表“Tabyzinfo”和人口信息表“Tabrkinfo”中,并修改房屋信息表“Tabfwinfo”中的相关数据。如果有,则修改“Tabyzinfo”、“Tabrkinfo”和“Tabfwinfo”中相关数据。系统将自动生成七位的人口编号(如“RK00007”)。具体代码如下:在Form3表单的“确定保存业主信息”按钮的Click事件中添加以下代码:yzdh=alltrim(thisform.text5.value)yzname=alltrim(thisform.text6.value)sex=alltrim(bo1.displayvalue)lxdz=alltrim(thisform.text11.value)sj=alltrim(thisform.text7.value)tel=alltrim(thisform.text9.value)workdw=alltrim(thisform.text14.value)dwtel=alltrim(thisform.text13.value)zjname=alltrim(bo3.displayvalue)zjnumber=alltrim(thisform.text12.value)sfjz=alltrim(bo2.displayvalue)gfhtno=alltrim(thisform.text10.value)glxysno=alltrim(thisform.text8.value)fwno=alltrim(thisform.text4.value)xqname=alltrim(thisform.text1.value)dlname=alltrim(thisform.text2.value)fjno=alltrim(thisform.text3.value)if sfjz=已进住 fwzt=入住else fwzt=签约endifselect tabrkinfoif empty(人口编号) rknumber=alltrim(RK00001)else select max(人口编号) from tabrkinfo into array a &查找表中最大的人口编号存入数组 cend=val(substr(a(1),3)+1 rknumber=alltrim(RK+padl(alltrim(str(cend,5),5,0)endifif empty(yzname) or empty(gfhtno) or empty(glxysno) or ;empty(zjnumber) or empty(zjname) or (empty(tel) and empty(sj) messagebox(请将信息添全!,48,操作失败)else select tabyzinfo locate for 业主代号=yzdh &顺序查询 if !found() insert into tabyzinfo values(yzdh,yzname,sex,lxdz,sj,tel,workdw,dwtel,zjname,zjnumber,; date1,date3,date2,date4,sfjz,gfhtno,glxysno,fwno,xqname,dlname,fjno) &追加新记录 update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,; 房屋状态=fwzt where 房间编号=fwno &更新数据表 insert into tabrkinfo values(rknumber,yzname,sex,ctod(),1,户主,workdw,; ,dwtel,sj,tel,lxdz,xqname,dlname,fjno,zjnumber,fwno,) messagebox(数据保存完毕!,48,业主信息登记) thisform.parent.form1.grid1.column1.text1.click &执行Text1的Click事件 thisform.visible=.f. &隐藏表单 else update wuyemanage!tabyzinfo set 业主姓名=yzname
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!