适用于:Access 2013、Office 2013
可以使用 SetValue 操作来设置 Microsoft Access 字段、控件,或表单、表单数据表或报表上属性的值。
注意
- 不能使用 SetValue 操作来设置可返回对象的 Access 属性值。
- 如果数据库不受信任,则不允许执行此操作。
Setting
SetValue 操作具有下列参数。
操作参数 |
说明 |
|---|---|
Item |
想要设置值的字段、控件或属性名称。 在“宏生成器”窗格的“操作参数”部分,在“Item”框中输入字段、控件或属性名称。 引用此项目时必须使用完整的语法,例如 controlname(适用于表单上的控件或从其中调用宏的报表)或Forms!formname!controlname。 这是必需参数。 |
Expression |
Access 用于设置此项目的值的表达式。 必须始终使用完整的语法来引用表达式中的任何对象。 例如,将“员工”表单上“工资”控件中的值增加 10%,请使用 Forms!Employees!Salary*1.1。 这是必需参数。 注释:不得在此参数表达式前使用等号(=)。 若使用等号,则 Access 会对表达式求值,然后使用此值作为此参数中的表达式。 如果表达式为一个字符串,将会产生意外结果。 例如,如果为此参数键入 =“String1” ,Access 首先会将表达式计算为 String1。 然后使用 String1 作为此参数的表达式,期望在表单或调用宏的报表上找到名为 String1 的控件或属性。 |
注意
在 Access 数据库(.mdb 或 .accdb)中,单击“生成”按钮,以便使用“表达式生成器”为这些参数中的任意一个创建一个表达式。
说明
此操作可用于设置表单、表单数据表或报表上的字段或控件的值。 此外可以在任意视图中设置几乎所有控件、表单和报表属性的值。 若要了解是否可通过使用宏来设置特定属性,以及可以在哪些视图中设置,请参阅在 Visual Basic 编辑器中有关该属性的“帮助”主题。
即使表单不包含绑定到字段的控件,也可以在表单基础表中设置字段的值。 使用语法 Forms!formname!“项”框中的 fieldname,用于设置此类字段的值。 还可以 使用语法 Reports 引用报表的基础表中的字段!reportname!fieldname,但报表上必须有一个绑定到此字段的控件,或者必须在报表的计算控件中引用该字段。
如果在表单上设置控件值,SetValue 操作不会触发控件的表单级别的验证规则,但如果控件是绑定的控件,则会触发基础字段的表级别验证规则。 SetValue 操作还会触发重新计算,但重新计算不会立即发生。 若要触发立即重新绘制并强制完成重新计算,则使用RepaintObject 操作。 使用 SetValue 操作在控件中设置的值也不受在控件或基础字段的 InputMask 属性中设置的输入掩码集的影响。
若要更改控件值,可以在由控件的 AfterUpdate 事件属性指定的宏中使用 SetValue 操作。 但是,不能在控件的 BeforeUpdate 事件属性指定的宏中使用 SetValue 操作来更改控件值(虽然可使用 SetValue 操作来更改其他控件的值)。 也可以在表单的 BeforeUpdate 或 AfterUpdate 属性指定的宏中使用 SetValue 操作来更改在当前记录中任何控件的值。
注意
不能使用 SetValue 操作来设置以下控件的值:
- 报表上的绑定控件和计算控件。
- 表单上的计算控件。
提示
可以使用 SetValue 操作来隐藏或显示“表单”视图中的表单。 输入窗体!formname**。“项”框中可见**,“表达式”框中为“否”或“是”。 设置模式表单的 Visible 属性为 No,以隐藏表单并使其成为无模式。 将属性设置为 Yes 以显示表单并使其再次成为模式。
在宏中使用 SetValue 操作来更改控件值或添加新数据不会触发 BeforeUpdate、BeforeInsert 或 Change 之类的事件,在用户界面的这些控件中更改或输入数据时通常发生此类事件。 如果使用 Visual Basic for Applications (VBA) 模块来设置控件值,也不会发生这些事件。
此操作在 VBA 模块中不可用。 直接在 VBA 中设置值。
示例
使用宏来设置控件值
下列宏从“供应商”表单上的按钮打开“添加产品”表单。 显示如何使用 Echo、CloseWindow、OpenForm、 SetValue 和 GoToControl 操作。 SetValue 操作将“产品”表单上的 SupplierID 控件设置为“供应商”表单上的当前供应商。 然后 GoToControl 操作会将焦点移动至 CategoryID 字段,在这里开始输入新产品数据。 此宏应附加到“供应商”表单上的“添加产品”按钮。
操作 |
参数:设置 |
注释 |
|---|---|---|
Echo |
Echo On: No |
运行宏时停止屏幕更新。 |
CloseWindow |
Object Type: FormObject Name: Product List Save: No |
关闭“产品列表”表单。 |
OpenForm |
Form Name: Products View: FormData Mode: AddWindow Mode: Normal |
打开“产品”表单。 |
SetValue |
Item: [Forms]![Products]![SupplierID] Expression: SupplierID |
在“供应商”表单上将 SupplierID 控件设置为当前供应商。 |
GoToControl |
Control Name: CategoryID |
转到 CategoryID 控件。 |