2024年2月20日发(作者:)

AddMenu 操作

使用 AddMenu 操作可以创建下列内容:

窗体或报表的自定义菜单栏。自定义菜单栏可替换窗体或报表的内置菜单栏。

窗体、窗体控件或报表的自定义快捷菜单。自定义快捷菜单可替换窗体、窗体控件或报表的内置快捷菜单。

全局菜单栏。除了用户为窗体或报表添加的自定义菜单栏以外,全局菜单栏将替换所有 Microsoft

Access 窗口的内置菜单栏。

全局快捷菜单。除非已经为窗体、窗体控件或报表添加了自定义快捷菜单,否则对于表数据表和查询数据表中的字段,“窗体”视图、“数据表”视图和“打印预览”中的窗体,以及“打印预览”中的报表,全局快捷菜单将替换它们的内置快捷菜单。

注意 虽然在 Access 中,使用包含 AddMenu 操作的宏可以创建所有类型的自定义菜单(并且,原有的使用宏创建的自定义菜单仍然有效),不过也可以使用“自定义”对话框来创建菜单。在“视图”菜单上指向“工具栏”,然后单击“自定义”即可打开“自定义”对话框。当显示“自定义”对话框后,即可轻松地新建菜单或自定义内置菜单。

AddMenu 操作具有下列参数:

操作参数

菜单名称

说明

添加到自定义菜单栏或全局菜单栏中的下拉式菜单的名称。可以在“宏”窗口“操作参数”部分的“菜单名称”框中输入菜单名称。这是自定义菜单栏和全局菜单栏所必需的参数,但对于自定义快捷菜单和全局快捷菜单,则忽略该参数。

若要创建访问键以便使用键盘来选择菜单,请在作为访问键的字母之前键入一个“And”符号 (&)。在菜单栏上的菜单名称中该字母将带有下划线。

宏组的名称,该宏组中包含上述菜单命令所对应的宏。这是必需的参数。

如果在某个类库数据库中执行包含 AddMenu 操作的宏,Access 将只在当前数据库中查找具有该名称的宏组。

选择菜单时显示在状态栏中的文本。对于自定义快捷菜单和全局快捷菜单,该参数会被忽略。

菜单宏名称

状态栏文字

使用宏创建自定义菜单栏、自定义快捷菜单、全局菜单栏或全局快捷菜单时,必须执行下列操作:

1. 为自定义菜单栏或全局菜单栏上所需的每个下拉式菜单均创建一个包含 AddMenu 操作的菜单栏宏。对于自定义快捷菜单和全局快捷菜单,菜单栏宏应该只包含一个 AddMenu 操作。

2. 通过为每个菜单创建一个宏组为每个下拉式菜单指定命令。每个命令都运行由该宏组中的一个宏所定义的操作集合。对于自定义快捷菜单和全局快捷菜单,只需创建一个宏组,该宏组中的每个宏都包含一个快捷菜单命令的操作集合。

3. 将菜单栏宏附加于适当的 Access 对象:

o

对于自定义菜单栏,在窗体或报表的 MenuBar 属性中输入菜单栏宏的名称。

o

对于自定义快捷菜单,在窗体、窗体控件或报表的 ShortcutMenuBar 属性中输入菜单栏宏的名称。

o

对于全局菜单栏,单击“工具”菜单上的“启动”,然后在“启动”对话框的“菜单栏”框中输入菜单栏宏的名称。

o

对于全局快捷菜单,单击“工具”菜单上的“启动”命令,然后在“启动”对话框的“快捷菜单栏”框中输入菜单栏宏的名称。

菜单栏上的每个菜单都需要一个独立的 AddMenu 操作。

1

自定义菜单栏、全局菜单栏及快捷菜单会替换其所附对象的内置菜单栏和快捷菜单。如果要在这些菜单里保留某些 Access 命令以备使用,可以利用 RunCommand 操作将这些命令放入所需菜单的宏组中。

可以从菜单命令运行宏,方法是在该命令的宏中使用 RunMacro 操作。

注意 AddMenu 操作只能用于菜单栏宏,而该菜单栏宏必须是由窗体、窗体控件或报表的 MenuBar 或

ShortcutMenuBar 属性指定的,或是由“启动”对话框(通过单击“工具”菜单上的“启动”命令即可打开该对话框)的“菜单栏”框或“快捷菜单栏”框指定的。菜单栏宏应该只包含 AddMenu 操作。

为窗体或报表,或者为数据库指定了菜单栏宏之后,无论何时打开该窗体、报表或数据库,Access 都会执行该菜单栏宏。如果在窗体、报表或数据库打开时,更改了用于定义下拉式菜单命令的菜单栏宏或宏组,那么必须在关闭窗体、报表或数据库后将其重新打开,才能看到自定义菜单栏及其菜单中的更改。

创建包含自定义菜单命令的宏组时,可以参阅下列信息:

在宏组中,每个宏的“宏名”列中的名称就是命令名称。当选择命令时,该行“备注”列中的文本将显示在状态栏中。

若要在两个菜单命令之间创建分隔线,请在“宏名”列中适当的菜单命令之间键入连字符 (-)。

若要创建访问键以便用键盘选择命令,请在命令名称中作为访问键的字母前键入“And”符号 (&)。该字母在菜单上将以下划线形式显示。

可以在由“菜单宏名称”参数指定的宏组中使用 AddMenu 操作为自定义菜单或自定义快捷菜单创建子菜单。如果将 AddMenu 操作放入这样的宏组中,Access 将使用由该 AddMenu 操作的“菜单名称”和“状态栏文字”参数所指定的菜单名称和状态栏文字创建一个子菜单。该子菜单中包含由 AddMenu 操作的“菜单宏名称”参数所指定的宏组中的宏定义的命令。因为这种 AddMenu 操作(该操作通常为自定义菜单上的命令指定命令名称和状态栏文本)定义的是子菜单,而不是最上层菜单的命令,所以该操作的“宏名”和“备注”列将被忽略。通过在每一级菜单的宏组中使用 AddMenu 操作,可以创建多级子菜单。

只有最上层菜单栏宏才支持宏条件。也就是说,可以在菜单栏宏中使用条件来决定是否在自定义菜单栏或全局菜单栏中显示特定的菜单,但是只有对最上层菜单栏上的菜单才可这样做。无法用条件来显示或隐藏菜单中的命令或子菜单。对于自定义快捷菜单或全局快捷菜单,同样可以使用条件来隐藏或显示它们。

若要在 Visual Basic 中运行 AddMenu 操作,可以使用 DoCmd 对象的 AddMenu 方法。在 Visual Basic

中,您还可以设置 MenuBar 或 ShortcutMenuBar 属性,将自定义菜单栏或自定义快捷菜单附加到窗体、窗体控件或报表中。可以设置 StartUpMenuBar 属性(相当于通过编程设置“菜单栏”框)来创建全局菜单栏,也可以设置 Application 对象的 MenuBar 属性来创建全局菜单栏。类似地,可以设置 Application 对象的

StartUpShortcutMenuBar 属性(相当于通过编程设置“快捷菜单栏”框)或 ShortcutMenuBar 属性来创建全局快捷菜单。

ApplyFilter 操作

使用 ApplyFilter 操作可以对表、窗体或报表应用筛选、查询或 SQL WHERE 子句,以便限制或排序表的记录以及窗体或报表的基础表或基础查询中的记录。对于报表,只能在其“打开”事件属性所指定的宏中使用该操作。

ApplyFilter 操作具有以下参数:

操作

筛选名称

Where

条件

2

说明

用以限制或排序表、窗体或报表中的记录的筛选或查询的名称。可以输入已有查询或筛选的名称,该筛选已作为查询保存在“宏”窗口“操作参数”节的“筛选名称”框内。

有效的 SQL WHERE 子句(不包含 WHERE 一字)或表达式,用以限制表、窗体或报表中的记录。

注意 在“Where 条件”参数表达式中,表达式的左边通常包含某个窗体或报表的基础表或基础查询的字段名。表达式的右边通常包含要应用于该字段的条件,以限制或排序记录。例如,条件可以是另一个窗体中的控件的名称,该窗体包含要用来使第一个窗体的记录与之相匹配的值。控件名称必须完整限定,例如:

Forms!formname!controlname

字段名应使用双引号包围起来,而字面值则应使用单引号。

“Where 条件”参数最长为 255 个字符。如果要输入较长的 SQL 子句,可以在 Microsoft Visual Basic 中,使用

DoCmd 对象的 ApplyFilter 方法。在 Visual Basic 中可以输入最长为 32,768 个字符的 SQL WHERE 子句。

注意 如果已经定义了某个提供适当数据的筛选,可以使用“筛选名称”参数。也可以直接使用“Where

条件”参数输入限制条件。如果同时使用两个参数,Microsoft Access 将应用 WHERE 子句的条件进行筛选。使用该操作时必须至少包含一个参数。

可以对“窗体”视图或“数据表”视图中的窗体应用筛选或查询。

所用的筛选和 WHERE 条件将成为窗体或报表的“筛选”或“服务器筛选”属性设置。

对于表和窗体,该操作与单击“记录”菜单上的“应用筛选/排序”或“应用服务器筛选”类似。但是,该菜单命令将对表或窗体应用最新创建的筛选,而 ApplyFilter 操作则应用指定的筛选或查询。

在 Access 数据库中,如果在运行 ApplyFilter 操作之后指向“记录”菜单上的“筛选”,然后单击“高级筛选/排序”,那么“高级筛选/排序”窗口将显示对该操作所选的筛选条件。

在 Access 数据库中,如果要删除筛选并显示表或窗体的全部记录,可使用 ShowAllRecords 操作或“记录”菜单上的“取消筛选/排序”命令。

保存表或窗体时,Access 将保存当前在对象中定义的任一筛选,但是下一次打开对象时并不会自动应用该筛选(虽然在保存它之前,会自动应用对对象的任何排序)。如果要在首次打开窗体时自动应用筛选,可以指定一个包含 ApplyFilter 操作的宏,或包含 DoCmd 对象的 ApplyFilter 方法的事件过程作为对窗体的“打开”事件属性的设置。也可以使用 OpenForm 或 OpenReport 操作,或者与它们相对应的方法来应用筛选。如果要在首次打开表时自动应用筛选,可以使用一个包含 OpenTable 操作并紧跟 ApplyFilter 操作的宏来打开表。

示例:通过使用宏应用筛选

下面的宏包含一组操作,每项操作都可对“客户电话列表”窗体的记录进行筛选。它显示了

ApplyFilter、ShowAllRecords 和 GoToControl 操作的使用方法,同时也显示了如何使用条件来判定窗体上所选择的是选项组中哪一个切换按钮。每个操作行都与一个切换按钮相关联,该切换按钮可以选择以 A、B、C 等打头的记录集合,也可以选择所有记录。该宏应附加在 CompanyNameFilter 选项组的 AfterUpdate 事件上。

条件

[公司名称筛选] =1

参数:设置

Where 条件:[公司名称]Like "[AÀÁÂÃÄ]*"

ApplyFilter

[公司名称筛选] =2 Where 条件:[公司名称]

Like "B*"

ApplyFilter

[公司名称筛选] =3 Where 条件:[公司名称]

Like "[CÇ]*"

... 由 D 到 Y 的操作行与由 A 到 C 的操作行具有相同的格式 ...

ApplyFilter

[公司名称筛选] =26 Where 条件:[公司名称]

3

操作

ApplyFilter

说明

筛选公司名以 A、À、Á、Â、Ã 或 Ä 打头的记录。

筛选公司名以 B 打头的记录。

筛选公司名以 C 或 Ç 打头的记录。

筛选公司名以 Z、Æ、Ø 或

Like "[ZÆØÅ]*"

ShowAllRecords

[公司名称筛选] =27

[RecordsetClone].[RecordCount]>0 GoToControl

控件名称:公司名称

Å 打头的记录。

显示所有记录。

如果为选定字母返回了记录,那么将焦点移动到 CompanyName 控件。

Beep 操作

使用 Beep 操作,可以通过计算机的扬声器发出嘟嘟声。

Beep 操作没有任何参数。

可以使用 Beep 操作提示下列情况:

已发生重要的屏幕更改。

控件中输入了某种错误类型的数据。例如,用户在文本框控件中输入了数值型数据。

宏已经执行到指定位置或已经完成操作。

嘟嘟声的频率和持续时间取决于计算机硬件,在不同的计算机上可能会有所不同。

若要在 Visual Basic 中执行 Beep 操作,请使用 DoCmd 对象的 Beep 方法。

CancelEvent 操作

使用 CancelEvent 操作可以取消一个事件,该事件在取消前用于引发 Microsoft Access 执行后来包含该操作的宏。宏名称即为事件属性的设置,如 BeforeUpdate、OnOpen、OnUnload 或 OnPrint。

CancelEvent 操作没有任何参数。

在窗体中,通常在包含 BeforeUpdate 事件属性的验证宏中使用 CancelEvent 操作。当用户在控件或记录中输入数据时,Access 将在向数据库添加这些数据之前先运行该宏。如果数据不符合宏中的验证条件,CancelEvent 操作便会在更新过程开始之前取消更新。

通常都是将该操作和 MsgBox 操作一起使用,以指出数据不符合验证条件,并提供关于应该输入的数据类型的有用信息。

使用 CancelEvent 操作可以取消下列事件:

ApplyFilter

DblClick

Exit

KeyPress

BeforeDelConfirm

Delete

MouseDown

Unload

BeforeInsert

Dirty

Filter

Format

BeforeUpdate

NoData

Open

Print

注意 可以将 MouseDown 事件与 CancelEvent 操作一起使用,以取消在对象上单击鼠标右键时发生的事件。

如果在某个控件的 OnDblClick 事件属性的设置中指定了一个包含 CancelEvent 操作的宏,该操作便会取消 DblClick 事件。

对于可以被取消的事件,事件的默认行为(即 Access 在事件发生时通常所做的操作)在事件的宏运行之后发生。这使得您可以取消默认行为。例如,当双击文本框中包含插入点的单词时,Access 通常会选定该单词。可以在 DblClick 事件的宏中取消这种默认行为,转而执行某个其他操作,例如打开一个窗体,显示有关文本框中数据的信息。对于不能被取消的事件,默认行为在宏运行之前便会发生。

4

注意 如果某窗体的 OnUnload 事件属性指定了一个执行 CancelEvent 操作的宏,则不能关闭该窗体。若要关闭窗体,必须更正引起 CancelEvent 操作执行的条件,或者打开宏并删除 CancelEvent 操作。如果窗体是模式窗体,则不能打开该宏。

若要在 Visual Basic 中执行 CancelEvent 操作,可使用 DoCmd 对象的 CancelEvent 方法。

示例:通过使用宏验证数据

下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及

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

条件

IsNull([国家/地区])

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

...

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

操作

StopMacro

MsgBox

参数:设置

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

发嘟嘟声:是

类型:信息

标题:邮政编码错误

备注

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

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

取消事件。

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

取消事件。

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

取消事件。

CancelEvent

GoToControl

控件名称:邮政编码

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

符。

发嘟嘟声:是

类型:信息

标题:邮政编码错误

... CancelEvent

GoToControl

控件名称:邮政编码

