您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > access编程-操作(宏)
1AddMenu操作使用AddMenu操作可以创建下列内容:窗体或报表的自定义菜单栏。自定义菜单栏可替换窗体或报表的内置菜单栏。窗体、窗体控件或报表的自定义快捷菜单。自定义快捷菜单可替换窗体、窗体控件或报表的内置快捷菜单。全局菜单栏。除了用户为窗体或报表添加的自定义菜单栏以外,全局菜单栏将替换所有MicrosoftAccess窗口的内置菜单栏。全局快捷菜单。除非已经为窗体、窗体控件或报表添加了自定义快捷菜单,否则对于表数据表和查询数据表中的字段,“窗体”视图、“数据表”视图和“打印预览”中的窗体,以及“打印预览”中的报表,全局快捷菜单将替换它们的内置快捷菜单。注意虽然在Access中,使用包含AddMenu操作的宏可以创建所有类型的自定义菜单(并且,原有的使用宏创建的自定义菜单仍然有效),不过也可以使用“自定义”对话框来创建菜单。在“视图”菜单上指向“工具栏”,然后单击“自定义”即可打开“自定义”对话框。当显示“自定义”对话框后,即可轻松地新建菜单或自定义内置菜单。AddMenu操作具有下列参数:操作参数说明菜单名称添加到自定义菜单栏或全局菜单栏中的下拉式菜单的名称。可以在“宏”窗口“操作参数”部分的“菜单名称”框中输入菜单名称。这是自定义菜单栏和全局菜单栏所必需的参数,但对于自定义快捷菜单和全局快捷菜单,则忽略该参数。若要创建访问键以便使用键盘来选择菜单,请在作为访问键的字母之前键入一个“And”符号(&)。在菜单栏上的菜单名称中该字母将带有下划线。菜单宏名称宏组的名称,该宏组中包含上述菜单命令所对应的宏。这是必需的参数。如果在某个类库数据库中执行包含AddMenu操作的宏,Access将只在当前数据库中查找具有该名称的宏组。状态栏文字选择菜单时显示在状态栏中的文本。对于自定义快捷菜单和全局快捷菜单,该参数会被忽略。使用宏创建自定义菜单栏、自定义快捷菜单、全局菜单栏或全局快捷菜单时,必须执行下列操作:1.为自定义菜单栏或全局菜单栏上所需的每个下拉式菜单均创建一个包含AddMenu操作的菜单栏宏。对于自定义快捷菜单和全局快捷菜单,菜单栏宏应该只包含一个AddMenu操作。2.通过为每个菜单创建一个宏组为每个下拉式菜单指定命令。每个命令都运行由该宏组中的一个宏所定义的操作集合。对于自定义快捷菜单和全局快捷菜单,只需创建一个宏组,该宏组中的每个宏都包含一个快捷菜单命令的操作集合。3.将菜单栏宏附加于适当的Access对象:o对于自定义菜单栏,在窗体或报表的MenuBar属性中输入菜单栏宏的名称。o对于自定义快捷菜单,在窗体、窗体控件或报表的ShortcutMenuBar属性中输入菜单栏宏的名称。o对于全局菜单栏,单击“工具”菜单上的“启动”,然后在“启动”对话框的“菜单栏”框中输入菜单栏宏的名称。o对于全局快捷菜单,单击“工具”菜单上的“启动”命令,然后在“启动”对话框的“快捷菜单栏”框中输入菜单栏宏的名称。菜单栏上的每个菜单都需要一个独立的AddMenu操作。2自定义菜单栏、全局菜单栏及快捷菜单会替换其所附对象的内置菜单栏和快捷菜单。如果要在这些菜单里保留某些Access命令以备使用,可以利用RunCommand操作将这些命令放入所需菜单的宏组中。可以从菜单命令运行宏,方法是在该命令的宏中使用RunMacro操作。注意AddMenu操作只能用于菜单栏宏,而该菜单栏宏必须是由窗体、窗体控件或报表的MenuBar或ShortcutMenuBar属性指定的,或是由“启动”对话框(通过单击“工具”菜单上的“启动”命令即可打开该对话框)的“菜单栏”框或“快捷菜单栏”框指定的。菜单栏宏应该只包含AddMenu操作。为窗体或报表,或者为数据库指定了菜单栏宏之后,无论何时打开该窗体、报表或数据库,Access都会执行该菜单栏宏。如果在窗体、报表或数据库打开时,更改了用于定义下拉式菜单命令的菜单栏宏或宏组,那么必须在关闭窗体、报表或数据库后将其重新打开,才能看到自定义菜单栏及其菜单中的更改。创建包含自定义菜单命令的宏组时,可以参阅下列信息:在宏组中,每个宏的“宏名”列中的名称就是命令名称。当选择命令时,该行“备注”列中的文本将显示在状态栏中。若要在两个菜单命令之间创建分隔线,请在“宏名”列中适当的菜单命令之间键入连字符(-)。若要创建访问键以便用键盘选择命令,请在命令名称中作为访问键的字母前键入“And”符号(&)。该字母在菜单上将以下划线形式显示。可以在由“菜单宏名称”参数指定的宏组中使用AddMenu操作为自定义菜单或自定义快捷菜单创建子菜单。如果将AddMenu操作放入这样的宏组中,Access将使用由该AddMenu操作的“菜单名称”和“状态栏文字”参数所指定的菜单名称和状态栏文字创建一个子菜单。该子菜单中包含由AddMenu操作的“菜单宏名称”参数所指定的宏组中的宏定义的命令。因为这种AddMenu操作(该操作通常为自定义菜单上的命令指定命令名称和状态栏文本)定义的是子菜单,而不是最上层菜单的命令,所以该操作的“宏名”和“备注”列将被忽略。通过在每一级菜单的宏组中使用AddMenu操作,可以创建多级子菜单。只有最上层菜单栏宏才支持宏条件。也就是说,可以在菜单栏宏中使用条件来决定是否在自定义菜单栏或全局菜单栏中显示特定的菜单,但是只有对最上层菜单栏上的菜单才可这样做。无法用条件来显示或隐藏菜单中的命令或子菜单。对于自定义快捷菜单或全局快捷菜单,同样可以使用条件来隐藏或显示它们。若要在VisualBasic中运行AddMenu操作,可以使用DoCmd对象的AddMenu方法。在VisualBasic中,您还可以设置MenuBar或ShortcutMenuBar属性,将自定义菜单栏或自定义快捷菜单附加到窗体、窗体控件或报表中。可以设置StartUpMenuBar属性(相当于通过编程设置“菜单栏”框)来创建全局菜单栏,也可以设置Application对象的MenuBar属性来创建全局菜单栏。类似地,可以设置Application对象的StartUpShortcutMenuBar属性(相当于通过编程设置“快捷菜单栏”框)或ShortcutMenuBar属性来创建全局快捷菜单。ApplyFilter操作使用ApplyFilter操作可以对表、窗体或报表应用筛选、查询或SQLWHERE子句,以便限制或排序表的记录以及窗体或报表的基础表或基础查询中的记录。对于报表,只能在其“打开”事件属性所指定的宏中使用该操作。ApplyFilter操作具有以下参数:操作说明筛选名称用以限制或排序表、窗体或报表中的记录的筛选或查询的名称。可以输入已有查询或筛选的名称,该筛选已作为查询保存在“宏”窗口“操作参数”节的“筛选名称”框内。Where条件有效的SQLWHERE子句(不包含WHERE一字)或表达式,用以限制表、窗体或报表中的记录。3注意在“Where条件”参数表达式中,表达式的左边通常包含某个窗体或报表的基础表或基础查询的字段名。表达式的右边通常包含要应用于该字段的条件,以限制或排序记录。例如,条件可以是另一个窗体中的控件的名称,该窗体包含要用来使第一个窗体的记录与之相匹配的值。控件名称必须完整限定,例如:Forms!formname!controlname字段名应使用双引号包围起来,而字面值则应使用单引号。“Where条件”参数最长为255个字符。如果要输入较长的SQL子句,可以在MicrosoftVisualBasic中,使用DoCmd对象的ApplyFilter方法。在VisualBasic中可以输入最长为32,768个字符的SQLWHERE子句。注意如果已经定义了某个提供适当数据的筛选,可以使用“筛选名称”参数。也可以直接使用“Where条件”参数输入限制条件。如果同时使用两个参数,MicrosoftAccess将应用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条件:[公司名称]LikeB*筛选公司名以B打头的记录。[公司名称筛选]=3ApplyFilterWhere条件:[公司名称]Like[CÇ]*筛选公司名以C或Ç打头的记录。...由D到Y的操作行与由A到C的操作行具有相同的格式...[公司名称筛选]=26ApplyFilterWhere条件:[公司名称]筛选公司名以Z、Æ、Ø或4Like[ZÆØÅ]*Å打头的记录。[公司名称筛选]=27ShowAllRecords显示所有记录。[RecordsetClone].[RecordCount]0GoToControl控件名称:公司名称如果为选定字母返回了记录,那么将焦点移动到CompanyName控件。Beep操作使用Beep操作,可以通过计算机的扬声器发出嘟嘟声。Beep操作没有任何参数。可以使用Beep操作提示下列情况:已发生重要的屏幕更改。控件中输入了某种错误类型的数据。例如,用户在文本框控件中输入了数值型数据。宏已经执行到指定位置或已经完成操作。嘟嘟声的频率和持续时间取决于计算机硬件,在不同的计算机上可能会有所不同。若要在VisualBasic中执行Beep操作,请使用DoCmd对象的Beep方法。CancelEvent操作使用CancelEvent操作可以取消一个事件,该事件在取消前用于引发MicrosoftAccess执行后来包含该操作的宏。宏名称即为事件属性的设置,如BeforeUpdate、OnOpen、OnUnload或OnPrint。CancelEvent操作没有任何参数。在窗体中,通常在包含BeforeUpdate事件属性的验证宏中使用CancelEvent操作。当用户在控件或记录中输入数据时,Access将在向数据库添加这些数据之前先运行该宏。如果数据不符合宏中的验证条件,CancelEvent操作便会在更新
本文标题:access编程-操作(宏)
链接地址:https://www.777doc.com/doc-5476789 .html