以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动编号为什么出错呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1752)

--  作者:woodiy
--  发布时间:2009/2/6 13:13:00
--  自动编号为什么出错呢?

图片点击可在新窗口打开查看此主题相关图片如下:未标题-2.jpg
图片点击可在新窗口打开查看

调坯单号的代码如下:

\'\'\'
Dim T1,T2 As String
T1 = "DP" & Format(Date.today,"yyMM")
T2 = "[调坯单号] like \'" & T1 & "*\'and "
T2 = T2 & "[ID] < " & e.DataRow("ID")
Dim dr As DataRow = e.DataTable.Find(T2,"ID DESC")

e.DataRow("调坯日期") = Date.today
If dr is Nothing then
   e.DataRow("调坯单号") = T1 & "001"
Else
   Dim n As Integer = Cint(Right(dr("调坯单号"),3))+1
   e.DataRow("调坯单号") = T1 & Format(n,"000")
End If


为什么会出错啊!其它地方都是可以的.


--  作者:lxl
--  发布时间:2009/2/6 13:47:00
--  

把这段代码放到DataRowAdded里面试试
触发DataRowAdding事件时,ID列还是空值,没办法引用 
还不行发文件


--  作者:woodiy
--  发布时间:2009/2/6 14:00:00
--  

还是出现同样的错误!


--  作者:lxl
--  发布时间:2009/2/6 14:06:00
--  
我复制的你一楼的代码,一点没改。但是没报错
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目16.table


--  作者:woodiy
--  发布时间:2009/2/6 16:02:00
--  
为什么我这里不行呢,真是晕啊!

换个办法,有没有办法产生如下的编号:

合同号                 调坯单号
GH0812266             GH-0812266001
GH0812266             GH-0812266002

GH0812267            GH-0812267001
GH0812267            GH-0812267002
GH0812267            GH-0812267003

......
--  作者:狐狸爸爸
--  发布时间:2009/2/6 16:08:00
--  
呵呵,你在命令窗口执行下面的代码,会发现一模一样的错误提示:

return cint(" ")

对于:
Cint(Right(dr("调坯单号"),3))+1

如果调坯单号列没有内容,就会出错,你应该在编码的时候进行判断,必要的列已经有内容后,才执行相关的动作。
--  作者:woodiy
--  发布时间:2009/2/6 16:29:00
--  
是的,但是不知道未什么调坯单号列没有自动产生啊!呀