OpenFunction 操作[9]
在 Microsoft Access 项目中,使用 OpenFunction 操作可以在“数据表”视图、内嵌函数“设计”视图、“SQL 文本编辑器”视图(对于标量函数或表用户定义函数)或“打印预览”中打开一个用户定义函数。在“数据表”视图中打开时,该操作将运行用户定义函数。也可以选择用户定义函数的数据输入模式,并限制用户定义函数所显示的记录。
OpenFunction 操作具有以下参数:
操作参数 |
说明 |
函数名称 |
要打开的用户定义函数的名称。“宏”窗口“操作参数”部分的“函数名”框中显示了当前数据库中所有的用户定义函数。这是必需的参数。 如果在某个类库数据库中运行包含 Function 操作的宏,则 Access 将先在该类库数据库中查找具有该名称的函数,然后再到当前数据库中查找。 |
视图 |
用户定义函数将在此打开的视图。可在“视图”框中单击“数据表”、“设计”、“打印预览”、“数据透视表”或“数据透视图”。默认设置为“数据表”。 |
数据模式 |
用户定义函数的数据输入模式。仅应用于在“数据表”视图中打开的用户定义函数。可以单击“添加”(用户可以添加新的记录,但不能查看或编辑已有记录)、“编辑”(用户可以查看或编辑已有记录,也可添加新的记录)或“只读”(用户只能查看记录)。默认设置为“编辑”。 |
说明 该操作类似于单击“对象”下的“查询”
如果在用户定义函数打开的情况下切换到“设计”视图,则会删除该用户定义函数的“数据模式”参数设置。即使用户返回到“数据表”视图,该设置也不会生效。
提示
· 可以在“数据库”窗口中选择用户定义函数,并将其拖到宏操作行中。这样可以自动创建 OpenFunction 操作(该操作可以在“数据表”视图中打开用户定义函数)。
· 通常,在运行用户定义函数时,会显示一些系统消息(指明运行的是用户定义函数并显示将受到影响的记录数)。如果不想显示这些系统消息,可以使用 SetWarning 操作禁止这些消息的显示。
若要在 Microsoft Visual Basic 中运行 OpenFunction 操作,请使用 DoCmd 对象的 OpenFunction 方法。
OpenModule 操作
使用 OpenModule 操作可在指定的过程中打开指定的 Visual Basic 模块。该过程可以是 Sub 过程、Function 过程或事件过程。
OpenModule 操作具有以下参数:
操作参数 |
说明 |
模块名称 |
要打开的模块的名称。如果要在数据库中为一个过程搜索所有的标准模块,并在该过程中打开适当的模块,可以将本参数留空。 如果在某个类库数据库中执行一个包含 OpenModule 操作的宏,Microsoft Access 将首先在该类库数据库中搜索具有该名称的模块,然后再到当前数据库中搜索。 |
过程名称 |
要在其中打开模块的过程的名称。如果将该参数留空,模块将在“声明”节中打开。 |
注意 必须在“模块名称”或“过程名称”参数中输入有效的名称。
说明 通过指定“模块名称”参数和“过程名称”参数,可使用该操作打开一个事件过程。例如,要打开“订单”窗体上“打印发票”按钮的“单击”事件过程,可将“模块名称”参数设置为 Form.Orders,并将“过程名称”参数设置为 PrintInvoice_Click。如果要查看窗体或报表的事件过程,则必须首先打开相应的窗体或报表。
同样地,要打开某个类模块中的过程,就必须指定模块名称,虽然未必要打开该类模块。
若要打开一个私有过程,必须打开包含该过程的模块。
该操作的效果与在“数据库”窗口中选择模块,然后单击“设计”按钮是一样的。使用该操作还可以指定过程的名称并在数据库中为过程搜索标准模块。
提示 可以在“数据库”窗口中选择一个模块,然后将其拖动到宏操作行中。这样可以自动创建一个 OpenModule 操作,该操作将在“声明”节中打开选定的模块。
若要在 Visual Basic 中运行 OpenModule 操作,请使用 DoCmd 对象的 OpenModule 方法。
OpenQuery 操作
使用 OpenQuery 操作,可以在“数据表”视图、“设计”视图或“打印预览”中打开选择查询或交叉表查询。该操作将运行一个操作查询。可以为查询选择数据输入方式。
注意 只有在 Microsoft Access 数据库环境 (.mdb) 中才有该操作。如果所使用的是 Access 项目环境 (.adp),请参见 OpenView、OpenStoredProcedure 或 OpenFunction 操作。
OpenQuery 操作具有以下参数:
操作参数 |
说明 |
查询名称 |
要打开的查询名称。在“宏”窗口“操作参数”节的“查询名称”框中显示了当前数据库中的所有查询。该参数是必选参数。 如果在类库数据库中运行包含 OpenQuery 操作的宏,Access 将首先在类库数据库中查找具有该名称的查询,然后再到当前数据库中查找。 |
视图 |
打开查询的视图。可在“视图”框中选择“数据表”、“设计”、“打印预览”、“数据透视表”或“数据透视图”。默认值为“数据表”。 |
数据模式 |
查询的数据输入模式。该参数仅应用于在“数据表”视图中打开的查询。可选择“添加”(用户可以添加新记录,但不能编辑已有记录)、“编辑”(用户可以编辑已有记录,也可以添加记录)或“只读”(用户只能查看记录)。默认值为“编辑”。 |
说明 如果“视图”参数使用“数据表”,而查询的类型为选择、交叉表、联合或传递查询,并且查询的“返回记录”属性设置为“是”,那么 Access 会显示查询结果集;如果该查询为操作、数据定义或传递查询,且查询的“返回记录”属性设置为“否”,那么只运行该查询。
OpenQuery 操作类似于在“数据库”窗口中单击“对象”下的“查询”
提示
· 在“数据库”窗口中可以选择查询,并将其拖到宏操作行中。这样可以自动创建在“数据表”视图中打开查询的 OpenQuery 操作。
如果在查询打开时切换到“设计”视图,将删除该查询的“数据模式”参数。即使用户回到“数据表”视图中,该设置也不再有效。
· 在运行操作查询时,如果不想显示通常出现的系统消息(表明运行的是操作查询,并显示将受影响的记录数),可以使用 SetWarnings 操作来避免显示这些消息。
若要在 Microsoft Visual Basic 中运行 OpenQuery 操作,请使用 DoCmd 对象的 OpenQuery 方法。
OpenReport 操作
使用 OpenReport 操作,可以在“设计”视图或“打印预览”中打开报表,或者可以立即打印报表。也可以限制需要在报表中打印的记录数。
OpenReport 操作具有下列参数:
操作 参数 |
说明 |
报表 名称 |
打开报表的名称。在“宏”窗口“操作参数”节的“报表名称”框中显示了当前数据库中所有的报表。该参数是必选参数。 如果在类库数据库中执行包含 OpenReport 操作的宏,Microsoft Access 将首先在类库数据库中查找具有该名称的报表,然后再到当前数据库中查找。 |
视图 |
打开报表的视图。可在“视图”框中选择“打印”(立即打印报表)、“设计”或“打印预览”。默认值为“打印”。 |
筛选 名称 |
用于限制报表记录数的筛选。可以输入一个已有查询或另存为查询的筛选的名称。不过,查询必须包含要打开的报表中的所有字段,或将查询的“输出所有字段”属性设置为“是”。 |
Where 条件 |
Access 用来从报表的基础表或基础查询中选择记录的有效 SQL Where 子句表达式(不包含 Where 一字)。如果选择“筛选名称”参数指定的筛选,Access 将 Where 子句应用于筛选的结果。 如果要打开报表,并要将其记录数限制为使用其他窗体控件的数值指定的记录数,可使用下列表达式:[fieldname] = Forms![formname]![controlname on form] FieldName 参数是要打开的报表的基础表或基础查询的名称。ControlName on form 参数是窗体控件的名称,该控件包含需要报表中的记录与之匹配的值。 注意 Where 条件参数最长为 255 个字符。如果需要输入更复杂、更长的 SQL Where 子句,可使用 Microsoft Visual Basic 中 DoCmd 对象的 OpenReport 方法。在 Visual Basic 中可以输入最长为 32,768 个字符的 SQL Where 子句语句。 |
说明 “视图”参数的“打印”设置将使用当前的打印机设置立即打印报表,而并不打开“打印”对话框。也可以使用 OpenReport 操作打开并设置报表,然后使用 PrintOut 操作进行打印。例如,可能要在打印前修改报表,或使用 PrintOut 操作更改打印机设置。
用户所应用的筛选和 Where 条件将成为报表的“筛选”属性设置。
OpenReport 操作类似于单击“对象”下的“报表”
提示