OpenForm 操作

expandtri全部显示

可以使用 OpenForm 操作来打开“窗体”视图中的窗体、窗体设计视图打印预览或者数据表视图。可以为窗体选择数据项或窗口模式,并限制窗体所显示的记录

设置

OpenForm 操作有下列参数。

操作参数

说明

窗体名称

要打开的窗体的名称。“宏”窗口的“操作参数”中的“窗体名称”框可以显示在当前数据库中的所有窗体。这是必需的参数。

如果在一个类库数据库中运行包含 OpenForm 操作的宏,Microsoft Access 将首先在类库数据库中查找具有该名称的窗体,然后在当前数据库中进行该查找。

视图

将要在其中打开窗体的视图。请在“视图”框中单击“窗体”、“设计”、“打印预览”、“数据表”、“数据透视表”或者“数据透视图”。默认为“窗体”。

注释  “视图”参数设置将覆盖该窗体的 DefaultViewViewsAllowed 属性。例如,如果窗体的 ViewsAllowed 属性被设置为 Datasheet,仍然可以使用 OpenForm 操作在“窗体”视图中打开窗体。

筛选名称

对窗体的记录进行限制或排序的筛选。可以输入现有查询的名称,也可以输入已被另存为查询的一个筛选的名称。但是,查询必须包括被打开的窗体内的所有字段,或者将它的 OutputAllFields 属性设置为“是”。

Where 条件

一个有效的 SQL WHERE 子句(没有单词 WHERE)或表达式,被 Access 用来从窗体的基本表或查询中选择记录。如果选择的是具有“筛选名称”参数的筛选,则 Access 将把该 WHERE 字句应用到该筛选的结果。

要打开窗体,并将它的记录范围限制为由另一个窗体上的控件的值所指定的记录,则应当使用下列表达式:

[fieldname] = Forms![formname]![controlname on other form]

fieldname 参数是您要打开的窗体的基本表或查询中的字段的名称。controlname on other form 参数是另一个窗体上的控件的名称,该控件包含了需要与第一个窗体中的记录相匹配的值。

注释  Where 条件参数的最大长度是 255 个字符。如果需要输入更复杂更长的 SQL WHERE 子句,请使用 Microsoft Visual Basic 中的 DoCmd 对象的 OpenForm 方法。在 Visual Basic 中,最多可以输入有 32,768 个字符的 SQL WHERE 子句语句。

数据模式

窗体的数据输入模式。该参数只应用于在“窗体”视图或“数据表”视图中打开的窗体。请单击“添加”(用户可以添加新的记录,但不能编辑现有记录)、“编辑”(用户可以编辑现有记录并添加新记录)或者“只读”(用户只能查看记录)。默认为“编辑”。

注意

?“数据模式”参数设置将覆盖窗体的 AllowEditsAllowDeletionsAllowAdditionsDataEntry 属性的设置。例如,如果窗体的 AllowEdits 属性被设置为 No,但仍然可以使用 OpenForm 操作在编辑模式下打开窗体。
?如果将该参数留空,Access 将在由窗体的 AllowEditsAllowDeletionsAllowAdditionsDataEntry 属性所设置的数据输入模式下打开窗体。

窗口模式

窗体打开时所采用的窗口模式。可以单击“普通”(窗体采用由它的属性所设置的模式)、“隐藏”(窗体被隐藏)、“图标”(窗体打开时最小化为屏幕底部的小标题栏)、或“对话框”(窗体的“模式”和“弹出式”属性被设置为“是”)。默认为“普通”。

说明

此操作类似于在单击“对象”下面的“窗体” 按钮图像 后再单击“打开”按钮或“设计”按钮,然后在“数据库”窗口中选择一个窗体。

窗体可以是模式的(用户必须将它先关闭或隐藏然后才能执行其他任何操作)或无模式的(用户可以在该窗体仍然打开的情况下移动到其他窗口)。它还可以是弹出式窗体(出现在其他所有 Access 窗体之上、用来收集或显示信息的窗体)。可以在设计窗体时设置“模式”和“弹出”属性。如果让“窗口模式”参数使用“普通”,窗体将在由这些属性设置所指定的模式下打开。如果让“窗口模式”参数使用“对话框”,这两个属性将一起设置为“是”。作为隐藏或图标打开的窗体在被显示或还原时,将返回到由其属性设置所指定的模式。

如果您打开的窗体的“窗口模式”参数被设置成“对话框”,Access 将挂起该宏,直到窗体被关闭或隐藏。要隐藏窗体,可以使用 SetValue 操作将窗体的的“可见性”属性设置为“否”。

blueup提示

操作行

所应用的筛选和 WHERE 条件成为窗体“筛选”属性的设置。

示例

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

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

操作

参数:设置

备注

Echo

打开回响:否

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

Close

对象类型:窗体

对象名称:产品列表

保存:否

关闭“产品列表”窗体。

OpenForm

窗体名称:产品

视图:窗体

数据模式:添加

窗口模式:普通

打开“产品”窗体。

SetValue

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

表达式:供应商ID

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

GoToControl

控件名称:类别ID

转到“类别ID”控件。

blueup 通过使用宏同步窗体

下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了 MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。

条件

操作

参数:设置

备注


Echo

打开回响:否

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

IsNull([SupplierID])

MsgBox

消息:请移至要查看其产品的供应商记录上,然后再次单击“回顾产品”按钮。

发嘟嘟声:是

类型:无

标题:选择供应商

如果“供应商”窗体中没有当前供应商的数据,则显示一条信息。

...

GoToControl

控件名称:公司名称

将焦点移到“公司名称”控件上。

...

StopMacro


停止执行宏。


OpenForm

窗体名称:产品列表

视图:数据表

筛选名称:  

Where 条件:[供应商ID] = [窗体]![供应商]![供应商ID]

数据模式:只读

窗口模式:普通

打开“产品列表”窗体并显示当前供应商的产品。


MoveSize

右:0.7799 英寸

下:1.8 英寸

将“产品列表”窗体放在“供应商”窗体的右下方。