Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么拆分数值


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

主题:[求助]怎么拆分数值

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
[求助]怎么拆分数值  发帖心情 Post By:2020/3/26 19:41:00 [只看该作者]

老师好,我第一列有数字,如-8*250,-6*3450,......
怎么实现在第二列出现8,6   在第三列依次为250 ,3450

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


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

命令窗口执行:
Dim vals As String = "-8*250,-6*3450"
Dim parts() As String = vals.split(",")
For Each part As String In parts
    part = part.Trim("-").replace("*",",")
    output.show(part)
Next


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/27 9:24:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/0245.htm


Dim s As String  ="-8*250,-6*3450"
Dim r As Row
For Each s1 As String In s.Split(",")
    r = Tables("A").AddNew
    Dim ar() As String = s1.Split("*")
    r("第一列") = sr(0)
    r("第二列") = sr(1)
Next

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
  发帖心情 Post By:2020/3/27 13:16:00 [只看该作者]

谢谢老师

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
  发帖心情 Post By:2020/3/28 15:42:00 [只看该作者]

老师:我的每列有很多行,每行都是不同的数字,如:-250*8;-300*6;-220*10 。。。。。。,
我不可能把所有数字都这样写入Dim s As String  ="-8*250,-6*3450",而且数字还是随时变换的,
怎么修改代码呀,老师给的第二段代码运行错误

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/28 16:16:00 [只看该作者]

如果完全看不懂代码的,建议先学习基础:http://www.foxtable.com/webhelp/topics/1592.htm

如果看的懂的,把您改后的代码发上来。

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
  发帖心情 Post By:2020/3/28 21:42:00 [只看该作者]

For Each r As Row In Tables("表A").rows
    If r("钢板型号") = "" Then
        r("板宽") = Nothing
               r("板厚") = Nothing
        'r("产品_参数I") = Nothing
    Else
        Dim ary() As String =  r("钢板型号") .split("*")
       
     r("板宽") = ary(0)
                r("板厚") = ary(1)
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/29 20:28:00 [只看该作者]

代码在表格?窗口?什么事件的?

截图看看表格实际存储的数据。"钢板型号"存储的是【-250*8】,还是【-250*8;-300*6;....】多个?

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
  发帖心情 Post By:2020/3/29 22:36:00 [只看该作者]

老师好,感谢您,代码在表格,我把代码放在了表事件中,已调试成功,"钢板型号"列存储的是-250*8这种形式,
钢板型号列可以是任意行,最终代码如下:
For Each r As Row In Tables("拆分表").rows
    If r("钢板型号") = "" Then
        r("板宽") = Nothing
               r("板厚") = Nothing
        
    Else
        Dim ary() As String =  r("钢板型号") .split("*")
       
     r("板宽") = ary(0).SubString(1)
                r("板厚") = ary(1)
    End If
Next

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


加好友 发短信
等级:童狐 帖子:260 积分:1957 威望:0 精华:0 注册:2020/3/7 22:50:00
  发帖心情 Post By:2020/3/29 22:38:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:n7dm5gtpzx1r7`a%$lq{$7.png
图片点击可在新窗口打开查看

 回到顶部
总数 12 1 2 下一页