




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AddMenu 操作使用 AddMenu 操作可以创建下列内容: 窗体或报表的自定义菜单栏。自定义菜单栏可替换窗体或报表的内置菜单栏。 窗体、窗体控件或报表的自定义快捷菜单。自定义快捷菜单可替换窗体、窗体控件或报表的内置快捷菜单。 全局菜单栏。除了用户为窗体或报表添加的自定义菜单栏以外,全局菜单栏将替换所有 Microsoft Access 窗口的内置菜单栏。 全局快捷菜单。除非已经为窗体、窗体控件或报表添加了自定义快捷菜单,否则对于表数据表和查询数据表中的字段,“窗体”视图、“数据表”视图和“打印预览”中的窗体,以及“打印预览”中的报表,全局快捷菜单将替换它们的内置快捷菜单。 注意 虽然在 Access 中,使用包含 AddMenu 操作的宏可以创建所有类型的自定义菜单(并且,原有的使用宏创建的自定义菜单仍然有效),不过也可以使用“自定义”对话框来创建菜单。在“视图”菜单上指向“工具栏”,然后单击“自定义”即可打开“自定义”对话框。当显示“自定义”对话框后,即可轻松地新建菜单或自定义内置菜单。AddMenu 操作具有下列参数:操作参数说明菜单名称添加到自定义菜单栏或全局菜单栏中的下拉式菜单的名称。可以在“宏”窗口“操作参数”部分的“菜单名称”框中输入菜单名称。这是自定义菜单栏和全局菜单栏所必需的参数,但对于自定义快捷菜单和全局快捷菜单,则忽略该参数。 若要创建访问键以便使用键盘来选择菜单,请在作为访问键的字母之前键入一个“And”符号 (&)。在菜单栏上的菜单名称中该字母将带有下划线。菜单宏名称宏组的名称,该宏组中包含上述菜单命令所对应的宏。这是必需的参数。 如果在某个类库数据库中执行包含 AddMenu 操作的宏,Access 将只在当前数据库中查找具有该名称的宏组。状态栏文字选择菜单时显示在状态栏中的文本。对于自定义快捷菜单和全局快捷菜单,该参数会被忽略。使用宏创建自定义菜单栏、自定义快捷菜单、全局菜单栏或全局快捷菜单时,必须执行下列操作: 1. 为自定义菜单栏或全局菜单栏上所需的每个下拉式菜单均创建一个包含 AddMenu 操作的菜单栏宏。对于自定义快捷菜单和全局快捷菜单,菜单栏宏应该只包含一个 AddMenu 操作。 2. 通过为每个菜单创建一个宏组为每个下拉式菜单指定命令。每个命令都运行由该宏组中的一个宏所定义的操作集合。对于自定义快捷菜单和全局快捷菜单,只需创建一个宏组,该宏组中的每个宏都包含一个快捷菜单命令的操作集合。 3. 将菜单栏宏附加于适当的 Access 对象: o 对于自定义菜单栏,在窗体或报表的 MenuBar 属性中输入菜单栏宏的名称。 o 对于自定义快捷菜单,在窗体、窗体控件或报表的 ShortcutMenuBar 属性中输入菜单栏宏的名称。 o 对于全局菜单栏,单击“工具”菜单上的“启动”,然后在“启动”对话框的“菜单栏”框中输入菜单栏宏的名称。 o 对于全局快捷菜单,单击“工具”菜单上的“启动”命令,然后在“启动”对话框的“快捷菜单栏”框中输入菜单栏宏的名称。 菜单栏上的每个菜单都需要一个独立的 AddMenu 操作。自定义菜单栏、全局菜单栏及快捷菜单会替换其所附对象的内置菜单栏和快捷菜单。如果要在这些菜单里保留某些 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 条件有效的 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 事件上。条件操作参数:设置说明公司名称筛选 =1ApplyFilterWhere 条件:公司名称Like A*筛选公司名以 A、 或 打头的记录。公司名称筛选 =2ApplyFilterWhere 条件:公司名称 Like B*筛选公司名以 B 打头的记录。公司名称筛选 =3ApplyFilterWhere 条件:公司名称 Like C*筛选公司名以 C 或 打头的记录。. 由 D 到 Y 的操作行与由 A 到 C 的操作行具有相同的格式 .公司名称筛选 =26ApplyFilterWhere 条件:公司名称 Like Z*筛选公司名以 Z、 或 打头的记录。公司名称筛选 =27ShowAllRecords显示所有记录。RecordsetClone.RecordCount0GoToControl控件名称:公司名称如果为选定字母返回了记录,那么将焦点移动到 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 操作可以取消下列事件:ApplyFilterBeforeDelConfirmBeforeInsertBeforeUpdateDblClickDeleteDirtyNoDataExitMouseDownFilterOpenKeyPressUnloadFormatPrint注意可以将 MouseDown 事件与 CancelEvent 操作一起使用,以取消在对象上单击鼠标右键时发生的事件。如果在某个控件的 OnDblClick 事件属性的设置中指定了一个包含 CancelEvent 操作的宏,该操作便会取消 DblClick 事件。对于可以被取消的事件,事件的默认行为(即 Access 在事件发生时通常所做的操作)在事件的宏运行之后发生。这使得您可以取消默认行为。例如,当双击文本框中包含插入点的单词时,Access 通常会选定该单词。可以在 DblClick 事件的宏中取消这种默认行为,转而执行某个其他操作,例如打开一个窗体,显示有关文本框中数据的信息。对于不能被取消的事件,默认行为在宏运行之前便会发生。注意 如果某窗体的 OnUnload 事件属性指定了一个执行 CancelEvent 操作的宏,则不能关闭该窗体。若要关闭窗体,必须更正引起 CancelEvent 操作执行的条件,或者打开宏并删除 CancelEvent 操作。如果窗体是模式窗体,则不能打开该宏。若要在 Visual Basic 中执行 CancelEvent 操作,可使用 DoCmd 对象的 CancelEvent 方法。示例:通过使用宏验证数据 下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及 GoToControl 操作的使用方法。条件表达式用于检查在该窗体上记录中输入的国家/地区和邮政编码。如果邮政编码不符合其国家/地区的正确格式,宏将显示消息框,并取消对记录的保存。然后您将返回到“邮政编码”控件并可以在那里改正错误。该宏应附加到“供应商”窗体的 BeforeUpdate 属性。条件操作参数:设置备注IsNull(国家/地区)StopMacro如果“国家/地区”为 Null,就无法验证邮政编码。国家/地区 In (法国,意大利,西班牙) And Len(邮政编码) 5MsgBox消息:邮政编码必须为 5 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误如果邮政编码不是 5 个字符,则会显示消息。.CancelEvent取消事件。GoToControl控件名称:邮政编码国家/地区 In (澳大利亚,新加坡) And Len(邮政编码) 4MsgBox消息:邮政编码必须为 4 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 如果邮政编码不是 4 个字符,则会显示消息。.CancelEvent取消事件。GoToControl控件名称:邮政编码(国家/地区 = 加拿大) And (邮政编码 Not LikeA-Z0-9A-Z 0-9A-Z0-9)MsgBox消息:邮政编码无效。加拿大编码示例:H1J 1C3 发嘟嘟声:是 类型:信息 标题:邮政编码错误如果邮政编码不符合加拿大的有效格式,则会显示消息。(加拿大编码示例:H1J 1C3).CancelEvent取消事件。Close 操作使用 Close 操作可以关闭指定的 Microsoft Access 窗口,或者,如果没有指定窗口,则关闭活动窗口。Close 操作具有以下参数:操作参数说明对象类型要关闭的窗口的对象类型。可以在“宏”窗口“操作参数”节的“对象类型”框中选择“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。如果要选择活动窗口,那么将该参数留空。 对象名称要关闭的对象名称。“对象名称”框中显示了数据库中由“对象类型”参数所选择的全部对象。单击该对象即可关闭它。如果“对象类型”参数为空,将该参数留空。保存决定关闭时是否要保存对对象的更改。可选择“是”(保存对象)、“否”(关闭对象而不保存)或“提示”(提示用户是否要保存对象)。默认值为“提示”。对于用户可以明确地打开或关闭的所有数据库对象,都可以使用 Close 操作来关闭。该操作与下列行为的效果类似:即选择对象然后单击“文件”菜单上的“关闭”,单击对象窗口的“控制”菜单上的“关闭” 或单击对象的“关闭”按钮 关闭对象。如果“保存”参数设置为“提示”,并且在 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 方法。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 操作。这样就能够在宏运行时改变状态栏文字。如果要关闭回响,可以使用 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项目:Forms!产品!供应商ID 表达式:供应商ID将“供应商ID”控件设为“供应商”窗体中的当前供应商。GoToControl控件名称:类别ID移到“类别ID”控件。通过使用宏同步窗体 下面的宏会在“供应商”窗体的右下角打开一个“产品列表”窗体,显示当前供应商所供应的产品。它显示了 Echo、MsgBox、GoToControl、StopMacro、OpenForm 及 MoveSize 等操作的使用方法,同时也显示了 MsgBox、GoToControl 和 StopMacro 操作的条件表达式的使用方法。该宏应附加到“供应商”窗体的“回顾产品”按钮上。条件操作参数:设置备注Echo打开回响:否在宏执行过程中停止屏幕更新。IsNull(供应商ID)MsgBox消息:请移至要查看其产品的供应商记录上,然后再次单击“回顾产品”按钮。 发嘟嘟声:无 类型:无 标题:选择供应商如果“供应商”窗体中没有当前供应商的数据,则显示一条信息。GoToControl控件名称:公司名称将焦点移到“公司名称”控件上。.StopMacro停止执行宏。OpenForm窗体名称:产品列表 视图:数据表 筛选名称: Where 条件:供应商ID = Forms!供应商!供应商ID 数据模式:只读 窗口模式:普通打开“产品列表”窗体并显示当前供应商的产品。MoveSize右:0.7799 英寸 下:1.8 英寸将“产品列表”窗体放在“供应商”窗体的右下方。FindNext 操作使用 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 操作具有下列参数:操作参数说明查找内容指定要在记录中查找的数据。请输入想要查找的文本、数字或日期,或在“宏”窗口“操作参数”部分的“查找内容”框中,键入以等号 (=) 开始的表达式。可以使用通配符。该参数是必需的参数。匹配指定数据在字段中所在的位置。可以指定搜索字段中任何部分(“字段任何部分”)的数据、搜索整个字段中(“整个字段”)的数据或搜索位于字段开头部分(“字段开头”)的数据。默认值为“整个字段”。区分大小写指定该搜索是否区分大小写。可单击“是”(进行区分大小写的搜索)或“否”(不区分大小写字母的搜索)。默认值为“否”。搜索指定是从当前记录向记录开头进行搜索(“向上”)还是向记录结尾进行搜索(“向下”),或是向下搜索到记录结尾然后再从记录开头搜索到当前记录,以便对所有的记录都进行搜索(“全部”)。默认值为“全部”。格式化搜索指定搜索中是否包含带格式的数据。可单击“是”(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 操作之前,在宏中将焦点设置到包含搜索条件的字段中。如果使用命令按钮来运行包含 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”控件设为“供应商”窗体中的当前供应商。GoToControl控件名称:类别ID移到“类别ID”控件。通过使用宏验证数据有效性 下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及 GoToControl 操作的使用方法。条件表达式用于检查在该窗体上记录中输入的国家/地区和邮政编码。如果邮政编码不符合其国家/地区的正确格式,宏将显示消息框,并取消对记录的保存。然后您将返回到“邮政编码”控件并可以在那里改正错误。该宏应附加到“供应商”窗体的 BeforeUpdate 属性。条件操作参数:设置备注IsNull(国家/地区)StopMacro如果“国家/地区”为 Null,就无法验证邮政编码。国家/地区 In (法国,意大利,西班牙) And Len(邮政编码) 5MsgBox消息:邮政编码必须为 5 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误如果邮政编码不是 5 个字符,则会显示消息。.CancelEvent取消事件。GoToControl控件名称:邮政编码国家/地区 In (澳大利亚,新加坡) And Len(邮政编码) 4MsgBox消息:邮政编码必须为 4 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 如果邮政编码不是 4 个字符,则会显示消息。.CancelEvent取消事件。GoToControl控件名称:邮政编码(国家/地区 = 加拿大) And (邮政编码 Not LikeA-Z0-9A-Z 0-9A-Z0-9)MsgBox消息:邮政编码无效。加拿大编码示例:H1J 1C3 发嘟嘟声:是 类型:信息 标题:邮政编码错误如果邮政编码不符合加拿大的有效格式,则会显示消息。(加拿大编码示例:H1J 1C3).CancelEvent取消事件。GoToPage 操作使用 GoToPage 操作,可以在活动窗体中将焦点移到指定页的第一个控件上。如果已经创建了一个带有分页符的窗体,其中包含几组相关的信息,就可以使用该操作。例如,可能有一个员工窗体,其中一页上包含个人信息,另一页上包含办公室信息,而第三页上包含销售信息。可以使用 GoToPage 操作移到所需的页上。另外,还可以利用选项卡控件,在单个窗体上展示多个页。GoToPage 操作具有下列参数:操作参数说明页码要将焦点移动到的页的页码。在“宏”窗口“操作参数”部分的“页码”框中输入页码。如果将本参数留空,那么焦点会停留在当前的页上。可以使用“右”及“下”参数,以显示该页中要查看的其他部分。右此页左上角边缘的水平位置,从页所在窗口的左边缘开始算起。如果指定了“下”参数,则也必须指定本参数。下此页左上角的垂直位置,从页所在窗口的上边缘开始算起。如果指定了“右”参数,则也必须指定本参数。注意 “右”和“下”参数是按照英寸或厘米度量的,具体采用哪种度量单位要视 Windows 控制面板中的“区域设置”而定。说明 使用该操作可以选择指定页上的第一个控件(按窗体的 Tab 键次序定义)。而使用 GoToControl 操作,可将焦点移到窗体上指定的控件中。对页大于 Microsoft Access 窗口的窗体可以使用“右”和“下”参数。先使用“页码”参数移到所需的页,然后使用“右”和“下”参数显示该页中要查看的部分。对于左上角距其所在页的左上角偏移指定距离的部分,Access 可以进行显示。在以下几
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版琴行钢琴租赁合同范本含租赁押金及退还规定
- 2025年度国际物流货物安全担保合同范本
- 2025版数控机床购置及培训服务合同
- 2025年二手车维修保养与销售服务合同范本
- 2025年度企业人力资源招聘与配置服务合同
- 贵州省印江土家族苗族自治县2025年上半年事业单位公开遴选试题含答案分析
- 2025版高校期刊论文保密及成果转化协议范本
- 2025版智能砌墙技术施工合同
- 2025年度房地产开发项目营销策划执行合同示范
- 2025房地产开发股东合作协议书:产业园区共建
- 信息技术智能办公教程 课件 任务5-邮件合并
- 中建三局项目商务策划书(23P)
- 高一数学必修一必修二各章知识点总结
- 《拆装液压系统》课件
- 胃肠间质瘤规范化外科治疗中国专家共识(2025版)解读课件
- 校车与交通安全知识
- 仓库管理评审报告怎么写范文
- 《电气控制基础知识》课件
- 2024临床输血指南
- 初中英语7-9年级上册超全语法梳理人教版
- 露天煤矿无人驾驶技术应用发展报告
评论
0/150
提交评论