以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动编号不知道为什么又出问题了!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1794)

--  作者:woodiy
--  发布时间:2009/2/12 20:45:00
--  自动编号不知道为什么又出问题了!

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

表格的:DataRowAdding属性:

Dim T1,T2 As String
T1 = "KP" & Format(Date.today,"yyyyMM")
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

同样一段代码,为什么在有的表中可以,有的表中就不可以呢,还有就是有的时候可以,有的时候又不可以,总是出现上面的错误,导致自动编号没有自动产生.

把代码放在DataRowAdded中也是一样的错误.

注: ID为外部SQL数据表的关键字.
[此贴子已经被作者于2009-2-12 20:45:17编辑过]

--  作者:czy
--  发布时间:2009/2/12 20:56:00
--  
没看出有什么不妥。

图片提示是你输入的字符格式不符。
--  作者:狐狸爸爸
--  发布时间:2009/2/12 22:00:00
--  
提示已经很清楚了:那些空格无法转换为整数。
学会调试代码,仔细分析。
最后可能是这一行:
Cint(Right(dr("开票单号"),3))+1