在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 *;
order by 人口编号;
into cursor lincy
thisform.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+32
nAnswer=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 wygl\database\tabyzinfo
thisform.optiongroup1.interactivechange &&执行Optiongroup1的Interactionchange事件
thisform.text3.value=''
thisform.refresh
endif
在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 wygl\database\tabfwinfo;
where 大楼名称==dlname;
into cursor lindep
thisform.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 case
case thisform.optiongroup1.option1.value=1
select *;
from wuyemanage!tabyzinfo;
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(thisform.combo1.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(thisform.combo3.displayvalue)
zjnumber=alltrim(thisform.text12.value)
sfjz=alltrim(thisform.combo2.displayvalue)
if sfjz='已进住'
fwzt='入住'
else
fwzt='签约'
endif
select tabrkinfo
if 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'))
endif
if 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,'',;
=sj,;
电话=tel,工作单位=workdw,单位电话=dwtel,证件号=zjnumber,签约日期=date1,;
进住日期=date3,进住起始日期=date2,进住截止日期=date4,是否进住=sfjz,;
购房合同书编号=gfhtno,管理协议书编号=glxysno,购入房编号=fwno,小区名称=;
xqname,大楼名称=dlname,房间号码=fjno where 业主代号==yzdh &&更新数据表
update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,;
房屋状态=fwzt where 房间编号==fwno
update wuyemanage!tabrkinfo set 姓名=yzname,性别=sex,工作单位=workdw,;
单位电话=dwtel,手机=sj,传呼=tel,家庭住址=lxdz,身份证号=zjnumber ;
where 房间编号==fwno
thisform.parent.form1.grid1.column1.text1.click
endif
endif
用户进入系统后,单击主界面“经理室”按钮,在弹出的功能列表项中选择“小区资源统计”选项,进入小区资源统计界面。通过小区资源统计界面可通过“加入”按钮对小区资源进行统计分析,并且通过“去除”按钮清除对小区资源统计分析以及。小区资源统计运行结果如图6所示。
图6 小区资源统计表单运行结果
(1)在物业管理系统的项目中,新建一个表单,命名为“小区资源统计”。
(2)在表单中添加Combo控件、List控件、Commandgroup控件、Label控件、Chart控件。
(3)重要控件属性如表6所示。
表6 重要控件的重要属性及值
控件名 |
属性 |
值 |
功能 |
Combo1 |
RowSource RowSourceType |
tabxqinfo.小区名称 6-字段 |
提供小区列表 |
List1 |
ColumnCount ColumnWidths RowSourceType |
2 87,60 6-字段 |
提供楼房列表 |
List2 |
ColumnCount ColumnWidths RowSourceType |
3 51,51,30 6-字段 |
提供被选中楼房列表 |
Combo2 |
DisplayValue RowSource RowSourceType |
房产资源比例图 房产资源比例图,小区人口比例图 1-值 |
提供统计依据列表 |
MSChart1 |
ChartType ColumnCount RowCount RowLable |
14-2d Pie 1 3 R1 |
显示统计信息图表 |
实现从List1控件中选取无重复数据到List2控件中。具体代码如下:
在“加入”按钮的Click事件中添加以下代码:
public source as string
for i=1 to thisform.list1.listcount
if thisform.list1.selected(i)
if thisform.list2.listcount=0
thisform.list2.additem(thisform.list1.list(i)) &&添加数据项
dlname=alltrim(thisform.list1.list(i))
select tabdlinfo
select *;
from wuyemanage!tabdlinfo;
where 大楼名称==dlname;
into cursor lindl
fzr=alltrim(lindl.负责人)
dlno=alltrim(lindl.大楼编号)
thisform.list2.rowsourcetype=1 &&设置Rowsourcetype属性值为:1-值
source=dlname+','+dlno+','+fzr+','
leftsource=left(source,len(source)-1)
thisform.list2.rowsource="&source" &&赋数据值的源
else
select *;
from wuyemanage!tabdlinfo;
where 大楼名称==dlname;
into cursor lindl
fzr=alltrim(lindl.负责人)
dlno=alltrim(lindl.大楼编号)
thisform.list2.rowsourcetype=1
source=source+dlname+','+dlno+','+fzr+','
leftsource=left(source,len(source)-1)
thisform.list2.rowsource="&leftsource"
else
exit
endif
endif
endif
endfor
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页