Foxtable(狐表)用户栏目专家坐堂 → 关于编号----(已解决)


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

主题:关于编号----(已解决)

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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
关于编号----(已解决)  发帖心情 Post By:2011/7/12 19:40:00 [只看该作者]

根据示例流水账和狐友提供的编号示例做了一个自动编号示例,仍有所欠缺。发上示例,希望高手能按要求更改一下。

示例中所做的是按日来自动编号,希望能做成按月来做自动编号。也就是说希望7月份7.1-7.31编号按年+月+0001为顺序编。8.1开始,编号恢复到年+月+0001再顺序往下编.

如果某一编号被录入后再删除,那该编号将不能再次被编入.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号测试.rar

[此贴子已经被作者于2011-7-13 14:40:55编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/7/12 22:52:00 [只看该作者]


If e.DataCol.Name = "日期" Then
    If e.DataRow.IsNull("日期") = False And e.DataRow("编号") = Nothing Then
        Dim s As String =  format(e.DataRow("日期"),"yyyyMM") &"-"
        e.DataRow("编号")=s
        Dim i As String = e.DataTable.Compute("Max(编号)" , "[编号] like '" & s & "*'" )
        Dim n As Integer
        If i.length > 7 Then
            n=CInt(right(i,4))
            s= s & format(n+1,"0000")
            e.DataRow("编号")=s

        Else
            n=0
            s= s & format(n+1,"0000")
            e.DataRow("编号")=s

        End If        
    ElseIf e.DataRow.IsNull("日期")
        e.DataRow("编号") = Nothing
    End If
End If


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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2011/7/13 12:39:00 [只看该作者]

如何让编号随日期变化而变化呢?
假如当前表中信息为:

日期:2011-01-01     编号:201101-0001

日期:2011-01-02     编号:201101-0002

日期:2011-01-05     编号:201101-0003

日期:2011-01-15     编号:201101-0004

 

日期:2011-02-01     编号:201102-0001

日期:2011-02-02     编号:201102-0002

日期:2011-02-05     编号:201102-0003

日期:2011-01-05     编号:201101-0004

 

 

希望修改日期后,编号随日期而变化.

 

日期:2011-01-11     编号:201101-0003

日期:2011-01-02     编号:201101-0001

日期:2011-01-05     编号:201101-0002

日期:2011-01-15     编号:201101-0004

 

日期:2011-03-01     编号:201103-0001

日期:2011-02-02     编号:201102-0001

日期:2011-02-25     编号:201102-0003

日期:2011-02-05     编号:201102-0002

 

如何实现呢?

 

 

[此贴子已经被作者于2011-7-13 12:40:23编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/7/13 12:56:00 [只看该作者]

这简单呀,用select 选定同月的记录(可能要用到 _identify 列 ),再for ..... next 重新编号即可。

 

不过,你1楼最后一句话:“如果某一编号被录入后再删除,那该编号将不能再次被编入” 就不好处理了。


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


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2011/7/13 13:40:00 [只看该作者]

代码已解决,谢谢!

[此贴子已经被作者于2011-7-13 14:40:31编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/13 14:40:00 [只看该作者]

这个符合你的要求,而且中间被删除的不会被重用:

 

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


 回到顶部