以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这是啥意思啊、添加第一个数据的时候没有问题第二个开始就这样了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67577) |
||||
-- 作者:jinzhengbe -- 发布时间:2015/4/27 0:44:00 -- 这是啥意思啊、添加第一个数据的时候没有问题第二个开始就这样了 此主题相关图片如下:qq截图20150427004206.png
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2015/4/27 8:19:00 -- 系统告诉你是入库单号的DataColChanged事件代码有问题,也说了7-0是没有办法转转为数字的,显然你截取字符串的代码不对,正确的的代码如下,其中红色的部分是修改过的,请仔细体会: If e.DataCol.Name = "time" Then If e.DataRow.IsNull("time") Then e.DataRow("rukudanhao") = Nothing Else Dim bh As String = "入库" & Format(e.DataRow("time"),"yyyyMMdd") \'取得rukudanhao的8位前缀 If e.DataRow("rukudanhao").StartsWith(bh) = False \'如果rukudanhao的前8位不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(rukudanhao)","time = #" & e.DataRow("time") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大rukudanhao If max > "" Then \'如果存在最大rukudanhao idx = CInt(max.Substring(11,3)) + 1 \'获得最大rukudanhao的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("rukudanhao") = bh & "-" & Format(idx,"000") End If End If End If |
||||
-- 作者:jinzhengbe -- 发布时间:2015/4/27 15:35:00 -- 好的、非常非常感谢,就是说位数有问题,是么、 |
||||
-- 作者:Bin -- 发布时间:2015/4/27 15:36:00 -- 对的 |