Foxtable(狐表)用户栏目专家坐堂 → [求助]删除多行数据后的PerformClick事件似乎不起作用


  共有1604人关注过本帖树形打印复制链接

主题:[求助]删除多行数据后的PerformClick事件似乎不起作用

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2179 积分:17863 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]删除多行数据后的PerformClick事件似乎不起作用  发帖心情 Post By:2017/2/17 10:13:00 [只看该作者]

表A的DataRowDeleted事件:

If Forms("X").Opened Then
    MessageBox.Show("窗口正打开着呢")
    Forms("X").Controls("Button1").PerformClick()
    MessageBox.Show("重新刷新表成功")
End If

当选择表A中的一行数据删除时,窗口X中的button1模拟单击事件成功,窗口表的数据刷新了

但当选择表A中的多行数据删除时,每删除一行,都会message信息出来,但是窗口表的数据并没有刷新。但手工去点窗口中的button1后,窗口表的数据又刷新成功。

这是为什么呢?

从表象上来看,选择多行(如5行)数据删除时,窗口表中的数据行并没有减少,会message五次出来,当最后一次message后,选定的5行数据在窗口表中会一起删除。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/17 10:26:00 [只看该作者]

1、DataRowDeleted事件,是每删除一行,就会触发一次的。

 

2、你应该手工做一个删除按钮,这样简单方便。

 

3、如果要用DataRowDeleted事件,你可以在事件里,开启一个5秒后启动的计划任务,用来执行提示和刷新代码。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2179 积分:17863 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2017/2/17 11:11:00 [只看该作者]

1、DataRowDeleted事件,是每删除一行,就会触发一次的。

-----这个可以理解,也没有问题

 

2、你应该手工做一个删除按钮,这样简单方便。

-----一般情况下,是直接使用右键的(这样操作方便些),如果要做一个删除按钮也可以,就是用下面的代码而已

With Tables("A")
    For
i As Integer = .BottomPosition To .TopPosition Step -1
        .Rows(i).Delete()

    Next
End
With

 

3、如果要用DataRowDeleted事件,你可以在事件里,开启一个5秒后启动的计划任务,用来执行提示和刷新代码。

-----这个不太好,因为删除之后,希望马上就能看到结果,如果要做延时,还要等,不爽呀。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/17 11:14:00 [只看该作者]

你可以自己做右键菜单,替换原来的。

 

也可以,把系统的右键菜单的删除代码改成你自己的。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2179 积分:17863 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2017/2/17 11:20:00 [只看该作者]

我的目的不是删除,是删除之后窗口中的button的PerformClick事件起作用。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/17 11:21:00 [只看该作者]

以下是引用chnfo在2017/2/17 11:20:00的发言:
我的目的不是删除,是删除之后窗口中的button的PerformClick事件起作用。

 

是的啊,代码自己控制,删除结束的后面写上你另外的代码。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2179 积分:17863 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2017/2/17 11:42:00 [只看该作者]

这个主意不错。谢谢。

 回到顶部