Foxtable(狐表)用户栏目专家坐堂 → 窗口表中的beforesavedatarwo事件执行问题


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

主题:窗口表中的beforesavedatarwo事件执行问题

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


加好友 发短信
等级:八尾狐 帖子:1909 积分:16993 威望:0 精华:0 注册:2014/7/29 19:09:00
窗口表中的beforesavedatarwo事件执行问题  发帖心情 Post By:2021/10/25 21:38:00 [只看该作者]

一个窗口表中,有主表,同时还有一个子表,保存都是通用sql语句拼接语句一次性执行的;但在保存前想验证一些数据,所在在窗口表的beforesavedatarow事件写代码,而在全局表中的beforesavedatarow事件取消保存,现在问题时如何主表执行到全表事件后用e.cancel=true停止执行后子表的表事件中也就不再执行了,
如何让每个窗口表中的beforesavedatarow事件执行,但全局表事件中的这个同名事件都不执行?

谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107018 积分:544321 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/25 21:56:00 [只看该作者]

全局表事件的e.cancel=true没有办法影响表事件。可以理解为是不同的事件,无法互相影响

如果不想执行全局表事件中的事件,不要开启这个全局表事件不就行了

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


加好友 发短信
等级:八尾狐 帖子:1909 积分:16993 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2021/10/25 23:26:00 [只看该作者]

不能不启用,就是想在表事件中执行,然后到全局表事件中取消执行,主要是触发保存动作来验证数据,不需要这个事件来真正保存数据
If Tables(wn & "_主表").AllowEdit = True Then  '只有未锁定的表才需要保存
   datatables(wn & "_主表").Save  '主表执行保存后到全局事件执行e.cancel=true后下面的各子表保存的代码就不会执行了
   Dim drs As List(of DataRow) = DataTables("dtbSet").Select("MtbName = '" & wn & "_主表'")
   If drs.count > 0 Then  '有明细表时再保存各明细表
      for each dr as datarow in drs
           datatables(dr("wintbN).Save  '主表保存过后子表就不会执行保存的动作了
      Next
   End If
end if

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107018 积分:544321 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/26 8:42:00 [只看该作者]

没有办法。要么全部逻辑在全局表事件处理,要么全部在表事件处理

 回到顶部