使用 Control对象
窗体或报表上的所有控件都属于该 Form 或 Report对象的Controls集合。特定节中的控件属于该节的 Controls集合。选项卡控件或选项组控件中的控件属于相应控件的 Controls集合。附加到其他控件的标签控件属于所附控件的 Controls集合。
引用 Controls集合中的单个 Control对象时,既可以隐式又可以显式地引用 Controls集合。
'在Controls集合中隐式引用NewData控件
Me!NewData
'如果控件名包含空格,请使用
Me![New Data]
' 性能稍慢
Me ("NewData")
'通过控件中的索引引用控件
Me (0)
' 通过使用子表单来引用NewData控件
Me.ctlSubForm.Controls!NewData
' 显式地引用NewData控件
Me.Controls!NewData
Me.Controls ("NewData")
Me.Controls (0)
注意 仅当从类模块的代码中引用窗体或报表时,才可以使用 Me 关键字来代表 Form 或 Report对象。从标准模块、不同窗体或报表的模块中引用报表或窗体时,必须使用对该窗体或报表的完整引用。
每个 Control对象都由特定的固有常量表示。例如固有常量 acTextBox 与文本框控件相关联,acCommandButton 与命令按钮相关联。各种 Microsoft Access 控件的常量在控件的ControlType属性中设置。
若要确定现有控件的类型,请使用 ControlType属性。不过,不必了解控件的特定类型即可在代码中使用控件。只需用 Control 数据类型的变量来表示它即可。
如果了解所引用的控件的数据类型,并且该控件是内置的 Microsoft Access 控件,则应该使用特定类型的变量来代表该控件。例如,如以下代码所示,如果知道特定的控件是文本框之后,则可以声明一个 TextBox 类型的变量来表示该控件。
Dim txt As TextBox
Set txt = Forms!Employees!LastName
注意 如果控件是ActiveX 控件,则必须声明 Control 类型的变量来代表该控件,不能使用特定的控件类型。如果不能确定变量要指向哪种类型的控件,请将变量的类型声明为 Control。
选项组控件可以在其 Controls集合中包含其他控件,包括选项按钮、复选框、切换按钮以及标签控件。
选项卡控件包含一个Pages集合,这是一种特殊类型的 Controls集合。Pages集合包含全部为控件的Page对象。反过来,每个 Page对象又包含一个 Controls集合,该集合包含该页中所有的控件。
其他 Control对象有一个包含附加标签的 Controls集合。这些控件包括文本框、选项组、选项按钮、切换按钮、复选框、组合框、列表框、命令按钮、绑定对象框以及未绑定对象框控件。
ControlType属性是用于指定控件类型的固有常量。
常量
|
控件
|
acBoundObjectFrame
|
绑定对象框
|
acCheckBox
|
复选框
|
acComboBox
|
组合框
|
acCommandButton
|
命令按钮
|
acCustomControl
|
ActiveX(自定义)控件
|
acImage
|
图像
|
acLabel
|
标签
|
acLine
|
线条
|
acListBox
|
列表框
|
acObjectFrame
|
未绑定对象框或图表
|
acOptionButton
|
选项按钮
|
acOptionGroup
|
选项组
|
acPage
|
页
|
acPageBreak
|
分页符
|
acRectangle
|
矩形
|
acSubform
|
子窗体/子报表
|
acTabCtl
|
选项卡
|
acTextBox
|
文本框
|
acToggleButton
|
切换按钮
|