设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1817|回复: 5
打印 上一主题 下一主题

[其它] 如何捕捉“取消筛选/排序”菜单引发的事件

[复制链接]
跳转到指定楼层
1#
发表于 2006-7-14 18:22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何捕捉“取消筛选/排序”菜单引发的事件。

主子窗体形式,子窗体是数据表视图。主窗体上有输入条件的几个文件框,一个命令按钮,点击该按钮,会对子窗体应用筛选(filter=where,filter on=true)。取消筛选,我没有在主窗体上增加命令按钮,而是用自定义菜单的“取消筛选/排序”菜单项。点击这个“取消筛选/排序”菜单项,子窗体的筛选就取消了,如何捕捉这个子窗体的筛选取消事件,我想在这个事件中加入需要的代码。

谢谢。




后来,我自己解决了问题,捕捉这个子窗体的筛选取消事件,最初的设想是在子窗体form_applyfilter中写代码,后来发现,应该在主窗体的form_applyfilter中判断。

[此贴子已经被作者于2006-7-15 14:40:54编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-7-14 20:20:00 | 只看该作者
Form_ApplyFilter
3#
 楼主| 发表于 2006-7-14 21:12:00 | 只看该作者
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)


ApplyFilter 事件过程具有以下参数:














参数


说明





Cancel


该设置决定是否应用筛选。将 Cancel 参数设为 True (-1) 可以阻止应用筛选。也可以使用 [url=mkMSITStore:d:\Program%20Files\Microsoft%20Office%202000\Office\2052\acmain9.chm::/html/acobjDoCmd.htm]DoCmd[/url] 对象的 [url=mkMSITStore:d:\Program%20Files\Microsoft%20Office%202000\Office\2052\acmain9.chm::/html/acmthactCancelEvent.htm]CancelEvent[/url] 方法来取消应用的筛选。





ApplyType


所执行的操作将引起发生 ApplyFilter 事件。ApplyType 参数可以是以下内部常量之一:








常量











acShowAllRecords


0








acApplyFilter


1








acCloseFilterWindow


2








acApplyServerFilter


3








acCloseServerFilterWindow


4











Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)


If ApplyType = 0 Then


MsgBox "oo"
End If


End Sub


上面是子窗体的Form_ApplyFilter的代码,我在对子窗体取消筛选时,msgbox "oo"没有运行,为何?根据帮助,ApplyType = 0,代表取消筛选。





4#
 楼主| 发表于 2006-7-15 22:46:00 | 只看该作者
我顶
5#
发表于 2006-7-15 22:53:00 | 只看该作者
6#
 楼主| 发表于 2006-7-16 00:10:00 | 只看该作者
例子是好的,我一下子还看不懂,先收藏。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 20:38 , Processed in 0.147703 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表