Access VBA教程:Control对象
时 间:2016-11-22 08:27:19
作 者:杨雪 ID:42182 城市:南京
摘 要:Control对象代表其他控件中的或附加到其他控件的窗体、报表或节上的控件。
正 文:
使用 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 | 切换按钮 |