Foxtable(狐表)用户栏目专家坐堂 → 如何实现下列编号


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

主题:如何实现下列编号

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
如何实现下列编号  发帖心情 Post By:2012/10/12 19:07:00 [只看该作者]

请帮助解决:

      如何实现下列编号:编号、日期、序号3列,编号为日期+序号。

      如:日期为2012-05-08,序号为1,  编号为201205080001。

           日期为2012-05-11,序号为11,编号为201205080011。

           日期为2012-12-08,序号为100,编号为201212080100.

 

我用的下列代码月和日前的“0”去掉了,出现201258。“5”、“8”前面的0去掉了。

 

SubString(Convert([日期],'System.String'),1,4)

+SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1)  In ('-','/'),1,2))

+SubString(Convert([日期],'System.String'),IIF(SubString(Convert([日期],'System.String'),7,1) In ('-','/'),8,9

 

 

编号就是日期+序号。日期把中间的“-”去掉,序号由四位组成,假设输入序号时只输入1,编号后四位是0001,输入序号时只输10,编号后四位是0010,

[此贴子已经被作者于2012-10-12 20:05:45编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/12 19:17:00 [只看该作者]

看不明白您的规律!

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/10/12 19:27:00 [只看该作者]

编号就是日期+序号。日期把中间的“-”去掉,序号由四位组成,

假设“日期”列输入2012-05-08,输入“序号”列时只输入1,编号为201205080001,编号后四位是0001,

“日期”列输入2012-12-08,输入“序号”列时只输入10,编号为201212080010,编号后四位是0010,


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/12 19:41:00 [只看该作者]

关键是我没看明白一楼的15月!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/10/12 19:43:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/10/12 20:10:00 [只看该作者]

对不起,15月是我输入的错误,可以是任意一个月。

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


加好友 发短信
等级:婴狐 帖子:58 积分:473 威望:0 精华:0 注册:2012/9/6 21:25:00
回复:(lyfxybc)编号就是日期+序号。日期把中间的“...  发帖心情 Post By:2012/10/12 21:56:00 [只看该作者]

http://www.foxtable.com/help/index.html?n=2374.htm

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/10/13 6:30:00 [只看该作者]

谢谢给我帮助的各位老师。我用的编号为日期+序号+顺序号。日期8位,序号3位,顺序号3位。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:坯布输入.table

[此贴子已经被作者于2012-10-13 6:32:55编辑过]

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/10/13 9:22:00 [只看该作者]

楼主:您的序号列的数据类型需要改一下,统一改为整数型,然后在列属性的整数位数项设为3,这样比较好处理一点,因为您在序号列中输入的1与001如是字符型的话是不同概念的两个数,其它的代码如下:

Dim dr As DataRow =e.DataRow
Select e.DataCol.Name
    Case "日期","序号"
        If dr.IsNull("日期") OrElse dr.isnull("序号") Then
            dr("编号") = Nothing
        Else
            Dim drs As List(of DataRow) =e.DataTable.Select("日期 =#" & dr("日期") & "# and 序号 ='" & dr("序号") & "'" ,"_Identify")
            Dim i As Integer
            For Each tr As DataRow In drs
                Dim d As Date = tr("日期")
                Dim xh As Integer =tr("序号")
                Dim bh As String =  Format(d,"yyyyMMdd")  & format(xh,"000") '生成编号的前缀
                i =i+1
                tr("编号") = bh & format(i,"000")
            Next
        End If
End Select

 


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2012/10/13 9:24:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:坯布输入.table


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