我想做的是在表单上的标签中显示当前所选字段的描述。我觉得它当前显示的位置(左下角的状态栏)几乎不明显。
如何在状态栏中访问该值?例如,在我的表单上,当我选择了"说出,员工姓名"字段时,在左下角的小字体中,它会显示"您正在注册的员工的姓名"。
我知道在我的表单上的某个事件中,我需要代码
me.lblControlDescription.Caption = me.statusbar.caption
如何在 VBA 中访问状态栏中的文本(字段描述)?
状态栏中的文本是当前字段的Description
属性。
从 VBA 中,您可以访问表单记录集中字段的Description
。
Debug.Print Me.Recordset.fields("id").Properties("Description")
因此,如果您有一个名为lblDescription
的标签控件,则可以将其.Caption
值设置为字段的Description
。
Me.lblDescription.Caption = Me.Recordset.fields("id").Properties("Description")
但是,这可能更复杂。Description
是用户创建的属性,这意味着在您为其指定值之前,它不存在。 而且,如果您有一个集合,但稍后删除其值,则该属性本身将不再存在。
如果尝试在不存在Description
时检索该,VBA 将引发错误 #3270"找不到属性"。 您可以捕获该错误,并将Me.lblDescription.Caption
设置为在发生错误时vbNullString
。
您还需要一个策略来说明何时更改Me.lblDescription.Caption
。 您可以创建一个过程来基于当前活动控件进行设置。 然后从窗体的每个控件的 on focus 事件调用该过程。 可能有更好的方法,但我刚才没有看到。