以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]请教老师自动编号 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=80285) |
-- 作者:jncoser -- 发布时间:2016/1/19 23:33:00 -- [求助]请教老师自动编号 请教各位老师,关于窗口下
批号一(20150119P001)包含行: 第一行(自动行编号:20150119001)第二行(自动行编号:20150119002) 第三行(自动行编号:20150119003) 批号二(20150119P002)包含行: 第四行(自动行编号:20150119004)第五行(自动行编号:20150119005) 第六行(自动行编号:20150119006) 批号三(20150119P003)包含行: 第七行(自动行编号:20150119007)第八行(自动行编号:20150119008) 第九行(自动行编号:20150119009)
根据帮助学习,做了自动行的自动编号。
现在想实现 在窗口下,按一个按钮新增一行,同批号的行(例如新增一行 编号:20150119010 ,批号是20150119P003)。按另一个按钮新增一行,但,新增的批号变按日期开头递增(例如新增一行 编 号:20150119011,但批号为20150119P004)。
想了许久,没想出办法。求助。求老师给个方向,方法。 |
-- 作者:Hyphen -- 发布时间:2016/1/20 8:51:00 -- 参考 :http://www.foxtable.com/help/topics/2403.htm 代码放到按钮事件中,改改,类似: Dim dr As DataRow = DataTables("订单").AddNew() Dim max As String Dim idx As Integer max = DataTables("订单").Compute("Max(编号)"," [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(2,3)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If dr("编号") = Format(Date.Today,"yyyyMMdd") & Format(idx,"000") |
-- 作者:jncoser -- 发布时间:2016/1/23 11:02:00 -- 谢谢指教,搞定了。您列的代码我明白理解 ,我不会灵活运用。谢谢。 |