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


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

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

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望: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行数据在窗口表中会一起删除。

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望: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秒后启动的计划任务,用来执行提示和刷新代码。

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


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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2017/2/17 11:20:00 [显示全部帖子]

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

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18007 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2017/2/17 11:42:00 [显示全部帖子]

这个主意不错。谢谢。

 回到顶部