Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

access编程-操作(宏)[15]

时 间:2009-03-25 08:28:23
作 者:UMVsoft资料   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:Access编程-操作(宏)
正 文:

SendKeys 操作[15]

  

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

 

 

操作参数

说明

键击

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

等待

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

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

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

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

用该操作可在对话框中输入信息,特别是在不希望中断宏的运行而手动响应对话框时使用该操作。一些 Access 操作,如 PrintOut FindRecord 操作,将自动选择某些经常使用的对话框中的选项。用 SendKeys 操作可在不经常使用的对话框中选择选项。

  • 由于对话框挂起了宏的运行,必须将 SendKeys 操作置于那些打开对话框的操作之前,并将等待参数设为
  • 键击到达 Access 或其他应用程序所需的时间是不确定的,因此,如果有其他方法(如 FindRecord 操作)可达到同样的目的,请使用该方法,而不要用 SendKeys 操作来选择对话框中的参数。

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

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

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

SendObject 操作

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

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) , 单击项目表达式框右侧的生成器按钮

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

此外,也可以对窗体基础表中的字段值进行设置,即使窗体不含有绑定到该字段的控件。请在项目框中使用 Forms!formname!fieldname 的语法形式来设置这些字段的值。也可以用 Reports!reportname!fieldname 的语法形式来引用报表基础表中的字段值,但报表上必须有一个绑定到该字段的控件,或必须在报表上的计算控件中引用该字段。

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

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

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

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

提示   SetValue 操作可以隐藏或显示窗体视图中的一个窗体。请在项目框中输入 Forms!formname.Visible 并在表达式框中输入。将模式窗体的可见性属性设置为可隐藏窗体并将窗体设为无模式。如果将属性设为则会显示窗体并将其再次设为有模式的。

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

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

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

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

操作

参数:设置

备注

Echo

打开回响:

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

Close

对象类型:窗体 对象名称:产品列表  保存:

关闭产品列表窗体。

OpenForm

窗体名称:产品 视图:窗体 数据模式:添加 窗口模式:普通

打开产品窗体。

SetValue

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

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

GoToControl

控件名称:类别ID

移到类别ID”控件。

 

   

上一课  下一课



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助