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


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

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

帅哥哟,离线,有人找我吗?
大红袍
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/10 14:08:00 [只看该作者]

 你加入msgbox,看执行到哪里吧,这是最基本的调试。

 

 不执行代码,就肯定是判断有问题。


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


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

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

  Messagebox.Show("直接关了")   '代码直接执行到这个里  ,明明,有几行是空值来的,现在是用开发者的账号增加空行,就能直接判断,用其他用户的就不行

Return '那么返回

End If

Dim Result1 As DialogResult

Result1 = Messagebox.Show("本次登记的业务数据不完整,""""将为你选出未登记未整的业务,""""将不会保存未完整的数据,确定要关闭平台吗?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If Result1 = DialogResult.No Then

    e.Cancel = True '取消关闭项目

    Tables("订单").Filter = "[发生日期] Is Null or [产品] Is Null or [客户] Is Null"

    MainTable = Tables("订单")  

 

End If


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


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

按你的写的,先声明再是逻辑也是不是,明明有几行是空值来的,现在是用开发者的账号增加空行,就能直接判断,用其他用户的就不行

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/10 14:37:00 [只看该作者]

试试,如果直接关闭,说明根本就没有对应数据。

 

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


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


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

是用开发者的账号增加空行,就能直接判断,用其他用户的就不行,我就想问,同样的行为,为什么不同的账号就不同执行情况呢,你如果不信,可以加我QQ远程试看一下

大红袍:

试试,如果直接关闭,说明根本就没有对应数据。

 

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

 
你用OR应该是错误的吧,因为我要的是三个条件都有值才满足,
[此贴子已经被作者于2015/8/10 15:13:07编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/10 15:16:00 [只看该作者]

 请去认真检测你表中的数据,肯定不是空值。

 

 比如,可能默认给某一列赋值了,比如在DataRowAdded事件。


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


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

我想问一下,如果给某一列赋值了,在tableS 是能看到得到的吧,关键现在是日期这列没什么赋值的,都是纯手工选择的,只要用开发者人员或其他新建的账号登陆该表(我设不了加载数据),开发者与新建用户做同一的行为就是增加新的空行,然后直接关闭项目,新建的用户就存在不执行代码,而开发者账户就能执行代码,不信的话,远程给你看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/10 15:33:00 [只看该作者]

 

[此贴子已经被作者于2015/8/10 15:32:55编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/10 15:34:00 [只看该作者]

执行以下代码

 

For each dr As Datarow in DataTables("订单").DataRows

    If dr.Isnull("发生日期") OrElse dr.Isnull("产品") OrElse dr.Isnull("客户") Then

        Msgbox(dr("_Identify"))

    End If

Next


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


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


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


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