Foxtable(狐表)用户栏目专家坐堂 → 以是否查找到记录作为条件判断


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

主题:以是否查找到记录作为条件判断

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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


 回到顶部
美女呀,离线,留言给我吧!
ganlan
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/20 22:45:00 [只看该作者]

否则就e.DataRow("主订单号") = e.DataRow("销售订单号"),我需要的结果不是这样的,这里没有判断销售订单号在不在订单号的列,
[此贴子已经被作者于2021/6/21 8:55:06编辑过]

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/20 22:50:00 [只看该作者]

832278077208这个订单号在订单号列是找不到的,所以主订单号要填的是订单号的**4401398这个,而不是填销售订单号,订单号和销售订单号不一样的

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


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

没看懂什么意思:销售订单号在不在订单号的列具体指什么?

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/20 23:08:00 [只看该作者]

  Dim zw As DataRow 
       zw =.Find("[订单号] = '" & e.NewValue & "'")
   If zw IsNot Nothing Then 
            e.DataRow("主订单号") = e.DataRow("销售订单号")

销售订单号在订单号列找,找到的话,主订单号=销售订单号,找不到就主订单号=订单号,订单号和销售订单号是不同的列


 回到顶部
美女呀,离线,留言给我吧!
ganlan
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/20 23:12:00 [只看该作者]

没看懂什么意思:销售订单号在不在订单号的列具体指什么?


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


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


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

使用sql处理

先执行:update {消息表}as a,{消息表}as b set a.主订单号 = a.销售订单号 where a.主订单号 is null and a.销售订单号 = b.订单号
再执行:update {消息表} set 主订单号 = 订单号 where 主订单号 is null

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/21 9:47:00 [只看该作者]

应该是这个代码,返回e.DataCol.Name = "销售订单号"触发了多次循环,比如这个表叫本表,我现在复制另外一个一样的表,叫复制本表
在本表的DataColChanged把之前的代码
If e.DataCol.Name = "销售订单号" Then 
      If e.NewValue Is Nothing Then 
         e.DataRow("主订单号") = e.DataRow("订单号")
Else
  Dim zw As DataRow 
       zw = DataTables("本表").Find("[订单号] = '" & e.NewValue & "'")(自身所在的这个表)
   If zw IsNot Nothing Then 
            e.DataRow("主订单号") = e.DataRow("销售订单号")

Else
    e.DataRow("主订单号") = e.DataRow("订单号")
End If
End If
End If

改成下面的代码,三秒就搞定

If e.DataCol.Name = "销售订单号" Then 
      If e.NewValue Is Nothing Then 
         e.DataRow("主订单号") = e.DataRow("订单号")
Else
  Dim zw As DataRow 
       zw = DataTables("复制本表").Find("[订单号] = '" & e.NewValue & "'")
   If zw IsNot Nothing Then 
            e.DataRow("主订单号") = e.DataRow("销售订单号")

Else
    e.DataRow("主订单号") = e.DataRow("订单号")
End If
End If
End If


 回到顶部
美女呀,离线,留言给我吧!
ganlan
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/21 9:55:00 [只看该作者]

好像是如果在代码所在的表格里面对其他列查找用FIND,速度就会慢很多

 回到顶部
美女呀,离线,留言给我吧!
ganlan
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1233 威望:0 精华:0 注册:2021/4/17 10:35:00
  发帖心情 Post By:2021/6/21 9:56:00 [只看该作者]

是不是改用findrow会好点

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