([国家/地区] = "加拿大") And ([邮MsgBox

消息:邮政编码无效。加拿大政编码] Not Like"[A-Z][0-9][A-Z]

编码示例:H1J 1C3

发嘟嘟[0-9][A-Z][0-9]")

声:是

类型:信息

标题:邮政编码错误

... CancelEvent

Close 操作

使用 Close 操作可以关闭指定的 Microsoft Access 窗口,或者,如果没有指定窗口,则关闭活动窗口。

Close 操作具有以下参数:

操作说明

参数

对象要关闭的窗口的对象类型。可以在“宏”窗口“操作参数”节的“对象类型”框中选择“表”、“查询”、“窗体”、类型

“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。如果要选择活动窗口,那么将该参数留空。

对象要关闭的对象名称。“对象名称”框中显示了数据库中由“对象类型”参数所选择的全部对象。单击该对名称 象即可关闭它。如果“对象类型”参数为空,将该参数留空。

保存 决定关闭时是否要保存对对象的更改。可选择“是”(保存对象)、“否”(关闭对象而不保存)或“提示”(提示用户是否要保存对象)。默认值为“提示”。

对于用户可以明确地打开或关闭的所有数据库对象,都可以使用 Close 操作来关闭。该操作与下列行为的效果类似:即选择对象然后单击“文件”菜单上的“关闭”,单击对象窗口的“控制”菜单上的“关闭”

或单击对象的“关闭”按钮

5

关闭对象。

如果“保存”参数设置为“提示”,并且在 Close 操作执行之前,对象尚未保存,那么在宏关闭对象之前将显示对话框以提示用户保存对象。如果将 SetWarnings 操作的“打开警告”参数设置为“否”,将不显示对话框,并且自动保存对象。

若要在 Visual Basic 中运行 Close 操作,请使用 DoCmd 对象的 Close 方法。

CopyObject 操作

使用 CopyObject 操作,可以将指定的数据库对象复制到另外一个 Microsoft Access 数据库 (.mdb)

中,或以新的名称复制到同一数据库或 Access 项目 (.adp) 中。例如,可以在另一个数据库中复制或备份一个已有的对象,也可以快速地创建一个略有更改的相似对象。

CopyObject 操作具有下列参数:

操作参数

目标数据库

说明

目标数据库的有效路径和文件名称。在“宏”窗口“操作参数”部分的“目标数据库”框中输入路径和文件名称。如果要选择当前的数据库,则将此参数留空。

如果在某个类库数据库中执行包含 CopyObject 操作的宏,并且将此参数留空,Access 就会把对象复制到该类库数据库中。

对象的新名称。在将对象复制到不同的数据库时,如果将此参数留空,可使对象保留原来的名称不变。

要复制的对象类型。可单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。若要复制“数据库”窗口中选定的对象,则将此参数留空。

要复制的对象的名称。“源对象名称”框中显示了数据库中由“源对象类型”参数选择的类型的全部对象。在“源对象名称”框中,单击要复制的对象。如果“源对象类型”参数为空,则也请将本参数留空。

如果在某个类库数据库中执行包含 CopyObject 操作的宏,Access 将首先在该类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。

新名称

源对象类型

源对象名称

说明:使用该操作时,必须至少为“目标数据库”和“新名称”参数中的一个参数输入值。如果将“源对象类型”和“源对象名称”参数留空,Access 将复制“数据库”窗口中选定的对象。若要在“数据库”窗口中选择对象,可以使用 SelectObject 操作,并将“在‘数据库’窗口中”参数设为“是”。

CopyObject 操作与下列行为相类似:在“数据库”窗口中选择对象,单击“编辑”菜单上的“复制”,然后单击“编辑”菜单上的“粘贴”。在随后出现的“粘贴为”对话框中,可以为该对象指定一个新名称。CopyObject 操作会自动执行所有这些步骤。

注意 当复制数据访问页时,CopyObject 操作仅复制指向相关 .htm 文件的链接而不是实际的 .htm

文件。

另外,也可以通过单击“文件”菜单上的“另存为/导出”,来复制“数据库”窗口中选定的对象,或“表”窗口、“查询”窗口、“窗体”窗口、“报表”窗口、“宏”窗口或“代码”窗口中打开的对象。在“另存为”对话框中可以选择是在当前数据库中以新名称保存对象副本,还是在另一个数据库中保存该对象。如果该对象已经保存过,而在当前数据库中又以新的名称保存,那么原来的对象仍以原有名称存在。

目标数据库的路径和文件名称必须在宏运行 CopyObject 操作之前已经存在。如果不存在,Access 将显示错误信息。

若要在 Visual Basic 中运行 CopyObject 操作,请使用 DoCmd 对象的 CopyObject 方法。

6

CopyDatabaseFile 操作

使用 CopyDatabaseFile 操作,可以为当前的、与 Microsoft Access 项目连接的 Microsoft SQL Server

7.0 或更高版本数据库制作副本。Access 脱离当前的数据库,然后使其附加到目标服务器上。

DeleteObject 操作

用 DeleteObject 操作可删除指定的数据库对象。

DeleteObject 操作具有以下参数:

操作参数

对象类型

对象名称

说明

要删除对象的类型。可在“宏”窗口“操作参数”部分的“对象类型”框中单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。若要删除“数据库”窗口中的选定对象,请将该参数留空。

要删除对象的名称。“对象名称”框中显示了数据库中由“对象类型”参数指定的类型的所有对象。如果“对象类型”框为空,则也请将本框留空。

如果在某个类库数据库中运行一个包含 DeleteObject 操作的宏,Microsoft Access 将首先在该类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。

警告 如果“对象类型”和“对象名称”参数为空,Access 在遇到 DeleteObject 操作而删除“数据库”窗口中选定的对象时并不显示警告信息。

说明:用 DeleteObject 操作可删除在运行宏时创建的临时对象。例如,在用 OpenQuery 操作运行一个生成表查询时可以创建一个临时的表。在使用完该临时表之后,就可用 DeleteObject 操作删除它。该操作的效果与在“数据库”窗口中选择一个对象,然后按 Del 键或单击“编辑”菜单上的“删除”是一样的。

若要在 Visual Basic 中运行 DeleteObject 操作,请使用 DoCmd 对象的 DeleteObject 方法。

Echo 操作

使用 Echo 操作可以指定是否打开回响。例如,可以使用该操作在宏运行时隐藏或显示运行结果。

Echo 操作具有下列参数:

操作参数 说明

在“宏”窗口“操作参数”部分的“打开回响”框中,单击“是”(打开回响)或“否”(关闭回响)。默认值为“是”。

打开回响

状态栏文字 关闭回响时在状态栏中显示的文字。例如,在关闭回响时,状态栏可以显示“宏正在运行”。

说明:当 Microsoft Access 执行宏时,屏幕更新通常显示不是宏功能所必需的信息。如果将“打开回响”参数设置为“否”,则宏运行时将不会更新屏幕。当宏完成时,Microsoft Access 会自动打开回响,并重画窗口。“打开回响”参数的“否”设置并不影响宏或其运行结果。

Echo 操作不会禁止模式对话框(如错误消息)或弹出式窗体(如属性表)的显示。即使关闭了回响,仍可以用模式对话框或弹出式窗体来收集或显示信息。若要关闭所有消息框或对话框(除错误消息框和要求用户输入信息的对话框外),请使用 SetWarnings 操作。

在同一个宏中可以多次运行 Echo 操作。这样就能够在宏运行时改变状态栏文字。

7

如果要关闭回响,可以使用 Hourglass 操作,将鼠标指针改变成沙漏图标(或者为 Microsoft Window

2000、Microsoft Windows Millennium Edition、Microsoft Window 98 中的“忙”或 Microsoft Window NT

中的“等待”状态而设置的其他鼠标指针图标),以表明宏正在运行。

若要在 Visual Basic 中运行 Echo 操作,可使用 DoCmd 对象的 Echo 方法。

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

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

操作

Echo

Close

OpenForm

SetValue

参数:设置

打开回响:否

对象类型:窗体

对象名称:产品列表

保存:否

备注

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

关闭“产品列表”窗体。

打开“产品”窗体。

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

窗体名称:产品

视图:窗体

数据模式:添加

窗口模式:普通

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

表达式:供应商ID

GoToControl

控件名称:类别ID 移到“类别ID”控件。

通过使用宏同步窗体

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

条件

IsNull([供应商ID])

...

操作

Echo

MsgBox

参数:设置

打开回响:否

备注

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

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

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

停止执行宏。

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

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

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

发嘟嘟声:无

类型:无

标题:选择供应商

GoToControl

控件名称:公司名称

StopMacro

OpenForm

窗体名称:产品列表

视图:数据表

筛选名称: Where

条件:[供应商ID] = [Forms]![供应商]![供应商ID]

数据模式:只读

窗口模式:普通

右:0.7799 英寸

下:1.8 英寸

MoveSize

FindNext 操作

8

使用 FindNext 操作可以查找下一个、符合前一个 FindRecord 操作或“在字段中查找”对话框中指定条件的记录(通过单击“编辑”菜单中的“查找”可以打开“在字段中查找”对话框)。使用 FindNext 操作可以反复搜索记录。例如,可以在某一特定客户的所有记录间进行连续移动。

设置

FindNext 操作没任何参数。FindNext 操作查找下一个、符合由 FindRecord 操作或“在字段中查找”对话框中所设条件的记录。FindRecord 操作的参数与“在字段中查找”对话框中的选项共享。

若要设置搜索条件,请使用 FindRecord 操作。通常,可以在宏中输入 FindRecord 操作,然后使用

FindNext 操作,连续地查找符合相同条件的记录。如果只搜索符合某一特定条件的记录,可以在 FindNext 操作对应的操作行上“条件”列中输入一个条件表达式。

说明 该操作与使用“在字段中查找”对话框中的“查找下一个”按钮具有相同的作用。

注意 虽然 FindRecord 操作可以对应于表、查询和窗体的“编辑”菜单上的“查找”命令,但是不对应于“代码”窗口的“编辑”菜单上的“查找”命令。不能用 FindRecord 操作或 FindNext 操作来搜索模块中的文本。

提示 如果已经将 FindRecord 操作的“只搜索当前字段”参数设置为“是”,则可能需要在使用

FindNext 操作之前先通过 GoToControl 操作将焦点移到包含要搜索数据的控件上。

如果在执行 FindNext 宏操作时当前选取的文本与搜索文本相同,那么搜索会紧接所选内容之后在同一字段、同一记录中开始。否则搜索会从当前记录的开头开始。这样可以在单个记录中查找符合相同搜索条件的多个实例。

不过,请注意,如果使用命令按钮执行包含 FindNext 操作的宏,系统便会重复地查找符合搜索条件的第一个实例。之所以发生这种情况,是因为单击命令按钮时,会从包含匹配值的字段中删除焦点。然后

FindNext 操作将从记录的开头进行搜索。若想避免这种问题,可使用不改变焦点的技术执行宏(这类技术包括自定义工具栏按钮或 AutoKeys 宏定义的组合键)。也可以在执行 FindNext 操作之前,先在宏中将焦点设置到包含搜索条件的字段中。如果使用命令按钮执行包含 FindRecord 操作的宏,并将“从第一条查找”参数设置为“否”,也会发生同样的情况。

若要在 Visual Basic 中运行 FindNext 操作,可使用 DoCmd 对象的 FindNext 方法。

FindRecord 操作

使用 FindRecord 操作,可以查找符合 FindRecord 参数指定条件的数据的第一个实例。该数据可能是在当前的记录中,在之前或之后的记录中,也可以是在第一个记录中。可以在活动的表数据表、查询数据表、窗体数据表或窗体中查找记录。

FindRecord 操作具有下列参数:

操作参数

查找内容

匹配

区分大小写

搜索

9

说明

指定要在记录中查找的数据。请输入想要查找的文本、数字或日期,或在“宏”窗口“操作参数”部分的“查找内容”框中,键入以等号 (=) 开始的表达式。可以使用通配符。该参数是必需的参数。

指定数据在字段中所在的位置。可以指定搜索字段中任何部分(“字段任何部分”)的数据、搜索整个字段中(“整个字段”)的数据或搜索位于字段开头部分(“字段开头”)的数据。默认值为“整个字段”。

指定该搜索是否区分大小写。可单击“是”(进行区分大小写的搜索)或“否”(不区分大小写字母的搜索)。默认值为“否”。

指定是从当前记录向记录开头进行搜索(“向上”)还是向记录结尾进行搜索(“向下”),或

格式化搜索

是向下搜索到记录结尾然后再从记录开头搜索到当前记录,以便对所有的记录都进行搜索(“全部”)。默认值为“全部”。

指定搜索中是否包含带格式的数据。可单击“是”(Microsoft Access 在搜索时按字段中所显格式看待数据)或“否”(Access 搜索数据库中存储的数据,这些数据并不总是与其显示的格式相同)。默认值为“否”。

可以使用该功能限制搜索某一特定格式的数据。例如,如果单击“是”,并在“查找内容”参数中键入 1,234,则会在字段中查找包括逗号的格式化数值 1,234。如果要键入 1234 以在该字段中搜索数据,则单击“否”。

搜索日期时,单击“是”可以查找格式完全相同的日期,例如 09-March-2001。如果单击“否”,则要按 Windows 控制面板的“区域设置”中设置的格式在“查找内容”参数中输入日期,该格式显示在“区域设置”的“日期”选项卡上的“短日期格式”框中。例如,如果“短日期格式”框设置为 M/d/yy,则可以输入 3/9/01,并且 Access 将在日期字段中查找所有与 2001 年 3 月 9 日相对应的项目,而忽略该字段的格式。

注意 只有在当前字段为绑定控件,而“匹配”参数设置为“整个字段”,并且“只搜索当前字段”参数设置为“是”,以及“区分大小写”参数设置为“否”时,“格式化搜索”参数才会生效。

如果将“区分大小写”设置为“是”,或者将“只搜索当前字段”设置为“否”,则还必须将“格式化搜索”参数设置为“是”。

指定是在每个记录的当前字段中进行搜索还是在每个记录的所有字段中进行搜索。在当前字段中进行搜索较快。可单击“是”(只在当前字段中搜索)或“否”(在每个记录的所有字段中搜索)。默认值为“是”。

指定是从第一个记录还是从当前记录开始搜索。 可单击“是”(从第一个记录开始)或“否”(从当前记录开始)。默认值为“是”。

只搜索当前字段

查找第一个

说明 当某个宏运行 FindRecord 操作时,Access 将在记录中搜索指定数据(搜索的顺序由“搜索”参数的设置决定)。当 Access 查找到指定的数据时,该数据会在记录中被选定。

FindRecord 操作与单击“编辑”菜单中的“查找”命令具有相同的作用,而且其参数与“在字段中查找”对话框中的选项相同,可以通过单击“编辑”菜单中的“查找”打开该对话框。如果在“宏”窗口中设置 FindRecord 参数,然后运行宏,那么单击“查找”命令时,将会在“在字段中查找”对话框中看到已选择了对应的选项。

在一次数据库会话中,Access 会保留最近的 FindRecord 参数,执行后续的 FindRecord 操作时,无需重复输入同样的条件。如果将某个参数留空,Access 会使用该参数最近的设置,即由上一次 FindRecord 操作或“在字段中查找”对话框中进行的设置。

如果想通过宏来查找记录,请使用 FindRecord 操作,而不要使用 RunCommand 操作并将其参数设置为运行“查找”命令。

注意 虽然 FindRecord 操作可以对应于表、查询和窗体的“编辑”菜单上的“查找”,但是不对应于“代码”窗口的“编辑”菜单上的“查找”。不能使用 FindRecord 操作来搜索模块中的文本。

如果在执行 FindRecord 宏操作时当前选择的文本与搜索文本相同,那么搜索会紧接所选内容之后在同一字段、同一记录中开始。否则搜索会从当前记录的开头开始。这样可以在单个记录中查找符合相同搜索条件的多个实例。

不过,请注意,如果使用命令按钮来执行包含 FindRecord 操作的宏,系统会重复查找符合搜索条件的第一个实例。之所以发生这种情况,是因为单击命令按钮时,会从包含匹配值的字段中删除焦点,然后

FindRecord 操作将从记录的开头进行搜索。若想避免这种问题,可使用不改变焦点的技术执行宏,这些技术包括自定义工具栏按钮或 AutoKeys 宏中定义的组合键,也可以在执行 FindRecord 操作之前,在宏中将焦点设置到包含搜索条件的字段中。

10

如果使用命令按钮来运行包含 FindNext 操作的宏,也会发生同样的情况。

若要在 Visual Basic 中运行 FindRecord 操作,请使用 DoCmd 对象的 FindRecord 方法。

GoToControl 操作

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

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

GoToControl 操作具有下列参数:

操作说明

参数

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

注意 在“控件名称”参数中只需输入字段名称或控件名称,而不必输入完全合格的标识符,如

Forms!产品![产品 ID]。

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

提示 可以使用 GoToControl 操作将焦点移动子窗体上,子窗体是一种控件。然后可以使用

GoToRecord 操作移到子窗体中的特定记录中。另外,也可以移到子窗体的控件上,方法是使用 GoToControl

操作先移到子窗体中,然后再移动到子窗体上的控件上。

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

示例

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

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

操作

Echo

Close

OpenForm

SetValue

参数:设置

打开回响:否

对象类型:窗体

对象名称:产品列表

保存:否

窗体名称:产品

视图:窗体

数据模式:添加

窗口模式:普通

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

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

移到“类别ID”控件。

备注

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

关闭“产品列表”窗体。

打开“产品”窗体。

商ID

GoToControl

控件名称:类别ID

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

11

下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及

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

条件

IsNull([国家/地区])

操作

StopMacro

参数:设置

备注

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

[国家/地区] In ("法国","意大利","MsgBox

西班牙") And Len([邮政编码]) <> 5

...

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

消息:邮政编码必须为 5 个如果邮政编码不是 5 个字符。

发嘟嘟声:是

类型:字符,则会显示消息。

信息

标题:邮政编码错误

取消事件。

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

取消事件。

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

取消事件。

CancelEvent

GoToControl

控件名称:邮政编码

MsgBox

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

发嘟嘟声:是

类型:信息

标题:邮政编码错误

... CancelEvent

GoToControl

控件名称:邮政编码

([国家/地区] = "加拿大") And ([邮MsgBox

消息:邮政编码无效。加拿大政编码] Not Like"[A-Z][0-9][A-Z] 编码示例:H1J 1C3

发嘟嘟[0-9][A-Z][0-9]")

声:是

类型:信息

标题:邮政编码错误

... CancelEvent

GoToPage 操作

使用 GoToPage 操作,可以在活动窗体中将焦点移到指定页的第一个控件上。如果已经创建了一个带有分页符的窗体,其中包含几组相关的信息,就可以使用该操作。例如,可能有一个员工窗体,其中一页上包含个人信息,另一页上包含办公室信息,而第三页上包含销售信息。可以使用 GoToPage 操作移到所需的页上。另外,还可以利用选项卡控件,在单个窗体上展示多个页。

GoToPage 操作具有下列参数:

说明

页码 要将焦点移动到的页的页码。在“宏”窗口“操作参数”部分的“页码”框中输入页码。如果将本参数留空,那么焦点会停留在当前的页上。可以使用“右”及“下”参数,以显示该页中要查看的其他部分。

右 此页左上角边缘的水平位置,从页所在窗口的左边缘开始算起。如果指定了“下”参数,则也必须指定本参数。

下 此页左上角的垂直位置,从页所在窗口的上边缘开始算起。如果指定了“右”参数,则也必须指定本参数。

注意 “右”和“下”参数是按照英寸或厘米度量的,具体采用哪种度量单位要视 Windows 控制面板中的“区域设置”而定。

说明 使用该操作可以选择指定页上的第一个控件(按窗体的 Tab 键次序定义)。而使用 GoToControl

操作,可将焦点移到窗体上指定的控件中。

对页大于 Microsoft Access 窗口的窗体可以使用“右”和“下”参数。先使用“页码”参数移到所需的页,然后使用“右”和“下”参数显示该页中要查看的部分。对于左上角距其所在页的左上角偏移指定距离的部分,Access 可以进行显示。

在以下几种情况下,不能使用 GoToPage 操作:

12

操作参数

将焦点移到隐藏窗体的页上。

在选项卡控件内将焦点从一页移动到另一页上。

若要在 Visual Basic 中运用 GoToPage 操作,可使用 DoCmd 对象的 GoToPage 方法。

GoToRecord 操作

使用 GoToRecord 操作可以使打开着的表、窗体或查询结果集中的指定记录变成当前记录。

GoToRecord 操作具有以下参数:

操作参数

对象类型

对象名称

记录

偏移量

说明

包含要作为当前记录的对象类型。可以在“宏”窗口“操作参数”节中的“对象类型”框中选择“表”、“查询”、“窗体”、“服务器视图”、“存储过程”或“函数”。将该参数留空可以选择活动对象。

包含要作为当前记录的对象名称。“对象名称”框中显示了当前数据库中由“对象类型”参数所选择的全部对象。如果“对象类型”参数为空,则也将该参数留空。

要作为当前记录的记录。可在“记录”框中单击“向前移动”、“向后移动”、“首记录”、“尾记录”、“定位”或“新记录”。默认值为“向后移动”。

整型数或结果为整型的表达式。表达式前必须有等号 (=)。该参数指定要用作当前记录的记录。有两种使用“偏移量”参数的方式:

当“记录”参数为“向前移动”或“向后移动”时,Microsoft Access 将记录编号向前或向后移动由“偏移量”参数指定的数。

当“记录”参数为“定位”时,Access 将移动到其编号与“偏移量”参数值相等的记录。记录编号显示在窗口底部的记录编号框中。

注意 如果“记录”参数设置为“首记录”、“尾记录”或“新记录”,Access 将忽略“偏移量”参数。如果输入过大的“偏移量”参数,Access 会显示错误信息。此外,不能在“偏移量”参数中输入负数。

说明 如果焦点处于某个记录的特定控件中,该操作将使焦点停留在新记录的相同控件中。将“记录”参数设置为“新记录”,可以移到窗体或表底部的空记录中,这样就可以输入新的数据。

该操作与单击“编辑”菜单上的“定位”结果类似。“定位”命令的“首记录”、“尾记录”、“下一记录”、“上一记录”和“新记录”子命令对所选对象的效果与“记录”参数的“首记录”、“尾记录”、“向前移动”、“向后移动”和“新记录”设置相同。也可以使用窗口底部的浏览按钮移到所需记录。

如果在“对象类型”和“对象名称”参数中指定了隐藏窗体,则可以使用 GoToRecord 操作使隐藏窗体上的记录变成当前记录。

若要在 Microsoft Visual Basic 中运行 GoToRecord 操作,请使用 DoCmd 对象的 GoToRecord 方法。

Hourglass 操作

使用 Hourglass 操作可以使鼠标指针在宏执行时变成沙漏图像(或其他所选图标)。该操作可在视觉上表明宏正在执行。当宏操作或宏本身需要花很长时间执行时,该功能特别有用。

Hourglass 操作具有下列参数:

操作参数

13

说明

显示沙漏 在“宏”窗口“操作参数”部分的“显示沙漏”框中选择“是”(显示沙漏图标)或“否”(显示普通的鼠标指针)。默认值为“是”。

说明 如果通过使用 Echo 操作关闭了回响,将会经常用到该操作。如果关闭回响,Microsoft Access

会暂停屏幕更新,直到宏完成为止。

当宏执行完后,Microsoft Access 会自动将“显示沙漏”参数重置为“否”。

注意 1.在 Microsoft Windows NT 中,它是在 Windows“控制面板”的“指针”对话框中为“等待”设置的图标。在 Microsoft Windows 2000、Microsoft Windows Millennium Edition 和 Microsoft Windows

98 中,它是在 Windows“控制面板”的“鼠标属性”对话框中为“忙”设置的图标。所有 Windows 操作系统对此所默认的图标都是作成动画的沙漏图标。

2.可以根据自己的喜好另选一个图标。

若要在 Visual Basic 中运行 Hourglass 操作,可使用 DoCmd 对象的 Hourglass 方法。

Maximize 操作

使用 Maximize 操作可以放大活动窗口,使其充满 Microsoft Access 窗口。该操作可以使用户尽可能多地看到活动窗口中的对象。

注意 该操作不能应用于“Visual Basic 编辑器”中的代码窗口。有关如何影响代码窗口的信息,请参阅 WindowState 属性主题。

Maximize 操作没有任何参数。

说明 该操作与单击窗口右上角的“最大化”按钮或“控制”菜单中的“最大化”命令有相同的效果。

使用 Restore 操作可以使最大化窗口恢复到以前的大小。

提示 1.如果要最大化的窗口不是活动窗口,可能需要先使用 SelectObject 操作。

2.在 Access 中将一个窗口最大化后,以后所打开或切换到的其他窗口也都会最大化。不过,弹出式窗体不会最大化。若要使某个窗体在其他窗口最大化时保持原来的大小,可将其“弹出方式”属性设置为“是”。

若要在 Visual Basic 中运行 Maximize 操作,可使用 DoCmd 对象的 Maximize 方法。

Minimize 操作

使用 Minimize 操作可以将活动窗口缩小为 Microsoft Access 窗口底部的小标题栏。

注意 该操作不能应用于“Visual Basic 编辑器”中的代码窗口。

Minimize 操作没有任何参数。

说明 使用该操作可以将窗口从屏幕上移去,但仍使对象保持打开状态。另外,还可使用该操作打开某个对象,但不显示它所在的窗口。若要显示该对象,可将 SelectObject 操作与 Maximize 或 Restore 操作同时使用。Restore 操作可将最小化窗口恢复成以前的大小。

14

Minimize 操作与单击窗口右上角的“最小化”按钮或窗口“控制”菜单上的“最小化”命令具有相同的效果。

提示

1.如果要缩小的窗口不是活动窗口,可能需要先使用 SelectObject 操作。

2.若要将“数据库”窗口缩为最小,可先使用 SelectObject 操作,并将其“在„数据库‟窗口中”参数设

为“是”,然后使用 Minimize 操作。

3.使用“窗口”菜单上的“隐藏”命令可以隐藏活动窗口。此时窗口不是缩小成图标,而是完全不可见。

“窗口”菜单上的“取消隐藏”命令可以使窗口重新显示出来。可以通过 RunCommand 操作,在宏中执行这两个命令中的任意一个。

4.另外,也可以使用 SetValue 操作来设置窗体的 Visible 属性,以隐藏或显示窗体窗口。

若要在 Visual Basic 中运行 Minimize 操作,可使用 DoCmd 对象的 Minimize 方法。

MoveSize 操作

使用 MoveSize 操作可以移动活动窗口或调整其大小。

MoveSize 操作具有以下参数:

操作参数

宽度

高度

说明

活动窗口左上角的新水平位置,从页所在窗口的左边缘开始算起。请在“宏”窗口“操作参数”部分的“右”框中输入一个位置。

活动窗口左上角的新垂直位置,从页所在窗口的上边缘开始算起。

活动窗口的新宽度。

活动窗口的新高度。

如果将某个参数留空,Microsoft Access 会使用窗口的当前设置。

对于该操作,必须至少输入一个参数值。

注意 每个度量值都是以英寸或厘米为单位的,到底采用哪个单位要视 Windows“控制面板”中的“区域设置”而定。

说明 该操作与单击窗口“控制”菜单上的“移动”或“大小”效果相似。用键盘的箭头键,可以通过菜单命令移动窗口或调整其大小。使用 MoveSize 操作,可以直接输入位置与大小的度量值。另外,也可以使用鼠标移动窗口或调整其大小。在任何窗口、任何视图中都可以使用该操作。

提示 1.若要移动窗口但不调整其大小,请输入“右”与“下”参数的值,但将“宽度”与“高度”参数留空。

2.若要调整窗口大小但不移动,请输入“宽度”与“高度”参数的值,但将“右”与“下”参数留空。

若要在 Visual Basic 中运行 MoveSize 操作,可使用 DoCmd 对象的 MoveSize 方法。

示例

通过使用宏同步窗体

15

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

条件

IsNull([供应商ID])

...

操作

Echo

MsgBox

参数:设置

打开回响:否

备注

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

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

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

停止执行宏。

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

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

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

发嘟嘟声:无

类型:无

标题:选择供应商

GoToControl

控件名称:公司名称

StopMacro

OpenForm

窗体名称:产品列表

视图:数据表

筛选名称: Where

条件:[供应商ID] = [Forms]![供应商]![供应商ID]

数据模式:只读

窗口模式:普通

右:0.7799 英寸

下:1.8 英寸

MoveSize

MsgBox 操作

使用 MsgBox 操作可以显示包含警告信息或其他信息的消息框。例如,可以在有效性宏中使用 MsgBox 操作。当控件或记录不符合宏中的有效性验证条件时,消息框将显示错误消息,并提示应该输入的正确数据类型。

MsgBox 操作具有下列参数:

操作参数

消息

发嘟嘟声

类型

标题

说明

消息框中的文本。在“宏”窗口“操作参数”节的“消息”框中输入文本。最多可键入 255 个字符或输入一个表达式(前面必需有等号)。

指定计算机在显示消息时,是否发出的嘟嘟声。可以选择“是”(发出嘟嘟声)或“否”(不发出嘟嘟声)。默认值为“是”。

消息框的类型。每种类型都有不同的图标。可以选择“无”、“重要”、“警告?”、“警告!”或“信息”。默认值为“无”。

消息框标题栏中显示的文本。例如,可以在标题栏显示“顾客标识号有效性”。如果将本参数留空,则标题栏显示“Microsoft Access”。

说明 使用 MsgBox 操作,可以创建与 Access 显示的内置错误消息类似的带格式错误消息。MsgBox 操作允许在“消息”参数的三个节中提供消息。可以使用“@”字符来分隔各节。

下面的示例显示具有分节消息的格式化消息框。消息中的第一节文本以加粗方式显示标题。第二节在标题下方,以纯文本显示。第三节在第二节下方,以纯文本显示,两者之间有一个空行。

例:在“消息”参数中输入下列消息:按钮错误!@该按钮不起作用。@请尝试另一个按钮。

在 Microsoft Visual Basic 中没有该操作。只能使用 MsgBox 函数来代替。

示例 通过使用宏同步窗体

16

下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了

MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。

条件

IsNull([供应商ID])

...

操作

Echo

MsgBox

参数:设置

打开回响:否

备注

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

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

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

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

发嘟嘟声:无

类型:无

标题:选择供应商

GoToControl

控件名称:公司名称

StopMacro

OpenForm

窗体名称:产品列表

视图:数据表

筛选名称: Where

条件:[供应商ID] = [Forms]![供应商]![供应商ID]

数据模式:只读

窗口模式:普通

MoveSize

右:0.7799 英寸

下:1.8 英寸

停止执行宏。

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

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

通过使用宏验证数据

下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及

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

条件

IsNull([国家/地区])

操作

StopMacro

备注

如果“国家/地区”为

Null,就无法验证邮政编码。

消息:邮政编码必须为 5 个如果邮政编码不是 5 个字符。

发嘟嘟声:是

类型:字符,则会显示消息。

信息

标题:邮政编码错误

取消事件。

控件名称:邮政编码

消息:邮政编码必须为 4 个如果邮政编码不是 4 个字符。

发嘟嘟声:是

类型:字符,则会显示消息。

信息

标题:邮政编码错误

取消事件。

控件名称:邮政编码

消息:邮政编码无效。加拿大如果邮政编码不符合加编码示例:H1J 1C3

发嘟嘟拿大的有效格式,则会显声:是

类型:信息

标题:邮示消息。(加拿大编码示政编码错误 例:H1J 1C3)

取消事件。

参数:设置

[国家/地区] In ("法国","意大利","MsgBox

西班牙") And Len([邮政编码]) <> 5

...

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

CancelEvent

GoToControl

MsgBox

... CancelEvent

GoToControl

([国家/地区] = "加拿大") And ([邮MsgBox

政编码] Not Like"[A-Z][0-9][A-Z]

[0-9][A-Z][0-9]")

... CancelEvent

OpenDataAccessPage 操作

可以在“页”视图或“设计”视图中,使用 OpenDataAccessPage 操作打开数据访问页。

17

OpenDataAccessPage 操作具有以下参数:

操作参数 说明

数据访问要打开的页名。在“宏”窗口的“操作参数”节中的“数据访问页名称”框中显示了当前数据库中的所页名称 有页。该参数是必选参数。

如果在类库数据库中运行包含 OpenDataAccessPage 操作的宏,Microsoft Access 首先在类库数据库查找具有该名称的页,然后再在当前数据库中查找。

将在其中打开数据访问页的视图。单击“视图”框中的“浏览”或“设计”。默认值为“浏览”。 视图

说明 该操作类似于单击对象下的“页”

库”窗口中选择数据访问页。

后单击“打开”按钮或“设计”按钮,然后在“数据提示 可以在“数据库”窗口中选择一个数据访问页,并将其拖到宏操作行中。这样,就会自动创建一个 OpenDataAccessPage 操作,该操作在“页”视图中打开此数据访问页。

若要在 Microsoft Visual Basic 中运行 OpenDataAccessPage 操作,请使用 DoCmd 对象的 OpenView 方法。

OpenDiagram 操作

在 Microsoft Access 项目中,可以使用 OpenDiagram 操作在“设计”视图中打开数据库图表。

设置

OpenDiagram 操作具有以下参数:

操作说明

参数

图表要打开的数据库图表的名称。在“宏”窗口“操作参数”节中的“图表名称”框中,显示了当前数据库中的名称 所有图表。该参数是必选参数。

如果在类库数据库中运行包含 OpenDiagram 操作的宏,Microsoft Access 首先在类库数据库查找具有该名称的图表,然后再在当前数据库中查找。

说明 该操作类似于在单击“对象”下的“数据库图表”

库”窗口中选择数据库图表。

后单击“设计”按钮,然后在 “数据提示 可以在“数据库”窗口中选择一个数据库图表,然后将其拖到宏的操作行中。这样,就会自动创建一个 OpenDiagram 操作,该操作在“设计”视图中打开数据库图表。

若要在 Microsoft Visual Basic 中运行 OpenDiagram 操作,请使用 DoCmd 对象的 OpenDiagram 方法。

OpenForm 操作

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

OpenForm 操作具有以下参数:

18

操作参数

窗体名称

说明

打开窗体的名称。在“宏”窗口的“操作参数”节中的“窗体名称”框中显示了当前数据库中的全部窗体。该参数是必选的参数。

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

打开窗体的视图。可在“视图”框中选择“窗体”、“设计”、“打印预览”、“数据表”、“数据透视表”或“数据透视图”。默认值为“窗体”。

注意 “视图”参数设置会忽略窗体的“默认视图”和“允许视图”的属性设置。例如,如果某个窗体的“允许视图”属性设置为“数据表”,仍然可以使用 OpenForm 操作在“窗体”视图中打开窗体。

视图

筛选

名称

Where

条件

用于限制或排序窗体中记录的筛选。可以输入一个已有查询的名称或另存为查询的筛选名称。不过,该查询必须包含所打开窗体的所有字段,或将这个查询的“输出所有字段”属性设置为“是”。

Access 用以从窗体的基础表或基础查询中选择记录的有效 SQL WHERE 子句(不包含 WHERE 一字)或表达式。如果用“筛选名称”参数选择筛选,那么 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 子句。

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

1.“数据模式”参数设置会忽略窗体的“允许编辑”、“允许删除”、“允许添加”和“数据输入”属性设置。例如,如果窗体的“允许编辑”属性设置为“否”,仍然可以用 OpenForm 操作在“编辑”模式下打开窗体。

2.如果该参数留空,Access 会以窗体的“允许编辑”、“允许删除”、“允许添加”和“数据输入”属性所指定的数据输入模式打开窗体。

在其打开窗体的窗口模式。单击“普通”,这样窗口模式由窗体的下列属性指定:“隐藏”(隐藏窗体)、“图标”(窗体在打开时最小化为屏幕底部的小标题栏)或“对话框”(窗体的“模式”和“弹出式”属性设置为“是”)。默认值为“普通”。

数据

模式

窗口

模式

说明 该操作类似于单击对象下的“窗体”

库”窗口中选择窗体。

后单击“打开”按钮或“设计”按钮,然后在“数据窗体可以是模式(该窗体必须在用户执行任何其他操作前关闭或隐藏)的、非模式(用户可以在窗体打开时移动到其他窗口中)的。窗体也可以是弹出式窗体(停留在所有其他 Access 窗口顶部的窗体,用以收集或显示信息)。设计窗体时,可以设置“模式”和“弹出方式”属性。如果将“窗口模式”参数设置为“普通”,那么窗体会以这些属性设置所指定的方式打开。如果将“窗口模式”参数设置为“对话框”,那么这两个属性都将被设置为“是”。当显示或恢复某个以隐藏或图标方式打开的窗体时,它返回到由窗体属性设置所指定的模式中。

打开“窗口模式”参数设置为“对话框”的窗体时,Access 将暂时挂起宏的执行,直到窗体关闭或隐藏为止。也可以使用 SetValue 操作,将 Visible 属性设置为“否”,以此方式来隐藏窗体。

提示 在“数据库”窗口中选择窗体,然后将其拖到宏操作行中,可以自动创建在“窗体”视图中打开该窗体的 OpenForm 操作。

19

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

示例

通过使用宏设置控件的值

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

操作

Echo

Close

OpenForm

SetValue

参数:设置 备注

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

关闭“产品列表”窗体。

打开“产品”窗体。

打开回响:否

对象类型:窗体

对象名称:产品列表

保存:否

窗体名称:产品

视图:窗体

数据模式:添加

窗口模式:普通

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

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

移到“类别ID”控件。

GoToControl

控件名称:类别ID

通过使用宏同步窗体

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

条件

IsNull([供应商ID])

...

操作

Echo

MsgBox

参数:设置

打开回响:否

备注

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

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

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

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

发嘟嘟声:无

类型:无

标题:选择供应商

GoToControl

控件名称:公司名称

StopMacro

OpenForm

窗体名称:产品列表

视图:数据表

筛选名称: Where

条件:[供应商ID] = [Forms]![供应商]![供应商ID]

数据模式:只读

窗口模式:普通

MoveSize

右:0.7799 英寸

下:1.8 英寸

停止执行宏。

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

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

OpenFunction 操作

在 Microsoft Access 项目中,使用 OpenFunction 操作可以在“数据表”视图、内嵌函数“设计”视图、“SQL 文本编辑器”视图(对于标量函数或表用户定义函数)或“打印预览”中打开一个用户定义函数。在“数据表”视图中打开时,该操作将运行用户定义函数。也可以选择用户定义函数的数据输入模式,并限制用户定义函数所显示的记录。

OpenFunction 操作具有以下参数:

操作20

说明

参数

函数要打开的用户定义函数的名称。“宏”窗口“操作参数”部分的“函数名”框中显示了当前数据库中所有的用户定义函数。这名称

是必需的参数。

如果在某个类库数据库中运行包含 Function 操作的宏,则 Access 将先在该类库数据库中查找具有该名称的函数,然后再到当前数据库中查找。

视图 用户定义函数将在此打开的视图。可在“视图”框中单击“数据表”、“设计”、“打印预览”、“数据透视表”或“数据透视图”。默认设置为“数据表”。

数据用户定义函数的数据输入模式。仅应用于在“数据表”视图中打开的用户定义函数。可以单击“添加”(用模式 户可以添加新的记录,但不能查看或编辑已有记录)、“编辑”(用户可以查看或编辑已有记录,也可添加新的记录)或“只读”(用户只能查看记录)。默认设置为“编辑”。

说明

该操作类似于单击“对象”下的“查询”

钮,再在“数据库”窗口中选择用户定义函数。

后,单击“打开”按钮或“设计”按如果在用户定义函数打开的情况下切换到“设计”视图,则会删除该用户定义函数的“数据模式”参数设置。即使用户返回到“数据表”视图,该设置也不会生效。

提示

可以在“数据库”窗口中选择用户定义函数,并将其拖到宏操作行中。这样可以自动创建

OpenFunction 操作(该操作可以在“数据表”视图中打开用户定义函数)。

通常,在运行用户定义函数时,会显示一些系统消息(指明运行的是用户定义函数并显示将受到影响的记录数)。如果不想显示这些系统消息,可以使用 SetWarning 操作禁止这些消息的显示。

若要在 Microsoft Visual Basic 中运行 OpenFunction 操作,请使用 DoCmd 对象的 OpenFunction 方法。

OpenModule 操作

使用 OpenModule 操作可在指定的过程中打开指定的 Visual Basic 模块。该过程可以是 Sub 过程、Function 过程或事件过程。

OpenModule 操作具有以下参数:

操作参数

模块名称

说明

要打开的模块的名称。如果要在数据库中为一个过程搜索所有的标准模块,并在该过程中打开适当的模块,可以将本参数留空。

如果在某个类库数据库中执行一个包含 OpenModule 操作的宏,Microsoft Access 将首先在该类库数据库中搜索具有该名称的模块,然后再到当前数据库中搜索。

过程名称 要在其中打开模块的过程的名称。如果将该参数留空,模块将在“声明”节中打开。

注意 必须在“模块名称”或“过程名称”参数中输入有效的名称。

说明 通过指定“模块名称”参数和“过程名称”参数,可使用该操作打开一个事件过程。例如,要打开“订单”窗体上“打印发票”按钮的“单击”事件过程,可将“模块名称”参数设置为 ,并将“过程名称”参数设置为 PrintInvoice_Click。如果要查看窗体或报表的事件过程,则必须首先打开相应的窗体或报表。

同样地,要打开某个类模块中的过程,就必须指定模块名称,虽然未必要打开该类模块。

21

若要打开一个私有过程,必须打开包含该过程的模块。

该操作的效果与在“数据库”窗口中选择模块,然后单击“设计”按钮是一样的。使用该操作还可以指定过程的名称并在数据库中为过程搜索标准模块。

提示 可以在“数据库”窗口中选择一个模块,然后将其拖动到宏操作行中。这样可以自动创建一个

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 方法。

22

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 操作类似于单击“对象”下的“报表” 后单击“设计”按钮、“预览”按钮或“文件”菜单上的“打印”命令,然后在“数据库”窗口中选择报表。

提示

如果要为不同的数据打印类似的报表,可以使用筛选或 WHERE 子句来限制打印在报表上的记录。然后编辑宏,以应用不同的筛选或改变 Where 条件参数。

可以在“数据库”窗口中选择报表,并将其拖到宏的操作行中,这样可以自动创建在“打印预览”中打开报表的 OpenReport 操作。

OpenStoredProcedure 操作

在 Microsoft Access 项目中,可以使用 OpenStoredProcedure 操作在“数据表”视图、存储过程“设计”视图或“打印预览”中打开存储过程。当指定的存储过程在“数据表”视图中打开时,此操作运行该存储过程。可以为存储过程选择数据输入模式,并限制存储过程所显示的记录。

OpenStoredProcedure 操作具有以下参数:

23

操作说明

参数

过程要打开的存储过程的名称。在“宏”窗口的“操作参数”节的“过程名称”框中,显示了当前数据库中的所有存储过程。该参名称

数是必选参数。

如果在类库数据库中运行包含 OpenStoredProcedure 操作的宏,Microsoft Access 首先在类库数据库查找具有该名称的存储过程,然后再在当前数据库中查找。

视图 将在其中打开存储过程的视图。在“视图”框可以选择“数据表”、“设计”、“打印预览”、“数据透视表”或“数据透视图”。默认值为“数据表”。

数据存储过程的数据输入模式。仅应用于在“数据表”视图中打开的存储过程。可选择“添加”(用户可以添模式 加新记录,但是不能查看或编辑已有记录)、“编辑”(用户可以查看或编辑已有记录,也可添加新的记录)或“只读”(用户只能查看记录)。默认值为“编辑”。

说明

该操作类似于单击“对象”下的“查询”

钮,然后在“数据库”窗口中选择存储过程。

后单击“运行”按钮或“设计”按如果在存储过程打开时,切换到“设计”视图,就会删除该存储过程的“数据模式”参数设置。即使用户返回到“数据表”视图,该设置也不会生效。

提示

可以在“数据库”窗口中选择一个存储过程,并将其拖到宏操作行中。这样,就可以自动创建一个

OpenStoredProcedure 操作,该操作在“数据表”视图中打开该存储过程。

通常,当运行存储过程时,会显示一些系统消息(指明运行的是存储过程并显示将受影响的记录数)。如果不想显示这些消息,可以使用 SetWarning 操作禁止消息的显示。

若要在 Visual Basic 中运行 OpenStoredProcedure 操作,请使用 DoCmd 对象的 OpenView 方法。

OpenTable 操作

使用 OpenTable 操作,可以在“数据表”视图、“设计”视图或“打印预览”中打开表,也可以选择表的数据输入模式。

OpenTable 操作具有下列参数:

操作说明

参数

表名

打开表的名称。在“宏”窗口“操作参数”节的“表名称”框中显示了当前数据库中的所有表。该参数是必选参数。

如果在类库数据库中运行包含 OpenTable 操作的宏,Microsoft Access 将首先在类库数据库中查找具有该名称的表,然后再到当前数据库中查找。

视图 打开表的视图。可在“视图”框中选择“数据表”、“设计”、“打印预览”、“数据透视表”或“数据透视图”。默认值是“数据表”。

数据表的数据输入模式。该参数只应用于在“数据表”视图中打开的表。可选择“添加”(用户可以添加新记模式 录,但是不能编辑已有记录)、“编辑”(用户可以编辑已有记录,也可以添加新记录)或“只读”(用户只能查看记录)。默认值为“编辑”。

说明 该操作类似于单击“对象”下的“表”

“数据库”窗口中选择表。

后单击“打开”按钮或“设计”按钮,然后在24

提示 可以在“数据库”窗口中选择表,并将其拖到宏的操作行中。这样,可以自动创建在“数据表”视图中打开表的 OpenTable 操作。

如果在表打开时切换到“设计”视图,会删除表的“数据模式”参数的设置。即使用户回到“数据表”视图中,该设置也不再有效。

若要在 Microsoft Visual Basic 中运行 OpenTable 操作,请使用 DoCmd 对象的 OpenTable 方法。

OpenView 操作

在 Microsoft Access 项目中,使用 OpenView 操作可以在“数据表”视图、视图“设计”视图或者“打印预览”中打开视图。当在“数据表”视图中打开时,该操作执行命名的视图。可以选择视图的数据输入,并可限制视图显示的记录。

OpenView 操作具有以下参数:

操作说明

参数

视图要打开的视图名称。在“宏”窗口的“操作参数”节的“视图名称”框中,显示了当前数据库中的所有视图。该参数是必选参名称

数。

如果在类库数据库中运行包含 OpenView 操作的宏,Microsoft Access 会首先在类库数据库中查找具有该名称的视图,然后在当前数据库中查找。

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

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

说明 该操作类似单击“对象”下“查询”

“数据库”窗口选择视图。

后单击“打开”按钮或“设计”按钮,然后在如果在视图打开时,切换到“设计”视图,就会删除该视图的“数据模式”参数设置。即使用户返回到“数据表”视图,该设置也不会生效。

提示

可以在“数据库”窗口中选择一个视图,并将其拖到宏操作行中。这样,就会自动创建一个 OpenView

操作,该操作在“数据表”视图中打开该视图。

通常,当视图运行时,会显示一些系统消息(指明运行的是视图并显示将受到影响的记录数)。如果不想显示这些系统消息,可以使用 SetWarning 操作禁止这些消息的显示。

若要在 Microsoft Visual Basic 中运行 OpenView 操作,请使用 DoCmd 对象的 OpenView 方法。

OutputTo 操作

用 OutputTo 操作可以将指定的 Microsoft Access 数据库对象(数据表、窗体、报表、模块、数据访问页)中的数据输出为若干种输出格式。

OutputTo 操作具有以下参数:

25

对象类型

对象名称

输出格式

说明

包含待输出数据的对象的类型。在“宏”窗口“操作参数”部分的“对象类型”框中单击“表”(对于表数据表)、“查询”(对于查询数据表)、“窗体”(对于窗体或窗体数据表)、“报表”、“模块”、“数据访问页”、“服务器视图”、“存储过程”或“函数”。宏是不能输出的。如果要输出活动的对象,请用该参数选择其类型,但将“对象名称”参数留空。该参数是必需的。其默认值为“表”。

包含待输出数据的对象的名称。“对象名称”框中显示了数据库中所有由“对象类型”参数选定的类型的对象。

如果在某个类库数据库中运行一个包含 OutputTo 操作的宏,Access 将先在类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。

输出文件

自动启动

模板文件

编码

用于输出数据的格式类型。可以在框中单击 HTML (*.htm; *.html)、 Text Files (*.txt)、Microsoft Active

Server Pages (*.asp)、Microsoft Excel (*.xls)、Microsoft Excel 5-7 (*.xls)、Microsoft Excel 97-10 (*.xls)、Microsoft IIS (*.htx, *.idc)、Rich Text Format (*.rtf)、Data Access Page (*.htm; *.html) 或 XML

(*.xml)。模块只能以 MS-DOS 文本格式输出。数据访问页只能以 HTML 格式输出。只有窗体和报表可以输出为数据访问页。Microsoft Internet Information Server 和 Microsoft Active Server 格式只能用于表、查询和窗体。如果将该参数留空,Access 将提示您确定输出格式。

指定输出数据的目标文件,包括完整的路径。可使用在设置“输出格式”参数时选择的输出格式所对应的标准文件扩展名(.asp、.htm 或 .html、.htx、.xls、.txt 或 .rtf),但这并不是必需的。如果输出为 Internet

Information Server 或 Active Server 文件,Access 将总是创建带有 .htx 和 .idc 或 .asp 标准扩展名的文件。如果输出的是数据访问页,则 Access 总是创建具有 .html 扩展名的文件。如果将“输出文件”参数留空,则 Access 将提示您确定输出文件名。

指定运行 OutputTo 操作后是否要立即启动相应的软件,并打开由“输出文件”参数指定的文件。如果选择“是”,则会启动以下软件之一并打开来自 Access 对象的输出文件:Excel(对于 .xls 文件)、Microsoft

Windows 记事本(对于 .txt 文件)或 Microsoft Word(对于 .rtf 文件)。对于 .html 文件,将启动默认的 Internet 浏览器。

将用作 .htm、.html、.htx 或 .asp 文件的模板的模板文件路径及文件名。模板文件是包含 HTML 标记和符号(对于 Access 来说是唯一的)的文本文件。

指定要用于输出文本或 HTML 数据的字符编码格式的类型。可以在框中单击 MS-DOS、Unicode 或

Unicode (UTF-8)。MS-DOS 只能用于文本文件。如果将该参数留空,则 Access 在输出文本文件时会使用 Windows 默认编码,在输出 HTML 文件时会使用默认系统编码。

说明 Access 数据将按所选的格式输出,并且可由使用相同格式的任何应用程序读取。例如,可将

Access 报表输出为 RTF 格式文档,然后用 Microsoft Word 打开该文档。

如果将数据库对象输出为 HTML 格式,Access 将创建包含对象数据的 HTML 格式文件。可以用“模板文件”参数指定一个文件作为 .html 文件的模板。

如果将对象输出为 Internet Information Server 格式,则 Access 将创建两个文件:

一个 .idc 文件,该文件包含如何连接到 ODBC 数据源的信息,以及一个针对该数据源执行的 SQL

语句。在这种情况下,输出的 Access 对象将包含由 SQL 语句定义的数据,并且当前的 Access 数据库即为 ODBC 数据源。

一个 .htx 文件,该文件指定如何将由 SQL 语句(由 .idc 文件指定)返回的数据设置成 HTML 文档格式。可以用“模板文件”参数指定一个 .html 文件作为 .htx 文件的模板。

Internet Information Server 使用 .htx 和 .idc 文件创建包含输出的 Access 对象数据的 .html 文件。

如果将数据库对象输出为 Active Server 格式,则 Access 会创建一个 .asp 格式的文件,其中包含有关如何访问对象数据及设置其格式的信息。Active Server 使用该 .asp 文件创建一个包含输出的 Access

对象数据的 .html 文件。可以用“模板文件”参数指定一个 .html 文件作为 .asp 文件的模板。

26

当使用 OutputTo 操作将数据库对象输出为除 Active Server 格式以外的任何格式时,将应用以下规则(其中一些规则也应用于 Active Server 格式):

可以输出表、查询和窗体的数据表中的数据。在输出文件中,除了包含 OLE 对象的字段以外,数据表中其他所有字段看上去都与在 Access 中的一样。这些字段的列包含在输出文件中,但字段本身是空的。

对于绑定到“是/否”字段的控件(如切换按钮、选项按钮或复选框),输出文件将显示 –1(是)或 0(否)。

对于绑定到超链接字段的文本框,输出文件将为 MS-DOS 文本文件(在这种情况下,超链接显示为普通的文本)以外的所有输出格式显示超链接。

如果输出“窗体”视图内窗体中的数据,则输出文件将始终包含窗体的“数据表”视图。

如果输出报表中的数据,则输出文件中所包含的唯一控件是文本框(对于 .xls 输出文件)或文本框及其标签(对于 .rtf、.txt 和 .html 输出文件)。所有其他控件都将被忽略。输出文件中也不包含页眉和页脚信息。唯一的例外是将报表数据输出到 Excel 文件时,输出文件中将包含一个文本框,该文本框位于一个含有 Sum 函数的表达式的组页脚中。输出文件中不包含页眉和页脚中的其他控件,也不包含除 Sum 函数以外的聚合函数。

子报表包含在输出文件中。当输出为 .asp,但仅作为窗体(而不是数据表)输出时,才会包含子窗体。

当以 HTML 格式输出数据表、窗体或数据访问页时,将会创建一个 .html 文件。当以 HTML 格式输出报表时,会为报表的每页都创建一个 .html 文件。

提示 如果将报表中的数据输出到一个输出文件中,但是输出文件的数据行列对齐格式与报表中的不同,则以下提示可能会有所帮助:

可以调整控件的大小,方法是指向“格式”菜单上的“大小”,然后单击“正好容纳”。

应避免重叠控件或将控件放置得过于靠近。

可以对齐报表上的控件,方法是指向“格式”菜单上的“对齐”,然后单击适当的命令。对于无法在同一行对齐的控件,在输出文件中可能会放在不同的行上,这将导致增加额外的空间。

OutputTo 操作与单击“文件”菜单上的“导出”,然后在出现的对话框中选中“带格式保存”复选框的效果是类似的。该操作的参数对应于“导出”对话框中的设置。但“导出”命令仅应用于“数据库”窗口中的选定对象。使用 OutputTo 操作,可以指定要输出的对象。

注意 用“导出”命令可输出选定的数据,然而,这项功能在 OutputTo 操作中是不可用的。

也可以指向“工具”菜单上的“Office 链接”子菜单,然后单击“用 MS Excel 分析”或“用 MS Word

发布”,输出一个数据库对象,然后立即在 Excel 或 Word 中打开输出文件。

若要在 Microsoft Visual Basic 中运行 OutputTo 操作,请使用 DoCmd 对象的 OutputTo 方法。

PrintOut 操作

使用 PrintOut 操作可以打印打开的数据库中的活动对象。可以打印数据表、报表、窗体、数据访问页和模块。

PrintOut 操作具有以下参数:

操作 说明

打印的范围。可在“宏”窗口“操作参数”部分的“打印范围”框中单击“全部”(用户可以打印对象的全部)、“选定范围”打印

。默范围

(用户可以打印对象的选定部分)或“页范围”(用户可以在“开始页码”和“结束页码”参数中指定打印的页范围)认值为“全部”。

开始

页码

27

打印的起始页。从该页的顶端开始打印。如果在“打印范围”框中选择“页范围”,那么该参数是必需的参数。

结束

页码

打印

品质

份数

自动

分页

打印的终止页。打印到该页底部结束。如果在“打印范围”框中选择“页范围”,那么该参数是必需的参数。

打印品质。可选择“高品质”、“中品质”、“低品质”或“草稿”。品质愈低,对象打印速度就愈快。默认值为“高品质”。

打印份数。默认值为“1”。

可单击“是”(自动分页)或“否”(不自动分页)。该参数设置为“否”时,对象打印速度较快。默认值为“是”。

说明 该操作与选择对象后单击“文件”菜单上的“打印”效果相似。不过,该操作不显示“打印”对话框。

提示 如果需要经常使用特定的打印设置,可以创建一个包含 PrintOut 操作的宏,并在参数中加入这些设置。

该操作的参数与“打印”对话框中的选项对应。不过,与 FindRecord 操作和“在字段中查找”对话框不同,该操作参数的设置不与“打印”对话框选项共享。

若要在 Visual Basic 中运行 PrintOut 操作,可使用 DoCmd 对象的 PrintOut 方法。

Quit 操作

使用 Quit 操作可以退出 Microsoft Access。另外,Quit 操作还可以从几个有关退出 Access 之前保存数据库对象的选项中指定一个。

Quit 操作具有以下参数:

操作参数

选项

说明

指定当退出 Access 时对没有保存的对象所作的处理。可在“宏”窗口“操作参数”部分的“选项”框上单击“提示”(显示是否保存每个对象的提示对话框)、“全部保存”(不经对话框提示即保存所有对象)或“退出”(退出时不保存任何对象)。默认值为“全部保存”。

说明 Access 不会运行宏中继 Quit 操作之后的任何操作。

在窗体的自定义菜单命令或按钮上使用该操作可以在退出 Access 时不显示“保存”对话框的提示。例如,可以有一个用于显示自定义工作区中对象的主窗体,在这个窗体上有一个“退出”按钮,该按钮运行的宏中包含“选项”参数设为“全部保存”的“退出”操作。

执行该操作与单击“文件”菜单上的“退出”命令的效果是一样的。在单击此命令时如果还有尚未保存的对象,出现的对话框与 Quit 操作的“选项”参数设为“提示”时出现的对话框是相同的。

在宏中用 Save 操作可以在不退出 Access 也不关闭对象的情况下保存指定对象。

若要在 Visual Basic 中运行 Quit 操作,可使用 DoCmd 对象的 Quit 方法。

Rename 操作

使用 Rename 操作可以重新命名一个指定的数据库对象。

Rename 操作具有以下参数:

操作参数

28

说明

新名称 数据库对象的新名称。请在“宏”窗口“操作参数”部分的“新名称”框中输入对象的名称。该参数是必需的。

“图表”、“存储过程”或“函数”。若要对“数据库”窗口中选定的对象重新命名,则请将本参数留空。

要重命名的对象。在“旧名称”框中显示的是数据库中所有对应于“对象类型”参数所选类型的对象。如果“对象类型”参数为空,那么也要将本参数留空。

注意 如果在某个类库数据库中运行含有 Rename 操作的宏,Microsoft Access 将首先在该类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。

对象类型

要重新命名的对象的类型。可选择“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、旧名称

说明 数据库对象的新名称必须遵循 Access 对象的标准命名规则。

如果将“对象类型”和“旧名称”参数留空,Access 会对在“数据库”窗口中选定的对象进行重新命名。若要在“数据库”窗口中选择对象,可使用 SelectObject 操作,并将其“在‘数据库’窗口中”参数设为“是”。

还有一种重新命名对象的方法,即先单击“数据库”窗口中的对象,然后再次单击该对象即可对其名称进行编辑,此时可键入新名称。用 Rename 操作就不需先在“数据库”窗口中选择对象,而且不用中止宏来输入对象的新名称。

该操作与 CopyObject 操作是不一样的,后者是以新名称创建已有对象的一个副本。

若要在 Visual Basic 中运行 Rename 操作,可使用 DoCmd 对象的 Rename 方法。

RepaintObject 操作

使用 RepaintObject 操作可完成指定数据库对象挂起的屏幕更新。如果没有指定数据库对象,则会对活动数据库对象进行屏幕更新。这种更新包括对象控件所有挂起的重新计算。

RepaintObject 操作具有以下参数:

操作参数 说明

可在“宏”窗口中“操作参数”部分的“对象类型”框中单击“表”、“查询”、“窗对象类型

要重新绘制的对象的类型。体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。如果将该参数留空,就会选择活动对象。

对象名称 要重新绘制的对象的名称。在“对象名称”框中显示的是数据库中所有对应于“对象类型”参数所选类型的对象。如果“对象类型”参数为空,则本参数也要留空。

说明 Microsoft Access 要等到完成其他挂起任务时才会去完成挂起的屏幕更新。用该操作则可以强制立即重新绘制指定对象中的控件。可以在以下情况中使用该操作:

在用 SetValue 操作改变多个控件的值时。Access 可能不会立即显示所作的更改,特别是在其他控件(如计算控件)依赖于被更改的控件的值时。

当要确保所查看的窗体显示所有控件中的数据时。例如,包含 OLE 对象的控件不会在打开窗体后立即显示所包含的数据。

注意

该操作不会产生数据库的重新查询,因此不会显示新的或更改了的记录,也不会从对象的基础表或基础查询中移去被删除的记录。请用 Requery 操作来重新对对象或对象中的某一控件的数据源进行查询。使用 ShowAllRecords 操作可显示最新的记录并删除所有已应用的筛选。

RepaintObject 操作的效果不同于选择“记录”菜单中的“刷新”命令。后者显示的是您或其他用户对当前在窗体和数据表中显示的记录所作的所有修改。

29

若要在Visual Basic 中运行 RepaintObject 操作,可使用 DoCmd 对象的 RepaintObject 方法。

Requery 操作

使用 Requery 操作可以通过重新查询控件的数据源来更新活动对象指定控件中的数据。如果不指定控件,该操作将对对象本身的数据源进行重新查询。使用该操作可以确保活动对象或其所包含的控件显示的是最新数据。 Requery 操作具有以下参数:

操作参数 说明

控件名称 要更新的控件的名称。请在“宏”窗口中“操作参数”部分的“控件名称”框中输入控件名称。应该只使用控件的名称,而不是它的完整标识符。如果要重新查询活动对象的数据源,则要将本参数留空。如果活动对象是数据表或查询结果集,也必须将本参数留空。

说明 Requery 操作可完成以下任务之一:

返回控件或对象所基于的查询。

显示所有新的或更改过的记录,并且从控件或对象所基于的表中移去所有被删除了的记录。

注意 Requery 操作不会影响记录指针的位置。

基于查询或表的控件包括:

列表框和组合框、子窗体控件、OLE 对象(如图表)、含有域聚合函数的控件(如DSum)。

如果指定的控件不是基于查询或表的,该操作将强制对控件进行重新计算。

如果将“控件名称”参数留空,Requery 操作的效果就和当对象具有焦点时按 Shift+F9 是一样的。如果子窗体控件具有焦点,该操作将只重新查询子窗体的数据源(就像按 Shift+F9 一样)。

注意 Requery 操作重新查询控件或对象的数据源,而 RepaintObject 操作则只是重新绘制指定对象中的控件,并不重新查询数据库,也不显示新记录。ShowAllRecords 操作不仅重新查询活动对象,而且还删除所有已经应用过的筛选,而 Requery 操作是不会删除这些筛选的。

如果要重新查询非活动对象上的控件,必须使用 Visual Basic 中的 Requery 方法,而不要用 Requery

操作或与其相应的 DoCmd 对象的 Requery 方法。Visual Basic 的 Requery 方法比 Requery 操作和

y 方法要快。而且,当使用 Requery 操作或 y 方法时,Microsoft Access 将关闭查询然后重新从数据库加载查询。而使用 Requery 方法时,Access 将重新运行查询,而不是关闭再重新加载它。

Restore 操作

使用 Restore 操作可将已最大化或最小化的窗口恢复为原来的大小,操作没有任何参数。

注意 该操作不能应用于“Visual Basic 编辑器”中的代码窗口。有关如何影响代码窗口的信息,请参阅 WindowState 属性主题。

说明 该操作可用于所选对象。如果某对象已经最小化,可先用 SelectObject 操作选择该对象,再用 Restore 方法将它恢复为原来的大小。

窗口恢复为原来大小后可使用 MoveSize 操作移动该窗口或调整该窗口的大小。

该操作的效果和单击窗口右上角的“还原”按钮或选择窗口“控制”菜单上的“还原”命令是一样的。

30

若要在 Visual Basic 中运行 Restore 操作,可使用 DoCmd 对象的 Restore 方法。

RunApp 操作

使用 RunApp 操作可以在 Microsoft Access 中运行一个 Microsoft Windows 或 MS-DOS 应用程序,如

Microsoft Excel、Microsoft Word 或 Microsoft PowerPoint。例如,用户可能要将 Excel 电子表格数据粘贴到 Access 数据库中。 RunApp 操作具有以下参数:

操作说明

参数

命令用以打开应用程序的命令行(命令行应包括路径和其他所需参数,例如用于以特定模式运行应用程序行 的开关)。请在“宏”窗口“操作参数”节的“命令行”框中键入命令行。该参数是必选参数。

说明 该操作选择的应用程序将在前台加载和运行。包含该操作的宏在打开应用程序后将继续运行。

用 Microsoft Windows 的动态数据交换 (DDE) 工具或“剪贴板”可在 Access 和其他应用程序之间交换数据。而用 SendKeys 操作则可将键击传送到其他的应用程序中(虽然 DDE 是交换数据更有效的方法)。用自动化也可以在应用程序间共享数据。

MS-DOS 应用程序将在 Windows 环境中的 MS-DOS 窗口中运行。

在 Windows 操作系统中,运行应用程序的方法很多,例如,可以在 Windows 资源管理器中打开程序或者可以用“开始”菜单的“运行”命令,还可以双击“Windows 桌面”上的程序图标。

在 Microsoft Visual Basic 中没有 RunApp 操作,可以使用 Visual Basic 的 Shell 函数来代替。

RunCode 操作

使用 RunCode 操作可以调用 Microsoft Visual Basic 的 Function 过程。RunCode 操作具有以下参数:

操作说明

参数

函数要调用的 Visual Basic Function 过程名称。请将任何函数参数写在括号中,并在“宏”窗口“操作参数”名称 节的“函数名称”框中键入函数名称。该参数是必选参数。

说明 用户定义的 Function 过程保存在 Access 的模块中。

即使 Function 过程没有任何参数,括号也是必须的,如下例所示: TestFunction()

与用来设置事件属性的用户定义函数名不同的是,“函数名”参数中的函数名前没有等号 (=)。

Access 将忽略函数的返回值。

注意 如果函数的名称与模块名相同,则不能从宏中调用 Function 过程。

提示 要运行用 Visual Basic 编写的 Sub 过程或事件过程,请创建调用 Sub 过程或事件过程的

Function 过程,然后再使用 RunCode 操作运行该 Function 过程。

如果用 RunCode 操作调用函数,Access 将在数据库标准模块中查找由“函数名称”参数所指定的函数。不过,如果是通过选择窗体或报表的菜单命令或在产生窗体或报表事件时运行该操作,Access 将首先查找窗31

体或报表类模块中的函数,然后再在标准模块中查找。Access 不会在“数据库”窗口的“模块”选项卡中所显示的类模块中查找由“函数名称”参数指定的函数。

在 Visual Basic 中没有该操作。请直接在 Visual Basic 中运行所需 Function 过程。

RunCommand 操作

使用 RunCommand 操作可以运行 Microsoft Access 的内置命令。内置命令可以出现在 Access 菜单栏、工具栏或快捷菜单上。RunCommand 操作具有以下操作参数:

命令 要运行的命令的名称。“命令”框中按字母顺序显示了可用的 Access 内置命令。该参数是必需的。

说明 在 Access 97 中,RunCommand 操作取代了 DoMenuItem 操作。当打开并保存一个包含

DoMenuItem 操作的早期版本的 Access 宏时,DoMenuItem 操作及其参数会自动转换为对应的 RunCommand

操作。“宏”窗口中的操作列表上不再有 DoMenuItem 操作。

使用 RunCommand 操作可以运行自定义菜单栏、全局菜单栏、自定义快捷菜单或全局快捷菜单上的

Access 命令。然而,如果要把 Access 命令添加到自定义菜单和快捷菜单中,则使用“自定义”对话框(将鼠标指向“视图”菜单上的“工具栏”,然后单击“自定义”命令即可显示该对话框)通常会更加简单。在“自定义”对话框的“命令”选项卡上列出了显示在 Access 工具栏和菜单中的内置 Access 命令。

在宏中与条件表达式一起使用 RunCommand 操作可以根据一定的条件运行命令。

注意 “文件”菜单显示最近使用的数据库。可以单击其中一个数据库以打开它,而不用单击“打开数据库”。在“命令”参数的下拉列表框中并没有显示这些数据库项,不能通过在宏中使用 RunCommand 操作的方法访问它们。

在从以前版本的 Access 中转换 Access 数据库时,有些命令将不可用。它们可能在 Access 中被重新命名、移到别的菜单或从此失效。对于这种命令,DoMenuItem 操作将不能转换为 RunCommand 操作。在打开宏时,Access 将会针对这种命令显示一个带有空白“命令”参数的 RunCommand 操作。必须编辑该宏并输入一个有效的命令参数,或删除 RunCommand 操作。

若要在 Visual Basic 中运行 RunCommand 操作,可使用 Application 对象的 RunCommand 方法。(相当于 DoCmd 对象的 RunCommand 方法。)

RunMacro 操作

使用 RunMacro 操作可以执行宏。该宏可以在宏组中。

可在以下情况中使用该操作: 1.从某个宏中运行另一个宏。 2.根据一定条件运行宏。 3.将宏附加到自定义菜单命令中。 RunMacro 操作具有以下参数:

操作参数 说明

所要运行的宏的名称。在“宏”窗口中“操作参数”部分的“宏名”框中显示的是当前数据库中的所有宏(包括所有宏宏名

组)。如果宏在宏组中,那么它将以 ame 列在列表中宏组名称下面。该参数是必需的。 如果在某个类库数据库中运行含有 RunMacro 操作的宏,Microsoft Access 将在该类库数据库中查找具有该名称的宏,而不是在当前数据库中查找。

重复次数 宏运行次数的上限。如果将本参数留空(并且将“重复表达式”也留空),该宏将只运行一次。

重复表达该表达式的计算结果为 True (-1) 或 False (0)。当表达式的值为 False 时宏将停止运行。每次宏式 运行的时候都将计算该表达式的值。

说明 如果为“宏名”参数输入的是宏组名称,Access 将运行宏组中的第一个宏。

32

该操作的效果和单击“工具”菜单上的“宏”(在其中可以选择和运行一个特定的宏)是一样的。不过,使用菜单中的命令只能运行宏一次,而 RunMacro 操作可以不受限制地多次运行宏。

提示 可使用“重复次数”和“重复表达式”参数来决定宏运行的次数:

如果将两个参数都留空,则宏只运行一次。

如果为“重复次数”参数输入了某个数字,但将“重复表达式”参数留空,则宏将运行“重复次数”参数指定的次数。

如果为“重复表达式”参数输入了某个表达式,但将“重复次数”参数留空,则宏将运行至表达式值为

False 为止。

如果为两个参数都输入了值,则宏将运行由“重复次数”指定的次数或直至“重复表达式”的值为 False(取决于哪个参数先满足条件)。

如果运行一个含有 RunMacro 操作的宏时遇到了 RunMacro 操作,Access 将运行被调用的宏。该宏运行完以后,Access 将返回原来的宏继续执行下一个操作。

注意

可以调用在同一个宏组或别的宏组中的宏。

宏可以嵌套。也就是说,可运行宏 A,在宏 A 中可以调用宏 B,等等。在这种情况下,当运行完被调用的宏以后,Access 将返回原来的宏中继续执行下一个操作。

提示 可在宏组中用 RunMacro 操作来从自定义菜单中运行一个宏(该宏组为自定义菜单栏定义了自定义命令)。不过,用新的命令栏功能从菜单栏、工具栏或快捷菜单运行宏将更容易。在“视图”菜单上,指向“工具栏”,单击“自定义”可显示“自定义”对话框。在对话框的“工具栏”选项卡上,选择要从中运行宏的菜单栏、工具栏或快捷菜单。在“命令”选项卡上,单击“类别”框中的“所有宏”,然后在“命令”框中选择要运行的宏并将其拖至相应的菜单栏、工具栏或快捷菜单中。在菜单栏、工具栏或快捷菜单上单击该宏的图标时,Access 将运行该宏。另外,还可从“数据库”窗口将宏拖至菜单栏或工具栏上,Access 会创建运行该宏的图标。

若要在 Visual Basic 中运行 RunMacro 操作,可使用 DoCmd 对象的 RunMacro 方法。

RunSQL 操作

通过使用相应的

SQL 语句,可以用 RunSQL 操作来运行 Microsoft Access 的操作查询。还可以运行数据定义查询。RunSQL 操作具有以下参数:

操作参数

SQL 语句

使用事

务处理

说明

所要运行的操作查询或数据定义查询对应的 SQL 语句。该语句的最大长度是 255 个字符。该参数是必需的。

选择“是”则在事务处理中包含这个查询。如果不想使用事务处理的话,则选择“否”。默认值为“是”。在 Access

97 之前,当运行该操作时,Access 总是要在事务处理中包括查询。以 BeginTrans 方法开始,执行 SQL 语句,然后以 CommitTrans 方法结束。如果将此参数设为“否”,则查询将运行得更快。

说明 用操作查询可以追加、删除和更新记录,还可以将查询的结果集存为一个新表。用数据定义查询则可以创建、改变和删除表,还可以创建和删除索引。通过 RunSQL 操作可以用一个宏直接来完成这些操作而不需要使用存储的查询。

如果需要键入一个超过 255 个字符的 SQL 语句,请在 Visual Basic 中使用 DoCmd 对象的 RunSQL 方法。在 Visual Basic 中 SQL 语句可长达 32,768 个字符。

Access 查询实际上是 SQL 语句,这些语句是当您在“查询”窗口中使用设计网格设计查询时创建的。下表给出了 Access 的操作查询和数据定义查询以及相应的 SQL 语句。

33

查询类型 SQL 语句 查询类型 SQL 语句

数据定义(SQL 特定查询)

CREATE TABLE

操作

INSERT INTO ALTER TABLE

追加 创建表

DELETE DROP TABLE

删除 修改表

INTO CREATE INDEX

生成表 删除表

UPDATE DROP INDEX

更新 创建索引

删除索引

另外,还可在这些语句中使用 IN 子句来修改另一个数据库中的数据。

注意 若要在宏中运行选择查询或交叉表查询,可用 OpenQuery 操作的“视图”参数在“数据表”视图中打开一个已有的选择查询或交叉表查询。还可以用相同的方式运行已有的操作查询和 SQL 特定查询。

提示 若要查看与 Access 查询对应的 SQL 语句,请在“查询”窗口中单击“视图”菜单上的“SQL

视图”命令。可以将列出的 SQL 语句作为模板来创建用 RunSQL 操作运行的查询。将 SQL 语句复制到

RunSQL 操作的“SQL 语句”参数上,其效果等同于在“查询”窗口中运行该 Access 查询。

Save 操作

使用 Save 操作可以保存一个指定的 Microsoft Access 对象或在没有指定的情况下保存当前活动的对象。在某些情况下还可以使用新名称保存活动对象(此功能与“文件”菜单中的“另存为”命令一样)。

操作 说明

可在“宏”窗口中“操作参数”部分的“对象类型”框中选择“表”、“查询”、“窗体”、“报表”、“宏”、对象类型

要保存的对象的类型。对象名称

“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。如果要选择活动对象,请将本参数留空。如果为该参数选定了一个对象类型,则必须在“对象名称”参数中选择一个已有对象名称。

要保存的对象的名称。在“对象名称”框中显示数据库中所有对应于“对象类型”参数所选类型的对象。如果“对象类型”参数为空,则本参数也为空的话就可以保存活动对象,在某些情况下,也可以在本参数中输入一个新名称,将活动对象以新名称保存。

说明 Save 操作可用于用户能够显式地打开或保存的所有数据库对象。并且所指定的对象必须是打开的,这样 Save 操作才能对对象有效。该操作的效果与选择一个对象然后单击“文件”菜单上的“保存”命令是一样的。如果将“对象类型”参数留空并在“对象名称”参数中输入一个新名称的话,则该操作与选择“文件”菜单上的“另存为”命令,然后为活动对象输入一个新名称的效果相同。Save 操作可以在宏中指定一个要保存的对象并执行“另存为”操作命令。

注意 不能使用 Save 操作用新名称保存以下对象:

“窗体”视图或“数据表”视图中的窗体。

“打印预览”中的报表。

模块。

“数据表”视图或“打印预览”中的服务器视图。

“页”视图中的数据访问页。

“数据表”视图或“打印预览”中的表。

“数据表”视图或“打印预览”中的查询。

“数据表”视图或“打印预览”中的存储过程。

无论是在当前数据库还是在某个类库数据库中执行 Save 操作所在的宏,Save 操作都将把指定的对象或活动对象保存到创建该对象的数据库中。

如果以新名称保存活动对象,但该名称与某个相同类型的已有对象同名,将会出现询问是否要覆盖已有对象的对话框。如果将 SetWarnings 操作的“打开警告”参数设为“否”,则会自动覆盖已有对象而不显示对话框。

34

若要在 Visual Basic 中运行 Save 操作,可使用 DoCmd 对象的 Save 方法。

SelectObject 操作

使用 SelectObject 操作可选择指定的数据库对象。SelectObject 操作具有以下参数:

操作参数 说明

可在“宏”窗口中“操作参数”部分的“对象类型”框中单击“表”、“查询”、“窗体”、“报对象类型

所要选择的数据库对象的类型。对象名称

在“数据库”窗口中

表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。该参数是必需的。

所选对象的名称。在“对象名称”框中显示的是数据库中所有对应于“对象类型”参数所选类型的对象。该参数是必需的,除非将“在„数据库‟窗口中”参数设为“是”。如果将“在„数据库‟窗口中”参数设为“是”并将“对象名称”参数留空,Microsoft Access 就会在“数据库”窗口中选择对应于“对象类型”参数指定类型的数据库对象。

指定 Access 是否选择“数据库”窗口中的对象。可选择“是”(选择“数据库”窗口中的对象)或“否”(不选择“数据库”窗口中的对象)。默认值为“否”。

说明 SelectObject 操作可用于任何可以取得焦点的 Access 对象。该操作使特定的对象获得焦点,并且,如果对象是隐藏的则显示该对象。如果对象是一个窗体,SelectObject 操作将会把窗体的“可见性”属性设为“是”并让窗体返回由其窗体属性(如模式窗体或弹出式窗体)所设置的模式。

如果对象没有在另一个 Access 窗口中打开,则通过将“在‘数据库’窗口中”参数设为“是”即可在“数据库”窗口中选择该对象。如果将“在‘数据库’窗口中”参数设为“否”,则当选择一个没有打开的对象时会出现错误消息。

通常,如果您想在某个对象上执行其他操作,则可用此操作选定该对象。例如,您可能要恢复一个已最小化的对象(用 Restore 操作)或最大化一个包含所需对象的窗口(用 Maximize 操作)。

如果选择了一个窗体,用 GoToControl、 GoToRecord 和 GoToPage 操作可以移动到窗体的特定区域上。GoToRecord 操作还可用于数据表。

若要在 Visual Basic 中运行 SelectObject 操作,可使用 DoCmd 对象的 SelectObject 方法。

SelectObject 操作

使用 SelectObject 操作可选择指定的数据库对象。

操作参数

对象类型

对象名称

说明

所要选择的数据库对象的类型。可在“宏”窗口中“操作参数”部分的“对象类型”框中单击“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。该参数是必需的。

所选对象的名称。在“对象名称”框中显示的是数据库中所有对应于“对象类型”参数所选类型的对象。该参数是必需的,除非将“在„数据库‟窗口中”参数设为“是”。如果将“在„数据库‟窗口中”参数设为“是”并将“对象名称”参数留空,Microsoft Access 就会在“数据库”窗口中选择对应于“对象类型”参数指定类型的数据库对象。

注意 “服务器视图”、“图表”或“存储过程”对象的对象名称不显示在 Access 项目 (.adp) 的“对象名称”框中。

在“数据库”窗口中

指定 Access 是否选择“数据库”窗口中的对象。可选择“是(”选择“数据库”窗口中的对象)或“否”(不选择“数据库”窗口中的对象)。默认值为“否”。

说明 SelectObject 操作可用于任何可以取得焦点的 Access 对象。该操作使特定的对象获得焦点,并且,如果对象是隐藏的则显示该对象。如果对象是一个窗体,SelectObject 操作将会把窗体的“可见性”属性设为“是”并让窗体返回由其窗体属性(如模式窗体或弹出式窗体)所设置的模式。

35

如果对象没有在另一个 Access 窗口中打开,则通过将“在‘数据库’窗口中”参数设为“是”即可在“数据库”窗口中选择该对象。如果将“在‘数据库’窗口中”参数设为“否”,则当选择一个没有打开的对象时会出现错误消息。

通常,如果您想在某个对象上执行其他操作,则可用此操作选定该对象。例如,您可能要恢复一个已最小化的对象(用 Restore 操作)或最大化一个包含所需对象的窗口(用 Maximize 操作)。

如果选择了一个窗体,用 GoToControl、 GoToRecord 和 GoToPage 操作可以移动到窗体的特定区域上。GoToRecord 操作还可用于数据表。

若要在 Visual Basic 中运行 SelectObject 操作,可使用 DoCmd 对象的 SelectObject 方法。

SendKeys 操作

使用 SendKeys 操作可以将键击直接发送到 Microsoft Access 或活动的 Windows 应用程序中。

操作参数

键击

等待

说明

指定要 Access 或其他应用程序处理的键击。请在“宏”窗口“操作参数”节的“键击”框中输入键击。最多可键入 255 个字符。该参数是必选参数。

指定宏是否要暂停运行,直到处理完键击才运行。可选择“是”(暂停)或“否”(不暂停)。默认为“否”。

说明 Access 对通过 SendKeys 操作接收的键击的处理方式与对直接在 Access 窗口中键入的一样。

要指定键击,请使用和 SendKeys 语句相同的语法。

注意 如果键击参数语法不正确、拼写有误或包含不适于键击发送到的目标窗口的其他值时,则错误。

用该操作可在对话框中输入信息,特别是在不希望中断宏的运行而手动响应对话框时使用该操作。一些

Access 操作,如 PrintOut 和 FindRecord 操作,将自动选择某些经常使用的对话框中的选项。用 SendKeys

操作可在不经常使用的对话框中选择选项。

由于对话框挂起了宏的运行,必须将 SendKeys 操作置于那些打开对话框的操作之前,并将“等待”参数设为“否”。

键击到达 Access 或其他应用程序所需的时间是不确定的,因此,如果有其他方法(如 FindRecord 操作)可达到同样的目的,请使用该方法,而不要用 SendKeys 操作来选择对话框中的参数。

如果要将 255 个以上的字符发送到 Access 或其他 Windows 应用程序,可在一个宏中连续使用多个

SendKeys 操作。

用 SendKeys 操作发送键击可以触发相应的 KeyDown、KeyUp 和 KeyPress 事件。发送非 ANSI 键击(如功能键)不会触发 KeyPress 事件。

在 Microsoft Visual Basic 中没有该操作。请用 SendKeys 语句作为代替。

SendObject 操作

使用 SendObject 操作可以将指定的 Microsoft Access 数据表、窗体、报表、模块或数据访问页包含在电子邮件消息中,以便查看和转发。也可将 Microsoft Excel 2000 (*.xls)、MS-DOS 文本文件 (*.txt)、RTF 文件 (*.rtf) 或 HTML (*.html) 格式的对象包含在 Microsoft Outlook、Microsoft Exchange 或其他使用“邮件应用程序编程接口”(MAPI) 的电子邮件应用程序的邮件消息中。

36

SetMenuItem 操作

使用 SetMenuItem 操作可以设置活动窗口的自定义菜单栏或全局菜单栏上的菜单项状态(启用或禁用,选取或不选取)。

注意 SetMenuItem 只用于由菜单栏宏创建的自定义菜单栏和全局菜单栏。在本版本的 Microsoft

Access 中包含 SetMenuItem 操作只是为了和以前的版本保持兼容。它不能用于新的命令栏功能。但是,可以在 Visual Basic 中使用 Enabled 和 State 属性将新的菜单栏、工具栏和快捷菜单上的项目设置为启用或禁用、选取或不选取等状态。

参数 说明

菜单

菜单的索引。该菜单包含要对其进行状态设置的命令。可在“宏”窗口中“操作参数”部分的“菜单索引”框中为活动窗口的(从 0 开始)。该索引与菜单在自定义菜单栏或全局菜索引

自定义菜单栏或全局菜单栏上的所需菜单输入一个“整型”索引值单栏的菜单栏宏中的位置(该菜单的 AddMenu 操作在菜单栏宏中的位置,从 0 开始)有关。菜单栏的显示可以有所差别,因为可在菜单栏宏中使用条件表达式来隐藏或显示自定义菜单项。该参数是必需的。

如果选择菜单时设置了本参数而将“命令索引”和“子命令索引”参数留空,则可以启用或禁用该菜单名称。但不能选取或不选取菜单名称(对于菜单名称,Access 忽略“标志”参数的“选取”和“不选取”设置)。

。该索引与命令

要设置状态的命令的索引。对于由“菜单索引”参数选定的菜单中所需的命令输入一个“整型”值(从 0 开始)索引

命令在用于定义自定义菜单栏或全局菜单栏上选定菜单的宏组中的位置(该命令的宏在宏组中的位置,从 0 开始)有关。菜单的显示可以有所差别,因为可在菜单的宏组中使用条件表达式隐藏或显示自定义菜单命令。

子命要设置状态的子命令的索引。仅当所需命令具有子菜单时该参数才可用。对于由“命令索引”参数选定的子菜单中所需的令 子命令输入一个“整型”值(从 0 开始)。该索引与子命令在用于定义自定义菜单栏或全局菜单栏上选定子菜单的宏组中索引

的位置(该子命令的宏在宏组中的位置,从 0 开始)有关。

、“变实”(启用该命令)、“选取”(在命标志

要将命令或子命令设置成的状态。可选择“变灰”(禁用该命令,命令变为灰色)令旁显示一个勾号,表示已选定或切换到该命令)或“不选取”(清除勾号)。默认值为“变实”。

说明 SetMenuItem 操作仅用于活动窗口的自定义菜单栏或全局菜单栏。如果活动窗口不包含自定义菜单栏或全局菜单栏时,运行包含 SetMenuItem 操作的宏将导致一个运行时错误。请注意,如果没有为窗体或报表添加自定义菜单栏,则全局菜单栏(如果已经定义了的话)将取代所有 Access 窗口上的内置菜单栏。

使用该操作可以设置菜单命令和其子命令的状态,但是不能设置子命令的子命令的状态。

若要在 Visual Basic 中运行 SetMenuItem 操作,请使用 DoCmd 对象的 SetMenuItem 方法。

SetValue 操作

使用 SetValue 操作可以设置 Microsoft Access 窗体、窗体数据表或报表上的字段、控件或属性的值。

注意 不能使用 SetValue 操作设置返回对象的 Access 属性值。

参 说明

要设置值的字段、控件或属性的名称。在“宏”窗口“操作参数”节的“项目”框中输入字段、控件或属性的名称。必须项目

用完整的语法形式引用该项,如 controlname (这是调用宏的窗体或报表上一个控件的名称)或

表达式

Forms!formname!controlname。该参数是必选参数。

Access 使用表达式来对该项的值进行设置。必须用完整的语法形式来引用表达式中的任何对象。例如,要将“雇员”窗体上的薪金控件的值上调百分之十,可用 Forms!雇员!薪金*1.1 语句形式。该参数是必选参数。

注意 在该参数表达式之前不能使用等号 (=),否则 Access 将计算表达式的值并将该值用作该参数的表达式。这在表达式是字符串的情况下将产生不可预料的结果。

例如,如果为本参数键入了="String1",Access 首先计算表达式的值为 String1,然后用 String1 作为参数表达式,在调用宏的窗体或报表上查找一个名为“String1”的控件或属性。

注意 若要用“表达式生成器”来创建上述参数的表达式,请在 Access 数据库 (.mdb) 中, 单击“项目”或“表达式”框右侧的“生成器”按钮

37

说明 使用该操作可以对窗体、窗体数据表或报表上的字段或控件的值进行设置。也可以对任何视图中几乎所有的控件、窗体和报表的属性值进行设置。要了解某个特定的属性是否可在宏中进行设置以及可在何种视图中对该属性进行设置,请参阅对应属性的“帮助”主题。

此外,也可以对窗体基础表中的字段值进行设置,即使窗体不含有绑定到该字段的控件。请在“项目”框中使用 Forms!formname!fieldname 的语法形式来设置这些字段的值。也可以用

Reports!reportname!fieldname 的语法形式来引用报表基础表中的字段值,但报表上必须有一个绑定到该字段的控件,或必须在报表上的计算控件中引用该字段。

在设置窗体控件的值时,SetValue 操作不会触发控件窗体级别的有效性规则,但在控件是绑定控件时会触发基础字段的表级别有效性规则。SetValue 操作还会触发重新计算,但这不会立即进行。要立即触发重新绘制并强制完成重新计算,请用 RepaintObject 操作。用 SetValue 操作设置的控件值也不会受输入掩码的影响。该掩码是在控件或基础字段的“输入掩码”属性中设置的。

要更改控件的值,可在宏中使用由控件的“更新后”事件属性指定的 SetValue 操作。不过,不能在由控件的“更新前”事件属性指定的宏中使用 SetValue 操作来改变控件的值(虽然可用 SetValue 操作改变其他控件的值)。也可在由窗体的“更新前”或“更新后”属性指定的宏中使用 SetValue 操作来更改当前记录上任何控件的值。

注意 不能用 SetValue 操作设置以下控件的值:

报表上的绑定控件和计算控件。

窗体上的计算控件。

提示 用 SetValue 操作可以隐藏或显示“窗体”视图中的一个窗体。请在“项目”框中输入

Forms!e 并在“表达式”框中输入“否”或“是”。将模式窗体的“可见性”属性设置为“否”可隐藏窗体并将窗体设为无模式。如果将属性设为“是”则会显示窗体并将其再次设为有模式的。

在宏中用 SetValue 操作来更改控件的值或添加新的值不会触发诸如“更新前”、“插入前”或“更改”等事件,这些事件是当在用户界面更改或输入这些控件的值时发生的。当在 Visual Basic 中设置控件的值时,这些事件也不会发生。

在 Microsoft Visual Basic 中没有该操作。在 Visual Basic 中可直接对值进行设置。

示例

通过使用宏设置控件的值

下面的宏使用“供应商”窗体中的一个按钮打开“增加产品”窗体。它显示了 Echo、Close、OpenForm、SetValue 及 GoToControl 操作的使用方法。SetValue 操作将“产品”窗体中的“供应商ID”控件设置为

“供应商”窗体中的当前供应商,然后 GoToControl 操作将焦点移到“类别ID”字段,以便输入新产品的数据。该宏应附加到“供应商”窗体的“添加产品”按钮上。

操作

Echo

Close

OpenForm

SetValue

参数:设置 备注

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

关闭“产品列表”窗体。

打开“产品”窗体。

打开回响:否

对象类型:窗体

对象名称:产品列表

保存:否

窗体名称:产品 视图:窗体

数据模式:添加

窗口模式:普通

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

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

移到“类别ID”控件。

GoToControl

控件名称:类别ID

SetWarnings 操作

38

使用 SetWarnings 操作可以打开或关闭系统消息。 SetWarnings 操作具有以下参数:

操作参数

打开警告

说明

指定是否显示系统消息。可在“宏”窗口中“操作参数”部分的“打开警告”框中选择“是”(打开系统消息)或“否”(关闭系统消息)。默认值为“否”。

说明 使用该操作可以防止在出现模式警告和消息框时停止宏的运行。不过,如果有错误消息的话就会显示出来。并且 Microsoft Access 会显示所有需要进行输入而不只是选择一个按钮(如“确定”、“取消”、“是”或“否”)的对话框,例如需要输入文本或含有多选一选项的对话框。

将“打开警告”参数设为“否”时,执行该操作的效果与出现警告或消息框时按 Enter 是一样的。通常,在出现警告或消息时要选择“确定”或“是”按钮。

当宏运行完以后,Access 自动打开系统消息的显示。

通常该操作和 Echo 操作一块使用,后者用于隐藏宏的结果直至宏执行完毕。用 SetWarnings 操作也可隐藏警告和消息框。

警告 虽然 SetWarnings 操作可简化与宏的交互,但在关闭系统消息时还是要谨慎。在某些情况下,一旦出现某个警告信息您可能就不希望继续运行宏。除非您对所有宏操作的结果都非常熟悉,否则不要用该操作。

若要在 Visual Basic 中运行 SetWarnings 操作,可使用 DoCmd 对象的 SetWarnings 方法。

ShowAllRecords 操作

使用 ShowAllRecords 操作可删除活动表、查询结果集或窗体中所有已应用过的筛选,并且显示表或结果集中的所有记录,或者窗体基本表或查询中的所有记录。ShowAllRecords 操作没有任何参数。

说明 用该操作可以确保表、查询结果集或窗体的所有记录(包括被修改的或新的记录)都显示出来。该操作还导致对窗体或子窗体记录的重新查询。

另外,对于所有通过 ApplyFilter 操作、“记录”菜单上的“应用筛选/排序”命令或者 OpenForm 操作的“筛选名称”或“Where 条件”参数来应用的筛选,用该操作都可删除它们。

该操作的效果和单击“记录”菜单上的“取消筛选/排序”或单击“窗体”视图或“数据表”视图中工具栏上的“取消筛选” 是一样的。

若要在 Visual Basic 中运行 ShowAllRecords 操作,可使用 DoCmd 对象的 ShowAllRecords 方法。

ShowToolbar 操作

用 ShowToolbar 操作可显示或隐藏内置工具栏或自定义工具栏。既可以在所有的 Microsoft Access 窗口中显示内置工具栏,也可以只在通常显示某一工具栏的视图(例如“窗体”视图中的“窗体视图”工具栏)上显示内置工具栏。

注意 ShowToolbar 操作只影响工具栏,而不影响菜单栏或快捷菜单。

说明

所要显示或隐藏的工具栏名称。在“宏”窗口“操作参数”部分的“工具栏名称”框中显示了 Access 中所有的内置工具栏,以39

及当前数据库中已定义的任何自定义工具栏。该参数是必选的。

如果“启动”对话框(单击“工具”菜单上的“启动”可以打开该对话框)中的“允许内置工具栏”复选框被清除,则只称

能使用该操作显示和隐藏自定义工具栏。

如果在类库数据库中运行一个包含 ShowToolbar 操作的宏,Access 将首先在类库数据库中搜索具有该名称的对象,然后再到当前数据库中搜索。

指定是否显示工具栏以及在何种视图中显示或隐藏。其默认值为“是”(仅在普通视图中显示内置工具栏)示

对于内置工具栏,可选择“是”以在所有活动的 Access 窗口中显示该工具栏,也可选择“适用时显示”,使得只在各视图中显示相应的工具栏(这是 Access 默认的方式),还可选择“否”以在所有 Access 窗口中隐藏内置工具栏。

对于自定义工具栏,可选择“是”以在窗体或报表活动时在所有 Access 窗口中显示窗体或报表的自定义工具栏,也可选择“适用时显示”对显示活动窗体或报表的活动窗口显示窗体或报表的自定义工具栏,还可选择“否”以在 Access 窗口中隐藏自定义工具栏。

说明 在宏中可以将该操作与条件表达式一起使用以在特定条件下显示或隐藏一个或多个工具栏。

如果要只在一个窗体或报表上显示某个特殊的工具栏,可将窗体或报表的 OnActivate 属性设置为包含

ShowToolbar 操作的宏的名称,即可显示所需的工具栏。相反,将窗体或报表的 OnDeactivate 属性设置为包含 ShowToolbar 操作的宏的名称,即可隐藏该工具栏。

ShowToolbar 操作的效果与将指针指向“视图”菜单中的“工具栏”,单击“自定义”,然后在“自定义”对话框的“工具栏”选项卡上选择或清除特定的工具栏是一样的。

如果在 Visual Basic 中将 AllowBuiltInToolbars 属性设为 False (0) 或者在 Visual Basic 中用

SetOption 方法将“允许内置工具栏”选项设为 False ,则不能用该操作显示或隐藏内置工具栏。

若要在 Visual Basic 中运行 ShowToolbar 操作,可使用 DoCmd 对象的 ShowToolbar 方法。

StopAllMacros 操作

使用 StopAllMacros 操作可以终止当前所有宏的运行。StopAllMacros 操作没有参数。

说明 一般情况下,在出现错误需要中终止所有宏的运行时使用该操作。可在包含该操作的宏操作行中使用条件表达式。当表达式值为 True (-1) 时,Microsoft Access 会终止运行所有宏。

例如,您可能有一个宏,该宏显示一个消息框并执行多个复杂操作,包括运行其他的宏。如果用户单击消息框中的“取消”,使用 StopAllMacros 操作可终止所有宏的运行。

如果有一个宏使用 Echo 或 SetWarnings 操作关闭回响或系统信息的显示,StopAllMacros 操作会自动再将其打开。

在 Microsoft Visual Basic 中没有该操作。

StopMacro 操作

用 StopMacro 操作可终止当前正在运行的宏。StopMacro 操作没有参数。

说明 一般情况下,在出现必须终止宏运行的情况时使用该操作。可在包含该操作的宏操作行中使用条件表达式。当表达式值为 True (-1) 时,Microsoft Access 会停止运行该宏。

40

例如,您可能创建了一个宏,该宏打开一个窗体,在窗体中显示的是在自定义对话框输入的日期的日订单数据的总计。此时可用一个条件表达式来保证对话框中的“订购日期”控件值是有效的。如果值无效,MsgBox 操作会显示一条错误消息而 StopMacro 操作会终止宏的运行。

如果一个宏用 Echo 或 SetWarnings 操作关闭回响或系统信息的显示,此操作会自动再将其打开。

在 Microsoft Visual Basic 中没有该操作。

示例

通过使用宏同步窗体

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

条件

IsNull

([供应商ID])

...

操作

Echo

备注

打开回响:否 在宏执行过程中停止屏幕更新。

MsgBox

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

发嘟嘟声:无

类型:无

标题:选有当前供应商的数据,则择供应商 显示一条信息。

GoToControl

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

StopMacro

停止执行宏。

OpenForm

窗体名称:产品列表

视图:数据表

筛选名称: Where 打开“产品列表”窗体并条件:[供应商ID] = [Forms]![供应商]![供应商ID]

数据模显示当前供应商的产品。

式:只读

窗口模式:普通

MoveSize

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

下:1.8 英寸

参数:设置

TransferSQLDatabase 操作

在 Microsoft Access 项目中使用 TransferSQLDatabase 操作,可以将一个 Microsoft SQL Server 7.0

或更高版本的数据库传输到另一个 SQL Server 7.0 或更高版本的数据库。

TransferDatabase 操作

使用 TransferDatabase 操作,可以在当前的 Microsoft Access 数据库 (.mdb) 或 Microsoft Access

项目 (.adp) 与其他数据库之间导入和导出数据。对于 Access 数据库,还可以从其他数据库中向当前

Access 数据库中链接表。通过链接的表,可以在保持表在其他数据库中位置不变的情况下访问那个表的数据。

参数 说明

迁移要迁移的类型。在“宏”窗口“操作参数”部分的“迁移类型”框中选择“导入”、“导出”或“链接”。默认值为“导入”。

类型

数据库类型

数据库名41

注意 Access 项目 (.adp) 不支持“链接”迁移类型。

导入来源、导出目的或链接目的数据库的类型。在“数据库类型”框中选择 Microsoft Access 或其他数据库类型之一。默认值为 Microsoft Access。

导入、导出或链接的数据库的名称。名称中包含完整的路径。该参数是必需参数。

对于像 FoxPro、Paradox 和 dBASE 这样将每个表保存为单独文件的数据库类型,输入文件所在的目录。然后在“源”参数(用于导入或链接)或“目标”参数(用于导出)中输入文件名。

对象要导入或导出的对象的类型。如果选择的“数据库类型”参数是 Microsoft Access,则可以在“对象类型”框中选择“表”、类型

“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。默认值为“表”。如果选择其他类型的数据库,或者在“迁移类型”对话框中选择“链接”,则该参数会被忽略。

若要将选择查询导出到 Access 数据库中,请在该参数中选择“表”来导出查询的结果集,并选择“查询”来导出查询自身。如果要将选择查询导出到其他类型的数据库中,则该参数会被忽略,而且会导出查询的结果集。

要导入、导出或链接的表、选择查询或 Access 对象的名称。对于像 FoxPro、Paradox 或 dBASE 这样的数据库类型,源

该参数即文件名。文件名中含有扩展名(如 .dbf)。该参数是必需参数。

目标

目标数据库中导出、导入或链接到的表、选择查询或 Access 对象的名称。对于像 FoxPro、Paradox 或 dBASE 这样的数据库类型,文件名中含有扩展名(如 .dbf )。该参数是必需参数。

如果在“迁移类型”参数中选择“导入”,而在“对象类型”参数选择“表”,则 Access 将创建一个包含导入表数据的新表。

在导入表或其他对象的时候,如果对象名称与已有的名称冲突,则 Access 会在名称后添加一个数字。例如,如果导入一个“雇员”表,而名为“雇员”的表已存在,则 Access 会将导入表或其他对象重命名为“雇员1”。

如果要导出到 Access 数据库或其他类型的数据库,则 Access 将自动替换已有的同名表或其他对象。

仅结构

指明是否忽略数据而仅导入或导出数据库中表的结构。请为该参数选择“是”或“否”,默认值为“否”。

说明 可以在 Access 和其他类型数据库之间导入或导出表。还可将 Access 选择查询导出到其他类型的数据库中。Access 可以以表的形式导出查询结果集。如果两个数据库均为 Access 数据库,则在两个数据库之间可以导入或导出所有的 Access 数据库对象。

如果从另一个 Access 数据库 (.mdb) 中导入的表是一个链接表,则在导入之后,该表仍处于链接状态。也就是说,导入的是链接,而不是表本身。

如果要访问的数据库需要密码,则在运行宏的时候将出现一个对话框。请在该对话框中键入密码。

TransferDatabase 操作与在“数据库”窗口中指向“文件”菜单上的“获取外部数据”或“导出”,然后单击“导入”或“链接表”的效果是类似的。可以用这些命令来选择数据源,如 Access 或其他类型的数据库、电子表格或文本文件。在选定数据库之后,将出现一个或多个对话框;根据要导入、导出或链接的数据库的不同,可以在对话框中选择要导入或导出的对象类型(用于 Access 数据库)、对象名称以及其他选项。TransferDatabase 操作的参数反映了这些对话框中的选项。

如果要为链接的 FoxPro 或 dBASE 表提供索引信息,请先指向“文件”菜单上的“获取外部数据”并单击“链接表”链接到 FoxPro 或 dBASE 表,然后在该命令的对话框中指定索引。Access 在特殊信息文件(.inf 文件)中存储索引信息,该文件位于 Microsoft Office 文件夹中(路径为 C:Program

FilesMicrosoft OfficeOffice 10)。然后即可删除与链接表的链接了。下次使用 TransferDatabase 操作链接该 FoxPro 或 dBASE 表时,Access 将使用您已指定的索引信息。

注意 如果要查询或筛选链接的表,则查询或筛选要区分大小写。

若要在 Microsoft Visual Basic 中运行 TransferDatabase 操作,请使用 DoCmd 对象的

TransferDatabase 方法。

TransferSpreadsheet 操作

42

可以使用 TransferSpreadsheet 操作在当前的 Microsoft Access 数据库 (.mdb) 或 Access 项目

(.adp) 和电子表格文件之间导入或导出数据。也可将 Excel 电子表格中的数据链接到当前的 Access 数据库中。通过链接的电子表格,您可以用 Access 查看和编辑电子表格数据,同时还允许在 Microsoft Excel 电子表格程序中对数据进行完全访问。还可以链接 Lotus 1-2-3 电子表格文件中的数据,但这些数据在 Access

中是只读的。

操作说明

参数

迁移转换的类型。请在“宏”窗口“操作参数”节的“迁移类型”框中选择“导入”、“导出”或“链接”。默认选择为“导入”。

类型

电子表格类型

注意 Access 项目 (.adp) 不支持“链接”类型。

用于指明所要导入、导出或链接的电子表格的类型。您可以在选项框中从多个电子表格类型中选择一个。类型的默认值是“Microsoft Excel 8-10”。

注意 可以从 Lotus .WK4 文件中导入和链接(以只读方式)数据,但不能将 Access 数据以这种电子表格格式导出。Access 也不支持用此操作从 或 Excel 2.0 版本的电子表格导入、导出或链接数据。如果要从 Excel 2.0

版本或 Lotus .WKS 格式的电子表格中导入或链接数据,则必须在将数据导入或链接到 Access 以前,将电子表格转换成 Excel 或 Lotus 1-2-3 的较高版本。

表名

用于指明 Access 表的名称。该表用于导入电子表格数据、从该表导出电子表格数据或链接电子表格数据。您可以键入用于导出数据的 Access 选择查询的名称,该参数是必选参数。

如果选择迁移类型参数为“导入”,而表已经存在,则 Access 将电子表格数据追加到该表。否则,Access 创建一个新表来存放电子表格数据。

在 Access 中, 当执行 TransferSpreadsheet 操作时,不允许使用 SQL 语句来指定要导出的数据。相反,要先创建一个查询,并在“表名称”参数中指定查询的名称。

用于指明所要导入、导出或链接的电子表格文件的名称。该名称包括完整路径。该参数为必选参数。

当您从 Access 导出数据时,Access 将创建一个新的电子表格。如果导出数据的文件名与现有的电子表格同名,则

Access 将取代现有的电子表格,除非是导出到 Microsoft Excel 5.0 版或更高版本的工作簿中。在这种情况下,Access

将导出数据复制到工作簿中的下一个可用的新工作表中。

如果是从 Excel 5.0 版或更高版电子表格中导出或链接数据,您可以用“范围”参数指定一个特定的工作表。

用于指明电子表格的第一行是否包含字段名。如果选择“是”,在导入或链接电子表格数据时,Access 将使用该行的名称作为 Access 表的字段名。如果选择“否”,Access 则将第一行作为普通的数据。该参数的默认值为“否”。

文件名

有字段名称

当将 Access 表或选择查询导出到电子表格时,无论您是否选择了该参数,字段名都将被插入到电子表格的第一行中。

范围

用于指明导入或链接的单元格范围。在导入或链接整个电子表格时请将该参数留空。可键入电子表格范围的名称,或指定导入或链接单元的范围,如 A1:E25(注意 A1..E25 的语法格式在 Access 97 或更高版本中无效)。如果要导入或链接到 Excel 5.0 或更高版本工作表,可以在范围前加前缀:工作表的名称加上感叹号,如 Budget!A1:C7。

注意 若是将数据导出到电子表格,则必须将该参数留空。如果输入了一个范围,则导出操作失败。

说明 可以将 Access 选择查询的数据导出到电子表格中。Access 将像导出表一样导出查询。

在 Access 表中添加的电子表格数据必须和表结构兼容。

电子表格中的每个字段的数据类型都必须和表中对应的字段一致。

字段必须具有相同的顺序(除非将“带有字段名称”参数设置为“是”,此时,电子表格中的字段名必须与表的字段名相匹配)。

该操作等同于在“数据库”窗口中指向“文件”菜单中的“获取外部数据”子菜单或“导出”命令,然后选择“导入”或“链接表”这一系列动作。可用这些命令来选择数据源,如 Access 或其他类型的数据库、电子表格或文本文件。在选择了一个电子表格后,将出现一系列的对话框,或一个可运行的 Access 向导,在其中您可以选择电子表格的名称和其他选项。TransferSpreadsheet 操作的参数与这些对话框或向导中的选项相对应。

43

注意 如果查询或筛选一个链接电子表格,则该查询或筛选区分大小写。

如果链接到一个以“编辑”方式打开的 Excel 电子表格中,Access 将等到该电子表格退出了“编辑”方式之后才能完成链接,这里并没有时间限制。

要在VB中执行 TransferSpreadsheet 操作,请使用 DoCmd 对象的 TransferSpreadsheet 方法。

TransferText 操作

用 TransferText 操作可以在当前的 Microsoft Access 数据库(.mdb) 或 Access 项目 (.adp) 与文本文件之间导入或导出文本。还可以将文本文件中的数据链接到当前的 Access 数据库中。通过链接的文本文件,在允许字处理程序完全访问该文本文件的同时还可以用 Access 查看该文本数据。也可以导入、导出或链接到 HTML 文件 (*.html) 中的 (*.html) 表或列表中。

注意 如果链接的数据在文本文件或 HTML 文件中,则这些数据在 Access 中是只读的。

说明

所迁移的类型。对带分隔符或固定宽度文本文件或 HTML 文件中的数据可以进行导入、导出或链接操作。还可以将数移

据导出到 Microsoft Word 的邮件合并数据文件中,从而可以利用 Word 的邮件合并功能来创建合并文档,如套用信函和邮寄标签等。

在 “宏”窗口“操作参数”部分的“迁移类型”框中,选择“导入分隔符号”、“导入固定宽度”、“导入 HTML”、“导出分隔符号”、“导出固定宽度”、“导出 HTML”、“导出 Word for Windows 合并文件”、“链接分隔符号”、“链接固定宽度”或“链接 HTML”。默认值为“导入分隔符号”。

注意 Access 项目 (.adp) 只支持“导入分隔符”、“导入固定宽度”、“导出分隔符”、“导出固定宽度”、“导出 Word for Windows 合并文件”迁移类型。

该名称用于确定如何导入、导出或链接文本文件的选项集。对于固定宽度文本文件来说,必须指定一个参数或使用

文件(该文件必须和要导入、链接或导出的文本文件存放在同一个文件夹中)。

可用“文件”菜单上的“获取外部数据”的“导入”或“链接表”子命令或“导出”命令来创建特定类型的文本文件(如使用制表符来分隔列并且日期格式为 MDY 的带分隔符的文本文件)规格。当单击其中一个命令并选择某个文本文件类型用于导入、导出或链接时,系统会运行“导入文本向导”、“导出文本向导”或“链接文本向导”。可以在“向导”中单击“高级”按钮,然后在出现的对话框中定义并保存一种规格。这样,当需要导入或导出相同类型的文本文件时,在该参数中键入合适的规格名称即可。

在没有为此参数指定规格名称的情况下也可以导入、导出或链接一个带分隔符的文本文件。这种情况下,Access 将使用向导对话框的默认值。Access 对邮件合并数据文件使用一种预先设好的格式,这样在导出这些类型的文件时无需为该参数输入规格名称。对 HTML 文件可以使用导入/导出规格,但是被应用的规格中只有一部分可以用于设置数据类型格式的规格。

文本数据的导入目标、导出来源或链接目标 Access 表的名称。还可以输入要从其中导出数据的 Access 查询的名称。此参数是必选参数。

如果单击“迁移类型”框中的“导入分隔符”、“导入固定宽度”或“导入 HTML”,而且表已经存在,则 Access 将文本数据追加到表中。否则,Access 将创建一个新表来包含导入的文本数据。

在使用 TransferText 操作时不能用 SQL 语句来指定要导出的数据。必须首先创建一个查询,然后在“表名称”参数中指定查询的名称,以此代替使用 SQL 语句。

进行导入、导出或链接的文本文件的名称。包括完整路径,该参数是必选参数。

当从 Access 导出数据时,Access 将创建一个新的文本文件。如果导出文件名与已有文本文件同名,则 Access 覆盖已称

有文本文件。

44

若要导入或链接 HTML 文件中的一个特殊表或列表,可以使用 “HTML 表名称”参数。

指定文本文件的第一行是否包含字段名称。如果选择“是”,在导入或链接文本数据时,Access 将使用该行中的名称作为

Access 表的字段名。如果选择“否”,Access 则认为第一行是普通数据行。该参数的默认值为“否”。

如果正在导入或链接的是一个固定宽度的文本文件,并在此对话框中选择“是”,则包含字段名的第一行必须使用在导入/导出规格中设置的字段分隔符来分隔字段名称。如果要导出到一个固定宽度的文本文件并将此参数选为“是”,则

Access 将字段名插入到具有此分隔符的文本文件的第一行中。

HT

待导入或链接的 HTML 文件中列表或表的名称。除非“迁移类型”参数设为“导入 HTML”或“链接 HTML”,否则该参数ML

被忽略。如果将该参数留空,则将导入或链接 HTML 文件中的第一个表或列表。

如果将 Access 的表或选择查询导出到一个带分隔符的或固定宽度的文本文件中,而此参数选为“是”,则 Access 将名

把表或选择查询的字段名插入到文本文件的第一行。

如果 HTML 文件中存在 标记,则 HTML 文件中表或列表的名称取决于该标记指定的文本。如果没有

标记,则名称由 标记指定的文本决定。如果多个表或列表具有相同的名称,Access 通过给每个名称结尾添加一个数字,如“雇员1”和“雇员2”来区分它们。 </p><p style="text-indent: 2em;";> 代码页 代码页中所用的字符集的名称。 </p><p style="text-indent: 2em;";>说明 可以将 Access 选择查询中的数据导出到文本文件中。Access 将像导出表一样导出查询的结果集。追加到现有 Access 表中的文本数据必须和表的结构兼容。 </p><p style="text-indent: 2em;";> </p><p style="text-indent: 2em;";> </p><p style="text-indent: 2em;";>文本中每个字段都必须和表中相对应的字段的数据类型保持一致。 </p><p style="text-indent: 2em;";>字段的顺序必须一致(除非将“带有字段名称”参数设为“是”,而在这种情况下,文本文件中的字段名称必须和表中的字段名匹配)。 </p><p style="text-indent: 2em;";>该操作与在“数据库”窗口中指向“文件”菜单上的“获取外部数据”或“导出”并单击“导入”或“链接表”相类似。可用这些命令来选择数据源,如 Access 或其他类型数据库、电子表格或文本文件。在选择了带分隔符的文本文件、固定宽度文本文件或者 HTML 文件后,系统将启动向导,向导会提示选择文件的名称并要求指定其他选项。TransferText 操作的参数与向导中的这些选项相对应。 </p><p style="text-indent: 2em;";>提示 导入/导出规格中存储了 Access 用来导入、导出或链接文本文件所需的信息。可以用存储的规格导入、导出或链接相似的文本文件。例如,您可能会从主机的文本文件中得到每周销售数据,这样就可以创建并保存针对这一类型数据的规格,然后无论何时都可使用这一规格将数据添加到 Access 数据库中。 </p><p style="text-indent: 2em;";>注意 如果要查询或筛选一个链接文本文件,则该查询或筛选区分大小写。 </p><p style="text-indent: 2em;";>若要在 Visual Basic 中运行 TransferText 操作,可使用 DoCmd 对象的 TransferText 方法。 </p><p style="text-indent: 2em;";> </p><p style="text-indent: 2em;";>45 </p><p style="text-indent: 2em;";> </p><p><p><h2></h2></p></img></p></div></article></div><div class="fzithome-com info"><div><span>本文发布于:2024-02-20,感谢您对本站的认可!</span></div><div><span>本文链接:</span><a href="https://www.fzithome.com/xitong/1708399397a268029.html" title="access编程-操作(宏)">https://www.fzithome.com/xitong/1708399397a268029.html</a></div><div><span>版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。</span></div></div><span class="tag"><i class="iconfont icon-discount" style="font-size:12px;font-weight:bold;opacity:.7;">本文标签:</i><a href="/tag/164.html" target="_blank">操作</a><a href="/tag/1116.html" target="_blank">窗体</a><a href="/tag/381.html" target="_blank">参数</a><a href="/tag/460.html" target="_blank">对象</a><a href="/tag/146.html" target="_blank">使用</a></span></div><div class="fzithome-com post_comments" id="comments"><div id="comt-respond" class="commentpost"><h4>发布评论 <span><a rel="nofollow" id="cancel-reply" href="#comment" style="display:none;"><small>取消回复</small></a></span></h4><form action="/comment/create/268029.html?safe_token=0n_2B5LfTJJGsPNyrj7HBMhrULu1KE6wa_2BrVGHhDw_2B00sst08wJ_2BPwxqfWKb_2Bz_2Fd6r7GPVHtymloiAbGoVmqgMcA_3D_3D" method="post" name="saypl" id="frmSumbit"><input type="hidden" name="doctype" value="1" /><input type="hidden" name="quotepid" value="0" /><div id="comment-tools"><div class="fzithome-com tools_text"><textarea placeholder="请在这里留言..." name="message" id="txaArticle" class="text input-block-level comt-area" cols="50" rows="4" tabindex="5"></textarea></div></div><div class="fzithome-com psumbit"><input name="sumbit" type="submit" tabindex="6" value="发布" class="button" /></div></form></div><div class="fzithome-com commentlist"><div class="fzithome-com comment-tab"><div class="fzithome-com come-comt">评论列表<span id="comment_count">(有<span id="infocommentnumarea" style="color:#c81111">0</span>条评论)</span></div></div><ul class="diy-comment"></ul></div></div></div><div class="fzithome-com mainr"><div class="widget widget_previous"><h4 class="bar">最近发表</h4><ul><li><a href="/xitong/1700739145a106.html"title='zktime5.0考勤软件常见问题处理办法' aria-label='zktime5.0考勤软件常见问题处理办法'>zktime5.0考勤软件常见问题处理办法</a></li><li><a href="/xitong/1700740155a146.html"title='mdb 长二进制解析' aria-label='mdb 长二进制解析'>mdb 长二进制解析</a></li><li><a href="/xitong/1700740726a176.html"title='如何根据GPS坐标生成面状图及面积计算' aria-label='如何根据GPS坐标生成面状图及面积计算'>如何根据GPS坐标生成面状图及面积计算</a></li><li><a href="/xitong/1700741202a200.html"title='一次渗透网站获得权限的过程' aria-label='一次渗透网站获得权限的过程'>一次渗透网站获得权限的过程</a></li><li><a href="/xitong/1700742921a271.html"title='Access查询作业(1' aria-label='Access查询作业(1'>Access查询作业(1</a></li><li><a href="/xitong/1700743503a299.html"title='在Access中更改控件的默认属性' aria-label='在Access中更改控件的默认属性'>在Access中更改控件的默认属性</a></li><li><a href="/xitong/1700744798a363.html"title='Linux(redhat版)系统下瑞星杀毒软件网络版的安装' aria-label='Linux(redhat版)系统下瑞星杀毒软件网络版的安装'>Linux(redhat版)系统下瑞星杀毒软件网络版的安装</a></li><li><a href="/xitong/1700745095a375.html"title='[管理]常见软件故障及处理方法' aria-label='[管理]常见软件故障及处理方法'>[管理]常见软件故障及处理方法</a></li><li><a href="/xitong/1700746364a443.html"title='如何彻底清除注册表垃圾' aria-label='如何彻底清除注册表垃圾'>如何彻底清除注册表垃圾</a></li><li><a href="/xitong/1700747128a480.html"title='同一信息源也可以作出好新闻——浅谈如何避免新闻同质化' aria-label='同一信息源也可以作出好新闻——浅谈如何避免新闻同质化'>同一信息源也可以作出好新闻——浅谈如何避免新闻同质化</a></li><li><a href="/xitong/1700747757a511.html"title='在面试中如何进行无领导小组讨论' aria-label='在面试中如何进行无领导小组讨论'>在面试中如何进行无领导小组讨论</a></li><li><a href="/xitong/1700748818a564.html"title='热点短文与新闻的区别' aria-label='热点短文与新闻的区别'>热点短文与新闻的区别</a></li><li><a href="/xitong/1700751619a698.html"title='时政新闻2023时政热点摘抄范文(通用3篇)' aria-label='时政新闻2023时政热点摘抄范文(通用3篇)'>时政新闻2023时政热点摘抄范文(通用3篇)</a></li><li><a href="/xitong/1700762664a1250.html"title='Win7如何快速修复系统' aria-label='Win7如何快速修复系统'>Win7如何快速修复系统</a></li><li><a href="/xitong/1700766890a1488.html"title='笔记本的电脑风扇转速多少算正常' aria-label='笔记本的电脑风扇转速多少算正常'>笔记本的电脑风扇转速多少算正常</a></li><li><a href="/xitong/1700767033a1496.html"title='电脑声音不正常的各种故障排除方法' aria-label='电脑声音不正常的各种故障排除方法'>电脑声音不正常的各种故障排除方法</a></li><li><a href="/xitong/1700767081a1499.html"title='笔记本电脑风扇一直转' aria-label='笔记本电脑风扇一直转'>笔记本电脑风扇一直转</a></li><li><a href="/xitong/1700767614a1528.html"title='解决电脑冷却风扇嘈杂的问题' aria-label='解决电脑冷却风扇嘈杂的问题'>解决电脑冷却风扇嘈杂的问题</a></li><li><a href="/xitong/1700768189a1561.html"title='电脑cpu温度怎么设置' aria-label='电脑cpu温度怎么设置'>电脑cpu温度怎么设置</a></li><li><a href="/xitong/1700768327a1569.html"title='电脑开机要按F1怎么回事' aria-label='电脑开机要按F1怎么回事'>电脑开机要按F1怎么回事</a></li></ul></div><section id="aside_about" class="widget widget_aside_about sb br mb"><div class="avatar"><img class="img" src="/view/template/mitiqin/img/tx.jpg" alt="福州电脑网_福州电脑维修_福州电脑之家_福州iThome"/></div><div class="wrap pd"><p class="title">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</p><p class="info">福州电脑维修网(fzithome.com)专业的电脑维修,笔记本维修,上门维修各种电脑,笔记本,平板等,快速上门.电脑知识频道内容覆盖:计算机资讯,电脑基础应用知识,各种电脑故障维修学习,电脑外设产品维修维护,病毒,软件,硬件,常识.</p><ul class="ul clearfix"></ul></div></section><div class="fzithome-com clear"></div><div class="fzithome-com widgets"><h4 class="bar">相关推荐</h4><div class="fzithome-com hot-post"><ul class="clearfix"><li><a href="/xitong/1773722389a2704251.html"title='使用 Python 实现PPPOE拨号连接,拿来即用!_python宽带拨号' aria-label='使用 Python 实现PPPOE拨号连接,拿来即用!_python宽带拨号'><span class="sptit">使用 Python 实现PPPOE拨号连接,拿来即用!_python宽带拨号</span></a></li><li><a href="/biancheng/1773739944a2704454.html"title='Windows XP系统修复工具:紧急修复与系统恢复指南' aria-label='Windows XP系统修复工具:紧急修复与系统恢复指南'><span class="sptit">Windows XP系统修复工具:紧急修复与系统恢复指南</span></a></li><li><a href="/xitong/1773787615a2704983.html"title='InnoSetup制作安装包(EXE)_inno setup打包一个exe' aria-label='InnoSetup制作安装包(EXE)_inno setup打包一个exe'><span class="sptit">InnoSetup制作安装包(EXE)_inno setup打包一个exe</span></a></li><li><a href="/biancheng/1773878120a2705985.html"title='实现Win7 Aero弹出窗口效果的完整代码项目' aria-label='实现Win7 Aero弹出窗口效果的完整代码项目'><span class="sptit">实现Win7 Aero弹出窗口效果的完整代码项目</span></a></li><li><a href="/xitong/1773914835a2706386.html"title='incite自动标引_知网引用格式incite' aria-label='incite自动标引_知网引用格式incite'><span class="sptit">incite自动标引_知网引用格式incite</span></a></li><li><a href="/biancheng/1773933413a2706601.html"title='如何轻松强制删除电脑上的文件_强制删除电脑文件' aria-label='如何轻松强制删除电脑上的文件_强制删除电脑文件'><span class="sptit">如何轻松强制删除电脑上的文件_强制删除电脑文件</span></a></li><li><a href="/biancheng/1774305411a2709321.html"title='如何查看电脑刷新率_怎么看显卡支持的刷新率' aria-label='如何查看电脑刷新率_怎么看显卡支持的刷新率'><span class="sptit">如何查看电脑刷新率_怎么看显卡支持的刷新率</span></a></li><li><a href="/xitong/1774312483a2709402.html"title='JS弹出新窗口被拦截的解决方法_系统之间跳转如何用js关闭浏览器弹窗拦截' aria-label='JS弹出新窗口被拦截的解决方法_系统之间跳转如何用js关闭浏览器弹窗拦截'><span class="sptit">JS弹出新窗口被拦截的解决方法_系统之间跳转如何用js关闭浏览器弹窗拦截</span></a></li><li><a href="/xitong/1774327480a2709572.html"title='穿越火线烟雾透视源码技术解析与风险警示' aria-label='穿越火线烟雾透视源码技术解析与风险警示'><span class="sptit">穿越火线烟雾透视源码技术解析与风险警示</span></a></li><li><a href="/biancheng/1774349175a2709814.html"title='Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)_unity 截图' aria-label='Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)_unity 截图'><span class="sptit">Unity中的截图方法(包括全屏截图、区域截图、Camera截图和摄像头截图)_unity 截图</span></a></li><li><a href="/xitong/1774351592a2709843.html"title='电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教_电脑后置音频接口没声音' aria-label='电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教_电脑后置音频接口没声音'><span class="sptit">电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教_电脑后置音频接口没声音</span></a></li><li><a href="/biancheng/1774357011a2709906.html"title='免费畅游ChinaNet:坊巷WIFI应用指南' aria-label='免费畅游ChinaNet:坊巷WIFI应用指南'><span class="sptit">免费畅游ChinaNet:坊巷WIFI应用指南</span></a></li><li><a href="/biancheng/1774372483a2710078.html"title='彻底杜绝病毒利用 autorun.inf 感染系统' aria-label='彻底杜绝病毒利用 autorun.inf 感染系统'><span class="sptit">彻底杜绝病毒利用 autorun.inf 感染系统</span></a></li><li><a href="/xitong/1774382966a2710198.html"title='电脑卡顿解决方法大全(2025终极版)| 开机慢、运行卡、游戏掉帧?14种快速修复方案+长期优化指南_电脑卡顿反应慢怎么处理' aria-label='电脑卡顿解决方法大全(2025终极版)| 开机慢、运行卡、游戏掉帧?14种快速修复方案+长期优化指南_电脑卡顿反应慢怎么处理'><span class="sptit">电脑卡顿解决方法大全(2025终极版)| 开机慢、运行卡、游戏掉帧?14种快速修复方案+长期优化指南_电脑卡顿反应慢怎么处理</span></a></li><li><a href="/biancheng/1774503852a2710988.html"title='NTBOOTautofix:双系统启动菜单全面优化,一键搞定!' aria-label='NTBOOTautofix:双系统启动菜单全面优化,一键搞定!'><span class="sptit">NTBOOTautofix:双系统启动菜单全面优化,一键搞定!</span></a></li><li><a href="/xitong/1775238644a2711100.html"title='实战教程:掌握CentOS系统备份技巧,防患于未然!' aria-label='实战教程:掌握CentOS系统备份技巧,防患于未然!'><span class="sptit">实战教程:掌握CentOS系统备份技巧,防患于未然!</span></a></li><li><a href="/xitong/1775285589a2711616.html"title='零基础指南:在C++中玩转文件系统输入和输出' aria-label='零基础指南:在C++中玩转文件系统输入和输出'><span class="sptit">零基础指南:在C++中玩转文件系统输入和输出</span></a></li><li><a href="/biancheng/1775291691a2711682.html"title='当你的微店页面不听使唤,用这几个步骤搞定问题!' aria-label='当你的微店页面不听使唤,用这几个步骤搞定问题!'><span class="sptit">当你的微店页面不听使唤,用这几个步骤搞定问题!</span></a></li><li><a href="/biancheng/1775293901a2711695.html"title='Fedora系统中的微信秘籍:快速上手指南' aria-label='Fedora系统中的微信秘籍:快速上手指南'><span class="sptit">Fedora系统中的微信秘籍:快速上手指南</span></a></li><li><a href="/biancheng/1775294733a2711706.html"title='从零开始:Fedora下体验微信的步骤解析' aria-label='从零开始:Fedora下体验微信的步骤解析'><span class="sptit">从零开始:Fedora下体验微信的步骤解析</span></a></li></ul></div></div><div class="fzithome-com clear"></div><div class="widget widget_tags"><h4 class="bar">标签列表</h4><ul><li class="submenu"><a target="_blank" href="/tag/245216.html">企业内部</a></li><li class="submenu"><a target="_blank" href="/tag/245122.html">系统装暴</a></li><li class="submenu"><a target="_blank" href="/tag/245022.html">字体怎么</a></li><li class="submenu"><a target="_blank" href="/tag/245006.html">报警音</a></li><li class="submenu"><a target="_blank" href="/tag/245000.html">你的路径</a></li><li class="submenu"><a target="_blank" href="/tag/244971.html">走出困境</a></li><li class="submenu"><a target="_blank" href="/tag/244950.html">使用中遇</a></li><li class="submenu"><a target="_blank" href="/tag/244888.html">不仅仅是</a></li><li class="submenu"><a target="_blank" href="/tag/244878.html">小米推出</a></li><li class="submenu"><a target="_blank" href="/tag/244846.html">右键双击</a></li><li class="submenu"><a target="_blank" href="/tag/244842.html">使用方便</a></li><li class="submenu"><a target="_blank" href="/tag/244836.html">中顿号出</a></li><li class="submenu"><a target="_blank" href="/tag/244810.html">功能窗口</a></li><li class="submenu"><a target="_blank" href="/tag/244801.html">的添加删</a></li><li class="submenu"><a target="_blank" href="/tag/244798.html">大漠插件</a></li><li class="submenu"><a target="_blank" href="/tag/244789.html">微信客户</a></li><li class="submenu"><a target="_blank" href="/tag/244773.html">件下载功</a></li><li class="submenu"><a target="_blank" href="/tag/244755.html">下创建</a></li><li class="submenu"><a target="_blank" href="/tag/244754.html">动监视器</a></li><li class="submenu"><a target="_blank" href="/tag/244746.html">多进程对</a></li></ul></div><div class="fzithome-com clear"></div></div></div><footer id="footer"><div class="footer container-w cl"><div class="fnav"></div><span class="copy"> CopyRight © 2022 All Rights Reserved <a href="/" title="福州电脑网_福州电脑维修_福州电脑之家_福州iThome" target="_blank">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</a></span> 备案号:<a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/" style="font-size: 12px;">豫ICP备2022026798号-13</a></div></footer><script src="/view/template/mitiqin/js/common.min.js?2.3.0"></script><script src="/view/js/xiuno.js"></script><script src="/view/template/mitiqin/js/app.js?2.3.0"></script><div id="gotop"><div style="display: none; margin-bottom:5px;" id="goTopBtn"><a title="返回顶部" class="gotopa"><span class="iconfont icon-rocket-fill"></span></a></div></div></body></html>