水平有限,不过也来译一下,还请各位帮助指正
我对原文的些不理解的地方,自己进行了替换,如第一段 multiple fields,我看一下讲的是控件,就把他充成 控件集了
译文
---------------------------------------------------------------------
标题:使用Tag属性来组织窗体或报表的事件过程窗体或报表控件的“Tag”(标记)属性不能被Aceess直接使用,但可以让编程人员能以多种方法去组织一个窗体或报表的事件过程。例如,你可能想定制一个窗体的控件集在某种情况下为一种显示方式,在另一种情况下为另一种显示方式。你可以在一个选项组的更新后事件中写一个事件过程去隐藏或显示这些控件,类似于允许显示。
If Opt=1 then
Me!Control1.visible=True
Me!Control2.visible=True
Me!Control3.visible=False
Me!Control4.visible=False
......
Else
Me!Contol1.visible=False
Me!Control2.visible=True
Me!Control3.visible=False
Me!Control4.visible=False
......
End If
这种形式的代码当你想隐藏或显示更多的控件时,需要及时的去修改。你可以分别在需要隐藏或显示的每一个控件的Tag属性中写入 "Opt1" 或 "Opt2"。这样你可以在一个选项组的更新后事件中写入你的代码,通过历遍窗体每一个控件的Tag属性,从而自动的进行改变。这样的代码看起来类似下面:
Dim Frm as Form
Dim I as integer
Set Frm = Me
If Opt=1 then
For I = 0 to Frm.count -1
If Instr(Frm( I ).tag, "Opt1")>0 then Frm( I ).visible = True
If Instr(Frm( I ).tag, "Opt2")>0 then Frm( I ).visible = False
Next I
Else
For I = 0 to Frm.count -1
If Instr(Frm( I ).tag, "Opt1")>0 then Frm( I ).visible = False
If Instr(Frm( I ).tag, "Opt2")>0 then Frm( I ).visible = True
Next I
End If
这样的代码允许你稍后添加或删除那些需要显示或隐藏处理的控件,而不需要修改代码,只需在这些控件的Tag属性中写入或删除判断字符就可以了。(提示:我们通过查找Tag属性中是否含有"Opt1" 或 "Opt2"字符串的方式来进行判断而不是通过检测Tag属性等于"Opt1" 或 "Opt2"的方式判断,是因为我们有可能在这些控件的Tag属性中放置更多的判断字符)
[此贴子已经被作者于2005-8-15 19:32:53编辑过]
|