Foxtable(狐表)用户栏目专家坐堂 → 从“级码”中提取“单位编码”


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

主题:从“级码”中提取“单位编码”

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


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

请上传实例说明

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/11/3 17:07:00 [只看该作者]

辛苦老师了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2311.foxdb


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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2311.zip


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/11/3 17:46:00 [只看该作者]

己解决,谢谢老师

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/8/10 5:52:00 [只看该作者]


'级码转编码代码,
If e.DataCol.Name = "级码" Then '
    If e.DataRow.IsNull("级码") Then 
        e.DataRow("编码") = Nothing 
    Else 
        Dim sr() As String = e.DataRow("级码").split(".") 
        Dim vals() As Integer = {3, 2, 2, 2} '编码规则      
        If sr.length > 1 Then 
            e.DataRow("编码") = sr(0).trim.PadLeft(vals(0), "0") & sr(1).trim.PadLeft(vals(1), "0") & sr(2).trim.PadLeft(vals(2), "0") & sr(3).trim.PadLeft(vals(3), "0") 
        End If
    End If
End If

'存在问题:级码是完整的"1.2.1.1" 格式,上述代码没有问题,级码如果是"1" "1.2" "1.2.1" 部分格式,就出现问题了

问题现己解决
[此贴子已经被作者于2024/8/10 6:55:25编辑过]

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/8/12 18:28:00 [只看该作者]

Dim c As Row = Tables("单位编码表").Current
Dim r As Row = Tables("单位编码表").InsertNew '插入新增行
Dim s As String = Tables("单位编码表").Compute("max(级码)")
Dim ss() As String = s.Split(".")
If Tables("单位编码表").Current.IsNull("级码") Then 
    MessageBox.Show("某列不能为空,请输入数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 
Else
    ss(ss.Length - 1) = CStr(CInt(ss(ss.Length - 1)) + 1).PadLeft(2, "0")
    r("级码") = String.Join(".", ss) 
End If
老师,这样判断总是不完美,是什么原因

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/12 20:13:00 [只看该作者]

要判断什么?什么不完美?

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/8/13 5:26:00 [只看该作者]

比如级码列是空值,未判断则会出现结点前无数字的现象,表无内容也会出错,因此必纹对这两种情况进行判断

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/13 8:38:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0445.htm

Dim c As Row = Tables("单位编码表").Current
If c IsNot Nothing Then
Dim s As String = Tables("单位编码表").Compute("max(级码)")
if s > "" then
Dim ss() As String = s.Split(".")
……

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5633 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/8/13 12:46:00 [只看该作者]

老师,帮忙看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动增加级码的问题.rar


 回到顶部
总数 110 1.. 上一页 2 3 4 5 6 7 8 9 10 11 下一页