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

FindRecord 操作

时 间:2016-01-16 09:47:08
作 者:张义成   ID:37928  城市:赤峰
摘 要:FindRecord 操作
正 文:

全部显示

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 操作,而不要使用参数设置为运行 Find 命令的 RunCommand 操作。

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

当 FindRecord 宏操作执行时,如果当前所选文本与搜索文本相同,那么,将从所选文本所在的记录内和它所在的字段内,从它后面开始进行搜索。否则,搜索将从当前记录的开头开始进行。这样,您就能够用相同的搜索条件找到可能出现在单个记录中的多个实例。

但请记住,如果使用命令按钮运行包含 FindRecord 操作的宏,那么将重复找到搜索条件的第一个实例。出现这种行为是因为单击命令按钮时将把焦点从包含匹配值的字段中移走。然后,FindRecord 操作将从记录的开头开始执行搜索。要避免这个问题,请通过使用不会更改焦点的方法来运行宏,比如自定义工具栏按钮,或在 AutoKeys 宏中定义组合键,或者让宏在执行 FindRecord 操作之前将焦点设置到包含搜索条件的字段。


安全性  请避免使用 SendKeys 语句或带敏感或机密信息的 AutoKeys 宏。恶意用户可能截取键击,这样将危及计算机和数据的安全。


如果使用命令按钮来运行包含 FindNext 操作的宏,也会出现相同的行为。

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



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

常见问答:

技术分类:

相关资源:

专栏作家

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