Foxtable(狐表)用户栏目专家坐堂 → [求助]最大编号的问题。


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

主题:[求助]最大编号的问题。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]最大编号的问题。  发帖心情 Post By:2014/9/26 14:46:00 [只看该作者]

Dim d As Date = Date.Today
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim bh As String = Format(d,"yyyyMM") '生成编号的前6位,4位年,2位月.
Dim max As String
Dim idx As Integer
max = e.DataTable.sqlCompute("Max(需求编号)","需求编号 like '" & bh & "%'")
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring((bh.length) + 1,3)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
e.DataRow("需求编号") = bh & Format(idx,"000")

 

编号想改为201409***,比如201409021,201409022.顺序加下去。可是怎么报错啊。红色的代码不对么。

.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2014.9.23.1
错误所在事件:表,需求明细表,DataRowAdded
详细错误信息:
调用的目标发生了异常。
索引和长度必须引用该字符串内的位置。
参数名: length

 

 

[此贴子已经被作者于2014-9-26 14:46:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/26 14:50:00 [只看该作者]

改一下

 

idx = CInt(max.Substring(bh.length, 3)) + 1 '获得最大编号的后三位顺序号,并加1

[此贴子已经被作者于2014-9-26 14:50:30编辑过]

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/9/26 14:54:00 [只看该作者]

这个早就试过了,也报同样的错。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/26 14:56:00 [只看该作者]

 应该是你原本的编号有问题吧?msgbox(max)看看,试试移除掉原来的记录。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/9/26 14:59:00 [只看该作者]

以下是引用有点甜在2014-9-26 14:56:00的发言:
 应该是你原本的编号有问题吧?msgbox(max)看看,试试移除掉原来的记录。

原来是有记录

比如20140998,20140999.在不移除原来的记录,就没法改了。比如下个新增行变为201409100,201409101


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/26 15:00:00 [只看该作者]

 加入代码msgbox(max)看看弹出的值是什么。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/26 15:03:00 [只看该作者]

 如果你原本的记录是两位的,需要用代码把它们规范起来,把两位的99变成三位099

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/9/26 15:04:00 [只看该作者]

以下是引用有点甜在2014-9-26 15:00:00的发言:
 加入代码msgbox(max)看看弹出的值是什么。


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/26 15:04:00 [只看该作者]

 看7楼,要改数据。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/9/26 15:11:00 [只看该作者]

就是我手动把2014099改为201409099,下个数字就应该正常了201409100,201409101.

但是呢,我把2014099这一行解锁后,这个单元格仍然不能编辑。怎么办?


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