Foxtable(狐表)用户栏目专家坐堂 → 自动显示上级编号


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

主题:自动显示上级编号

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
自动显示上级编号  发帖心情 Post By:2017/5/26 15:47:00 [只看该作者]

5001.01.01.02,这是会计科目的编号,各级编号的位数不一定统一,我想通过代码实现找到上级编号,这个科目编号的上级编号分别5001.01.01、5001.01、5001,怎么能够通过代码实现呢,比如当输入5001.01.01.02时,会在另一列自动上级编号为5001.01.01

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/5/26 16:15:00 [只看该作者]

定义规则 有了规则 才能 找上级 需要用表定义规则,例如
编码规则表 
表名      字段名      编码规则 
会计科目  科目编码   4222

然后根据 编码规则的长度去一步步筛选
Dim dr As DataRow=DataTables("编码规则表").DataRows(0)
Dim str As String="5001.01.01.02"
Dim sum As Integer
For i As Integer = 0 To dr("编码规则").Length - 1
    sum += dr("编码规则").SubString(i,1)
        If str.length < sum Then
        Exit For
    Else
        Dim str2 As String=str.Replace(".","").SubString(0,sum)
        MessageBox.Show(“各级是:” & str2)
    End If
Next

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2017/5/26 17:13:00 [只看该作者]

如果没有规则能否实现

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


加好友 发短信
等级:二尾狐 帖子:517 积分:3383 威望:0 精华:0 注册:2013/1/3 17:08:00
  发帖心情 Post By:2017/5/26 18:35:00 [只看该作者]

有规则就按规则来,比如说用“.”作为标记,真的没有规则,在表中管理

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 20:17:00 [只看该作者]

Dim str As String="5001.01.01.02"
Dim arr() As String= str.Split(".")
str = ""
For i As Integer = 0 To arr.Length - 1
    str &= "." & arr(i)
    Output.Show("第" & i+1 & "级:" & str.TrimStart("."))
Next

 回到顶部