Foxtable(狐表)用户栏目专家坐堂 → [求助]一个数据值提取的功能


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

主题:[求助]一个数据值提取的功能

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
[求助]一个数据值提取的功能  发帖心情 Post By:2012/2/10 17:38:00 [只看该作者]

各位老师:

     有一个功能需求,请各位老师赐教。

例一个单元格,输入后,按规则提取数据写到另一个单元格中。

例:数据格式 

ABC-001        会按分隔符“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果: ABC-001

ABC01-020/A 会按分隔符隔“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果:ABC-020

ABC1-123/AB 会按分隔符隔“-”提取分隔符前三位,再提取分隔符后三位加个分隔符写入另一个单元格。 数据结果:ABC-123

 

请问老师,是用表达式写还是用代码写?请老师赐教


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/10 17:42:00 [只看该作者]

Dim vals() As String = "ABC01-020/A".Split("-")
If vals.Length >=2 Then
    Return vals(0).SubString(0,3) & "-" & Vals(1).SubString(0,3)
End If

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2012/2/10 18:08:00 [只看该作者]

狐爸,出了这个错,这是为啥 ?
图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2012/2/10 18:19:00 [只看该作者]

If e.DataCol.name = "规格型号" Then
Dim vals() As String = e.DataRow("规格型号").Split("-")
If vals.Length >=2 Then
 Dim gjz As String = vals(0).SubString(0,3) & "-" & Vals(1).SubString(0,3)
    e.DataRow("规格型号关键字") = gjz
End If
    End If

 

狐爸:我借您代码,这样写了,可以,但如果数据写这样就会出错

例数值 ABC-01   而写ABC-010 分隔符后位数够了才可以,如何能够避免呢?


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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/2/10 19:09:00 [只看该作者]

那不这样改一下

 

Dim vals() As String = "ABC01-01".Split("-")
If vals.Length >=2 Then
    Dim n,n1 As Integer
    n = iif(Len(Vals(0))<3,Len(Vals(0)),3)
    n1 = iif(Len(Vals(1))<3,Len(Vals(1)),3)
    Return vals(0).SubString(0,n) & "-" & Vals(1).SubString(0,n1)
End If


 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/2/10 21:46:00 [只看该作者]

学习

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2012/2/13 15:04:00 [只看该作者]

真的非常感谢CZY 老师!


 回到顶部