以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动编号 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193527) |
-- 作者:longyanlin -- 发布时间:2024/9/23 15:13:00 -- 自动编号 请教帮助里面的编号是按代码和年月的,如何变成按年月日的: Select e.DataCol.Name |
-- 作者:有点蓝 -- 发布时间:2024/9/23 15:15:00 -- 参考:http://www.foxtable.com/webhelp/topics/2403.htm,看【四、按日期和类别编号】 |
-- 作者:longyanlin -- 发布时间:2024/9/23 15:43:00 -- Select e.DataCol.Name Case "下单日期","代码" If e.DataRow.IsNull("下单日期") OrElse e.DataRow.IsNull("代码") Then e.DataRow("订单号") = Nothing Else Dim bh As String = e.DataRow("代码") & Format(e.DataRow("下单日期"),"yyMMdd") \'生成编号的前缀 If e.DataRow("订单号").StartsWith(bh) = False \'如果单据编号前缀不符 Dim max As String Dim idx As Integer Dim flt As String flt = "代码 = \'"& e.DataRow("代码") & "\' And 下单日期 >= #" & "# And 下单日期 <= #" & "# And [_Identify] <> " & e.DataRow("_Identify") max = e.DataTable.Compute("Max(订单号)",flt) \'取得该月的相同工程代码的最大单据编号 If max > "" Then \'如果存在最大单据编号 idx = CInt(max.Substring(8,3)) + 1 \'获得最大单据编号的后四位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("订单号") = bh & Format(idx,"000") End If End If End Select 我改了下,达不到目的,请教下如何修改,谢谢 |
-- 作者:有点蓝 -- 发布时间:2024/9/23 15:55:00 -- flt = "代码 = \'"& e.DataRow("代码") & "\' And 下单日期 = #" e.DataRow("下单日期") "# And [_Identify] <> " & e.DataRow("_Identify") |
-- 作者:longyanlin -- 发布时间:2024/9/23 17:17:00 -- 出现错误 [此贴子已经被作者于2024/9/23 17:17:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/9/23 17:23:00 -- flt = "代码 = \'" & e.DataRow("代码") & "\' And 下单日期 = #" & e.DataRow("下单日期") & "# And [_Identify] <> " & e.DataRow("_Identify") |
-- 作者:longyanlin -- 发布时间:2024/9/23 17:36:00 -- 谢谢 |