以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86157) |
|
-- 作者:王青 -- 发布时间:2016/6/12 10:22:00 -- [求助] 我做了一个销售输入程序,在xp系统单据号可以自动生成,但是发布后再win7系统里,输入完日期后就显示调用异常,该字符串未被识别为有效的datetime,有一个从索引10处开始的未知字。 |
|
-- 作者:狐狸爸爸 -- 发布时间:2016/6/12 10:33:00 -- 单号是如何自动生成的? |
|
-- 作者:王青 -- 发布时间:2016/6/12 10:36:00 -- 日期-XXX。如20160531-001 |
|
-- 作者:大红袍 -- 发布时间:2016/6/12 10:37:00 -- |
|
-- 作者:王青 -- 发布时间:2016/6/12 10:38:00 -- If e.DataCol.Name = "日期" Then If e.DataRow.IsNull("日期") Then e.DataRow("录入单号") = Nothing Else Dim bh As String = Format(e.DataRow("日期"),"yyyyMMdd") \'取得录入单号的8位前缀 If e.DataRow("录入单号").StartsWith(bh) = False \'如果录入单号的前8位不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(录入单号)","日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大录入单号 If max > "" Then \'如果存在最大录入单号 idx = CInt(max.Substring(9,3)) + 1 \'获得最大录入单号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("录入单号") = bh & "-" & Format(idx,"000") End If End If End If
|
|
-- 作者:大红袍 -- 发布时间:2016/6/12 11:11:00 -- 看4楼。 |