Foxtable(狐表)用户栏目专家坐堂 → 自动编号含字母


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

主题:自动编号含字母

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
自动编号含字母  发帖心情 Post By:2017/3/8 15:39:00 [只看该作者]

表中的编号字段含有字母跟数字,要实现每增加一行的时候,编号就自动加1,这个怎么实现?

比如sz0001,添加一行之后就生成sz0002的编号?

现在datarowadding的代码是这样的
e.DataRow("ypbh") = e.DataTable.Compute("Max(ypbh)") + 1

增加行的时候提示:
调用的目标发生了异常。
从字符串“SX0001”到类型“Double”的转换无效。
输入字符串的格式不正确。

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


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


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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2017/3/8 15:52:00 [只看该作者]

这个字母数量不是固定的,多少个字母都有的,字母是要根据实际情况来录入的,所以说,字母也不是固定下来的

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:00:00 [只看该作者]

 

如果你要在增加的时候自动编号,就改成

 

Dim max As String = e.DataTable.Compute("Max(ypbh)")

If max > "" Then

    e.DataRow("ypbh") = "SX" & Format(val(max.Substring(2)) + 1, "0000")

else

      e.DataRow("ypbh") = "SX0001"

End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:01:00 [只看该作者]

如果你的字母不固定,就不能在增加行的时候得到编号,而是应该在填入编号前缀之后得到

 

2楼的帮助文档,你把substring的数字,改成 bh.length 就行了


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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2017/3/8 16:06:00 [只看该作者]

我看帮助里的参数有点多,不知道具体怎么改,还麻烦说下具体怎么改,谢谢啦!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:21:00 [只看该作者]

看4楼5楼,不会做,上传实例。

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2017/3/21 15:42:00 [只看该作者]

请问各位老师这个怎么操作?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:含字母列自动编号.zip


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170321153847.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/21 15:49:00 [只看该作者]

Dim max As String = e.DataTable.Compute("Max(第一列)")
If max > "" Then
    e.DataRow("第一列") = "ab" & Format(val(max.Substring(2)) + 1, "000")
Else
    e.DataRow("第一列") = "SX0001"
End If

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2017/3/21 15:52:00 [只看该作者]

老师,这个字母跟数字都是不固定的,有可能是ab,cd,abc,abcdef,数字有可能是3位,4位,8位或者9位

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