Foxtable(狐表)用户栏目专家坐堂 → [求助]同样的代码不同的表,存在执行差


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

主题:[求助]同样的代码不同的表,存在执行差

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/8/10 12:22:00 [只看该作者]

是我看错了 是关闭事件不是打开事件

If DataTables("订单").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing Then  找这几个列同时有无空值,如果没有

    Return '那么返回,不再执行代码

End If


 把 Return  改成 e.Cancel = true 试试


[此贴子已经被作者于2015/8/10 12:26:28编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/8/10 12:37:00 [只看该作者]

 

上述代码应该没问题,在项目BeforeCloseProject能执行,可是相同的在其他表里却不能执行该代码,关闭项目就直接关闭了,没有判断行为

 

 红色部分不能理解

 

你在其他表里的关闭代码是什么


 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/10 12:55:00 [只看该作者]

我的意思就是指当有发生日期或客户或产品存在空值的时候,它就没判断了直接执行Return

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/8/10 13:01:00 [只看该作者]

那你不是应该用or 吗

 

你用And 是三个同时为空啊


 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/10 13:17:00 [只看该作者]

A表和B表的有三个字段都相同的,就是发生日期、客户、产品

可是相同的在其他表里却不能执行该代码

在项目BeforeCloseProject设了
If DataTables("A").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing Then  
    Return '那么返回,不再执行代码

End If

...... '如一楼的代码

......

If DataTables("B").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing Then  

    Return '那么返回,不再执行代码

End If


...... '如一楼的代码

......



当A表的发生日期、客户、产品的其中一个存在空值,只要关闭项目就会执行msgbox代码,而不是直接关闭,可是B表呢,B表的发生日期、客户、产品的其中一个存在空值,只要关闭项目就直接关闭了

 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/10 13:18:00 [只看该作者]

我也试过全部用or的了,但还是会像15楼那样,后来我想了一下,用OR的话,这代码判断就是错的了,
[此贴子已经被作者于2015/8/10 13:19:46编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/8/10 13:27:00 [只看该作者]

你这个代码

在A表检查完就返回了,当然到不了B表

 

你把你的代码一句句注释一下,就明白了


 回到顶部
帅哥哟,离线,有人找我吗?
乡里出城
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:426 积分:3505 威望:0 精华:0 注册:2015/4/17 9:13:00
  发帖心情 Post By:2015/8/10 13:28:00 [只看该作者]

变得我无语了,现在是同一张表,同一个代码,当发生日期、客户或产品存在空值时,开发者的账户能正常执行代码,其他用户的就不行,晕死了
[此贴子已经被作者于2015/8/10 13:29:02编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/8/10 13:34:00 [只看该作者]

错了

[此贴子已经被作者于2015/8/10 13:36:20编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2015/8/10 13:41:00 [只看该作者]


Dim blA As Boolean = DataTables("A").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing
Dim blB = DataTables("B").Find("[发生日期] Is Null and [产品] Is Null and [客户] Is Null") Is Nothing
If blA And BLB
    Return '那么返回,不再执行代码
End If

...... '如一楼的代码


 回到顶部
总数 40 上一页 1 2 3 4 下一页