可以使用 OpenForm 操作来打开“窗体”视图中的窗体、窗体设计视图、打印预览或者数据表视图。可以为窗体选择数据项或窗口模式,并限制窗体所显示的记录。
OpenForm 操作有下列参数。
操作参数 |
说明 |
||||
窗体名称 |
要打开的窗体的名称。“宏”窗口的“操作参数”中的“窗体名称”框可以显示在当前数据库中的所有窗体。这是必需的参数。 如果在一个类库数据库中运行包含 OpenForm 操作的宏,Microsoft Access 将首先在类库数据库中查找具有该名称的窗体,然后在当前数据库中进行该查找。 |
||||
视图 |
将要在其中打开窗体的视图。请在“视图”框中单击“窗体”、“设计”、“打印预览”、“数据表”、“数据透视表”或者“数据透视图”。默认为“窗体”。 注释 “视图”参数设置将覆盖该窗体的 DefaultView 和 ViewsAllowed 属性。例如,如果窗体的 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 子句语句。 |
||||
数据模式 |
窗体的数据输入模式。该参数只应用于在“窗体”视图或“数据表”视图中打开的窗体。请单击“添加”(用户可以添加新的记录,但不能编辑现有记录)、“编辑”(用户可以编辑现有记录并添加新记录)或者“只读”(用户只能查看记录)。默认为“编辑”。 注意
|
||||
窗口模式 |
窗体打开时所采用的窗口模式。可以单击“普通”(窗体采用由它的属性所设置的模式)、“隐藏”(窗体被隐藏)、“图标”(窗体打开时最小化为屏幕底部的小标题栏)、或“对话框”(窗体的“模式”和“弹出式”属性被设置为“是”)。默认为“普通”。 |
此操作类似于在单击“对象”下面的“窗体” 后再单击“打开”按钮或“设计”按钮,然后在“数据库”窗口中选择一个窗体。
窗体可以是模式的(用户必须将它先关闭或隐藏然后才能执行其他任何操作)或无模式的(用户可以在该窗体仍然打开的情况下移动到其他窗口)。它还可以是弹出式窗体(出现在其他所有 Access 窗体之上、用来收集或显示信息的窗体)。可以在设计窗体时设置“模式”和“弹出”属性。如果让“窗口模式”参数使用“普通”,窗体将在由这些属性设置所指定的模式下打开。如果让“窗口模式”参数使用“对话框”,这两个属性将一起设置为“是”。作为隐藏或图标打开的窗体在被显示或还原时,将返回到由其属性设置所指定的模式。
如果您打开的窗体的“窗口模式”参数被设置成“对话框”,Access 将挂起该宏,直到窗体被关闭或隐藏。要隐藏窗体,可以使用 SetValue 操作将窗体的的“可见性”属性设置为“否”。
所应用的筛选和 WHERE 条件成为窗体“筛选”属性的设置。
下面的宏将从“供应商”窗体上的一个按钮打开“添加产品”窗体。它将显示 Echo、Close、OpenForm、SetValue 和 GoToControl 操作的用法。SetValue 操作将把“产品”窗体上的“供应商ID”控件设置为“供应商”窗体上的当前供应商。GoToControl 操作将把焦点移动到“类别ID”字段上,然后可以开始输入新产品的数据。这个宏应当附加到“供应商”窗体上的“添加产品”按钮。
操作 |
参数:设置 |
备注 |
Echo |
打开回响:否 |
在宏执行过程中停止屏幕更新。 |
Close |
对象类型:窗体 对象名称:产品列表 保存:否 |
关闭“产品列表”窗体。 |
OpenForm |
窗体名称:产品 视图:窗体 数据模式:添加 窗口模式:普通 |
打开“产品”窗体。 |
SetValue |
项目:[窗体]![产品]![供应商ID] 表达式:供应商ID |
将“供应商ID”控件设置为“供应商”窗体上的当前供应商。 |
GoToControl |
控件名称:类别ID |
转到“类别ID”控件。 |
下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了 MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。
条件 |
操作 |
参数:设置 |
备注 |
Echo |
打开回响:否 |
在宏执行过程中停止屏幕更新。 |
|
IsNull([SupplierID]) |
MsgBox |
消息:请移至要查看其产品的供应商记录上,然后再次单击“回顾产品”按钮。 发嘟嘟声:是 类型:无 标题:选择供应商 |
如果“供应商”窗体中没有当前供应商的数据,则显示一条信息。 |
... |
GoToControl |
控件名称:公司名称 |
将焦点移到“公司名称”控件上。 |
... |
StopMacro |
停止执行宏。 |
|
OpenForm |
窗体名称:产品列表 视图:数据表 筛选名称: Where 条件:[供应商ID] = [窗体]![供应商]![供应商ID] 数据模式:只读 窗口模式:普通 |
打开“产品列表”窗体并显示当前供应商的产品。 |
|
MoveSize |
右:0.7799 英寸 下:1.8 英寸 |
将“产品列表”窗体放在“供应商”窗体的右下方。 |