GoToControl 操作

expandtri全部显示

使用 GoToControl 操作,可以把焦点移到打开的窗体、窗体数据表、表数据表或查询数据表中当前记录的指定字段控件上。如果要让某一特定的字段或控件获得焦点,可以使用该操作。然后可将获得焦点的字段或控件用于比较或 FindRecord 操作。另外,还可以根据特定的条件,使用该操作在窗体中进行定位。例如,如果用户在“健康保险”窗体中的“婚姻”控件下输入“否”,那么焦点会自动跳过“配偶姓名”控件而移到下一个控件。

注释   此操作不能用于数据访问页。

设置

GoToControl 操作具有下列参数:

操作参数

说明

控件名称

要在其中放置焦点的字段或控件的名称。在“宏”窗口“操作参数”部分的“控件名称”框中输入字段名称或控件名称。这是必需的参数。

注释  在“控件名称”参数中只需输入字段名称或控件名称,而不必输入完全合格的标识符,如 Forms!产品![Product ID]。

说明

不能使用 GoToControl 操作将焦点移到隐藏窗体的控件上。

blueup提示

子窗体子窗体

若要在 Visual Basic 中运行 GoToControl 操作,可使用 DoCmd 对象的 GoToControl 方法。也可以使用 SetFocus 方法,将焦点移到窗体或其任何子窗体的控件上或者打开的表、查询、窗体数据表的字段中。

示例

blueup 通过使用宏设置控件的值 - 示例

下面的宏使用“供应商”窗体中的一个按钮打开“增加产品”窗体。它显示了 Echo、Close、OpenForm、SetValue 及 GoToControl 操作的使用方法。SetValue 操作将“产品”窗体中的“供应商ID”控件设置为“供应商”窗体中的当前供应商,然后 GoToControl 操作将焦点移到“类别ID”字段,以便输入新产品的数据。该宏应附加到“供应商”窗体的“添加产品”按钮上。

操作

参数:设置

备注

Echo

打开回响:否

在宏执行当中停止屏幕更新。

Close

对象类型:窗体

对象名称:产品列表

保存:否

关闭“产品列表”窗体。

OpenForm

窗体名称:产品

视图:窗体

数据模式:添加

窗口模式:普通

打开“产品”窗体。

SetValue

项目:[Forms]![产品]![供应商ID]

表达式:供应商ID

将“供应商ID”控件设为“供应商”窗体中的当前供应商。

GoToControl

控件名称:类别ID

移到“类别ID”控件。

blueup 通过使用宏验证数据有效性

下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及 GoToControl 操作的使用方法。条件表达式用于检查在该窗体上记录中输入的国家/地区和邮政编码。如果邮政编码不符合其国家/地区的正确格式,宏将显示消息框,并取消对记录的保存。然后您将返回到“邮政编码”控件并可以在那里改正错误。该宏应附加到“供应商”窗体的 BeforeUpdate 属性。

条件

操作

参数:设置

备注

IsNull([国家/地区])

StopMacro


如果“国家/地区”为 Null,就无法验证邮政编码。

[国家/地区] In ("法国","意大利","西班牙") And Len([邮政编码]) <> 5

MsgBox

消息:邮政编码必须为 5 个字符。

发嘟嘟声:是

类型:信息

标题:邮政编码错误

如果邮政编码不是 5 个字符,则会显示消息。

...

CancelEvent


取消事件。


GoToControl

控件名称:邮政编码


[国家/地区] In ("澳大利亚","新加坡") And Len([邮政编码]) <> 4

MsgBox

消息:邮政编码必须为 4 个字符。

发嘟嘟声:是

类型:信息

标题:邮政编码错误

如果邮政编码不是 4 个字符,则会显示消息。

...

CancelEvent


取消事件。


GoToControl

控件名称:邮政编码


([国家/地区] = "加拿大") And ([邮政编码] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]")

MsgBox

消息:邮政编码无效。加拿大编码示例:H1J 1C3

发嘟嘟声:是

类型:信息

标题:邮政编码错误

如果邮政编码不符合加拿大的有效格式,则会显示消息。(加拿大编码示例:H1J 1C3)

...

CancelEvent


取消事件。