Foxtable(狐表)用户栏目专家坐堂 → 关键词查找


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

主题:关键词查找

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


加好友 发短信
等级:幼狐 帖子:191 积分:1254 威望:0 精华:0 注册:2021/4/17 10:35:00
关键词查找  发帖心情 Post By:2021/5/31 22:17:00 [只看该作者]

If e.DataCol.Name = "订单号" Then 
      If e.NewValue Is Nothing Then 
         e.DataRow("出游日") = Nothing 
         e.DataRow("手机号") = Nothing 
         e.DataRow("新订单号") = Nothing 
   Else 
   Dim cy As DataRow 
       cy = DataTables("新表").Find("[渠道订单号] Like '%" & e.NewValue & "%'")
   If cy IsNot Nothing Then 
            e.DataRow("出游日") = cy("开始日期") 
           e.DataRow("手机号") = cy("联系电话")  
           e.DataRow("新订单号") = cy("订单号") 
Else
          e.DataRow("出游日") = Nothing
         e.DataRow("手机号") = Nothing 
         e.DataRow("新订单号") = Nothing 

End If
End If
End If

想用这个代码,把“订单号”作为关键词在新表的“渠道订单号(规则是***-订单号)里面查找,找到就填入新表的“日期”,“联系电话”,“新订单号”。
但是点重置列,很卡
有没有比较好的可以优化,我之前用EXCEL,是在新表把渠道订单号的“-”后订单号提取出来,但是用狐表不知道怎么提取。


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


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

很卡应该和这个没有关系

1、当前表数据如果很多,重置列卡是正常的
2、当前表datacolchanged事件还有没有其它代码?把其它代码都注释掉测试卡不卡?

如果要提取数据可以这样,"新表"增加一个列【订单号】
"新表"datacolchanged事件
If e.DataCol.Name = "渠道订单号" andalso e.datarow.isnull("渠道订单号") = false Then 
dim ar() as string = e.datarow("渠道订单号").split("-")
if ar.length > 1 then e.datarow("订单号") = ar(1)
end if

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


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

好的,刚在使用指南里面找到了Split,谢谢了

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


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

再请教一下,
如果资料列是:李四(13000000000)这样的格式,我想在名字列提取名字,电话列提取电话
用上面的代码的时候,提示出错,请教一下是什么原因呀
If e.DataCol.Name = "资料" andalso e.datarow.isnull("资料") = false Then 
dim ar() as string = e.datarow("资料").split("(")
if ar.length > 1 then e.datarow("名字") = ar(0)
e.datarow("电话") = ar(1)
end if

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


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

提示什么错误?
If e.DataCol.Name = "资料" andalso e.datarow.isnull("资料") = false Then 
dim ar() as string = e.datarow("资料").split("(")
e.datarow("名字") = ar(0)
if ar.length > 1 then e.datarow("电话") = ar(1).trim(")")
end if

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


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

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.5.27.1
错误所在事件:表,报销, DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Conversion from string "李四(13000000000)" to type 'Double' is not valid.
Input string was not in a correct format.

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


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

"电话"列是双精度类型?改为字符型

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


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

好的,谢谢,可以了

 回到顶部