以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9209)

--  作者:caoxy
--  发布时间:2011/3/13 17:29:00
--  自动编号

每增加一行,编号相应增加1

我现有的编号是:ZT100000

用: 

e.DataRow("编号") = e.DataTable.Compute("Max(编号)") + 1

没有能够实现,请师指点
--  作者:caoxy
--  发布时间:2011/3/13 17:43:00
--  

删除的行不记编号数


--  作者:狐狸爸爸
--  发布时间:2011/3/13 18:17:00
--  

1、你这个是顺序号,不是编号,Foxtable已经有行号,你还要这个顺序号干什么?

2、一般来说,如果要增加一个编号字段,这个编号就类似于人的身份证,一旦生成,是永久不变的,及时某行被删除,也不能影响其他行的编号,就像不能因为某个人的过世,其他人的身份证号码要重编一样。


--  作者:caoxy
--  发布时间:2011/3/13 18:31:00
--  

我在做送货单的时候有一自动编号,偏于送货查询。

还需要一个打印窗口按钮代码。

请师傅帮忙


--  作者:狐狸爸爸
--  发布时间:2011/3/13 18:46:00
--  
增加一个表达式列作为编号使用,将其表达式设置为:[_Identify]
 

打印预览窗口:
 
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.Preview()
 
打印窗口:
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
doc.Print()
 

--  作者:e-png
--  发布时间:2011/3/13 19:48:00
--  

Dim drs As List(Of DataRow)
drs = DataTables("").Select("","编号 Desc")
e.DataRow("编号") = drs(0)("编号").substring(0,2) & drs(0)("编号").substring(2)+1)

--  作者:caoxy
--  发布时间:2011/3/13 22:33:00
--  

Dim drs As List(Of DataRow)
drs = DataTables("").Select("","编号 Desc")
e.DataRow("编号") = drs(0)("编号").substring(0,2) & drs(0)("编号").substring(2)+1)

 

这组代码我没有试验成功,请师傅以材料交货单为例,以编号“ZT000000”开始,写一组代码,并指明放置位置,在此表示衷心的感谢。


--  作者:狐狸爸爸
--  发布时间:2011/3/14 9:56:00
--  

楼主,不一定要编码的,这种简单编号,用表达式也行,你可以看看这个:

http://help.foxtable.com/topics/1443.htm

 

 


--  作者:mr725
--  发布时间:2011/3/14 12:42:00
--  
以下是引用caoxy在2011-3-13 22:33:00的发言:

Dim drs As List(Of DataRow)
drs = DataTables("").Select("","编号 Desc")
e.DataRow("编号") = drs(0)("编号").substring(0,2) & drs(0)("编号").substring(2)+1)

 这组代码我没有试验成功,请师傅以材料交货单为例,以编号“ZT000000”开始,写一组代码,并指明放置位置,在此表示衷心的感谢。

这组代码我没有试验成功,也不说怎么没成功! 且上面代码最后多了一个“)”。

你也没有提供个例子,难怪帮你的人这么少啊,估计这样吧:
e.DataRow("编号") = drs(0)("编号").substring(0,2) & format(drs(0)("编号").substring(2)+1,"000000")