在“去除”按钮的Click事件中添加以下代码:
for i=1 to thisform.list2.listcount
if thisform.list2.selected(i)
thisform.list2.removeitem(i) &&移去数据项
endif
endfor
在 combo1控件的InteractiveChange事件中添加以下代码:
thisform.list2.controlsource=''
thisform.list2.rowsource=''
thisform.refresh
xq=alltrim(thisform.combo1.displayvalue)
select *;
from wygl\database\tabdlinfo;
where 所属区域==xq;
into cursor lindep
if reccount()=0
messagebox('请先生成大楼信息!',48,'操作失败')
thisform.list1.controlsource=''
thisform.list1.rowsource=''
thisform.refresh
else
thisform.list1.controlsource='lindep' &&赋数据源
thisform.list1.rowsource='lindep.大楼名称,负责人' &&赋数据值的源
thisform.list1.rowsourcetype=6 &&设置Rowsourcetype属性值为:6-字段
endif
单击“开始分析信息”按钮,将根据用户在Combo2控件中选择的统计依据对数据进行统计,将统计结果保存到相应的临时表中,并在MSChart控件中显示。具体代码如下:
在“开始分析信息”按钮的Click事件中添加以下代码:
do case
case alltrim(thisform.combo2.displayvalue)=='房产资源比例图'
if thisform.list2.listcount=0
messagebox('请选择要统计的大楼名称!',48,'房产资源比例图')
else
public dl &&定义全局变量
dl=''
dl1="大楼名称=='"
for i=1 to thisform.list2.listcount
dl1=dl1+alltrim(thisform.list2.list(i))+"' or 大楼名称=='"
endfor
dl=alltrim(substr(dl1,1,len(dl1)-14))
select tabfwinfo
select *;
from wygl\database\wuyemanage!tabfwinfo;
where &dl;
order by 房间编号;
into cursor linfwinfo
if reccount()=0
messagebox('请先生成房屋信息!',27,'操作失败')
else
select linfwinfo
select * from linfwinfo where 是否空闲==.f. into cursor linf
select linf
fcount=reccount()
select tabfwtj
replace 房间数 with fcount for 是否空闲='已签约'
select linfwinfo
select * from linfwinfo where 是否空闲==.t. into cursor linf
select linf
tcount=reccount()
select tabfwtj
replace 房间数 with tcount for 是否空闲='未签约'
*用mschart控件制作房产资源比例图
thisform.mschart1.visible=.t.
Sele tabfwtj
no=reccount()
select tabfwtj
go i
sfkx=tabfwtj.是否空闲
ccount=tabfwtj.房间数
Thisform.mschart1.Row =i
Thisform.mschart1.Rowlabel =sfkx
thisform.mschart1.data=ccount
thisform.blgs.caption='已签约、未签约房间数各占总房间数的百分比'
endfor
endif
endif
case alltrim(thisform.combo2.displayvalue)='小区人口比例图'
…… &&此处省略了制作小区人口比例图的代码
case alltrim(thisform.combo2.displayvalue)=='投诉状态比例图'
…… &&此处省略了制作投诉状态比例图的代码
endcase
用户进入系统后,单击主界面“系统管理”按钮,在弹出的功能列表项中选择“权限设置”选项,进入权限设置界面。通过权限设置界面可设置一般操作员的权限以及查询操作员权限级别及使用权限。权限设置运行结果如图7所示。
图7 权限设置表单运行结果
(1)在物业管理系统的项目中,新建一个表单,命名为“权限设置”。
(2)在表单中添加List控件、Text控件、Command控件、Label控件、Check控件。
(3)重要控件的重要属性如表7所示。
表7 重要控件的重要属性及值
对象 |
属性 |
值 |
Label |
AutoSize |
True |
Text |
ColorSource |
0 – 对象的颜色属性 |
Text |
Enabled |
False |
List |
Enabled |
True |
在表单的Init事件中添加以下代码:
public l
l=.f.
thisform.Resize &&执行表单的Resize事件
thisform.command1.enabled=.f.
thisform.list1.controlsource='tabpurview' &&赋数据源
thisform.list1.rowsource='tabpurview.操作员姓名' &&赋数据源
thisform.list1.rowsourcetype=6 &&设置Rowsourcetype属性值为:6-字段
L是全局变量,当L为.T.或.F.时,这个值会集体赋给相关控件的Enabled属性。这种写法其实将Resize 事件当成一个设相关控件是否有效的函数。具体代码如下:
在list1控件的InteractiveChange事件中添加以下代码:
thisform.Activate &&执行表单的Activate事件
do case
case alltrim(thisform.text1.value)='1'
messagebox("权限不可修改",48,"权限管理")
l=.f.
thisform.Resize &&执行表单的Resize事件
thisform.text1.enabled=.t.
case alltrim(thisform.text1.value)='4'
l=.t.
thisform.Resize &&执行表单的Resize事件
endcase
判断用户输入的权限级别是否有效。如果权限级别为1或4以上则给予系统警告。在text1控件的InteractiveChange事件中添加以下代码:
thisform.command2.enabled=.t.
thisform.command3.enabled=.f.
thisform.command1.enabled=.t.
do case
case val(alltrim(thisform.text1.value))=1
l=.f.
thisform.Resize &&执行表单的Resize事件
messagebox('级别1为系统管理员,不能有多个,请重新输入!',48,'权限管理')
thisform.text1.value=''
case val(alltrim(thisform.text1.value))=2 or val(alltrim(thisform.text1.value))=3
l=.f.
thisform.Resize &&执行表单的Resize事件
thisform.text1.enabled=.t.
case val(alltrim(thisform.text1.value))=4
l=.t.
thisform.Resize &&执行表单的Resize事件
case val(alltrim(thisform.text1.value))>4
messagebox("级别不能大于4,请重新输入",48,"操作失败!")
thisform.text1.value=tabpurview.权限级别
thisform.text1.setfocus &&Text1获得焦点
endcase
thisform.refresh &&刷新表单
在“财务部”复选框的InteractiveChange事件中添加以下代码:
thisform.command3.enabled=.f.
thisform.command2.enabled=.t.
thisform.command1.enabled=.t.
在“保安部”复选框的InteractiveChange事件中添加以下代码:
thisform.cwb.InterActiveChange &&执行cwb的InterActiveChange事件
单击“确定”按钮,将操作员的权限信息保存到权限表“Tabpurview”中。具体代码如下:
czyname=alltrim(thisform.list1.displayvalue) &&获取输入信息
crand=alltrim(thisform.text1.value)
jyb=thisform.jyb.value
若图片无法显示请联系QQ752018766,本论文免费,转发请注明源于www.751com.cn
do case
case crand='2'
update tabpurview set 权限级别=crand,经营部=.t.,管理部=.t.,工程部=.t.,财务部=.t.,;
保安部=.t.,经理室=.t.,系统管理=.f. where 操作员姓名==czyname &&更新数据表
case crand='3'
update tabpurview set 权限级别=crand,经营部=.t.,管理部=.t.,工程部=.t.,;
财务部=.f.,保安部=.t.,经理室=.f.,系统管理=.f. where 操作员姓名==czyname
case crand='4'
update tabpurview set 权限级别=crand,经营部=jyb,管理部=glb,工程部=gcb,;
财务部=cwb,保安部=bab,经理室=jls,系统管理=sysgl ;
where 操作员姓名==czyname &&更新数据表
endcase
messagebox('数据保存完毕',48,'操作成功!')
select tabpurview
locate for 操作员姓名=czyname
thisform.Activate &&执行表单的Activate事件
thisform.command2.enabled=.f.
thisform.command3.enabled=.t.
thisform.command1.enabled=.f.
thisform.refresh
endif
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页