Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]自动编号代码写法

1楼
googbr 发表于:2008/11/26 18:59:00
在表的DataRowAdding事件中如何写代码实现指定格式的自动编号呢?

以下内容为程序代码:

1 dim dt as string = “ywbh”& “-”& Format(Date.Today(),"yymmdd") & "-" & Format(DataTables("表A").DataRows.Count,"000")
2
3 e.DataRow("第二列") = dt
4


这种编码方式,如果删掉前面的行,会出现重复编号。

我想实现这样的“ywbh-081126-001”、“ywbh-081126-002”……

当日期代码变化后(如:从081126变为081127)后边的编号段则重新由001开始计数。

要求删除一个号码不能引起其他号码变化、删除后如果新增编号自动用同日的编号中尾数最大值+1比如同日最大的是ywbh-081126-002,则新增的应该是ywbh-081126-003

count可以带条件参数吗?

[此贴子已经被作者于2008-11-26 19:00:15编辑过]
2楼
gdtgl 发表于:2008/11/26 20:09:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar

3楼
ybil 发表于:2008/11/26 21:43:00

来个简单点:

Dim T1,T2 As String
T1 = "ywbh-" & Format(Date.today,"yyMMdd") & "-"
T2 = "[编号] like '" & T1 & "*'and [_Identify] < " & e.DataRow("_Identify")
Dim dr As DataRow = e.DataTable.Find(T2,"_Identify DESC")

If dr is Nothing then
    e.DataRow("编号") = T1 & "001"
Else
    e.DataRow("编号") = T1 & Format(Cint(dr("编号").substring(12,3))+1,"000")
End If


 

共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01563 s, 3 queries.