以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]如何实现同一批选择的生成编号相同,下一批选择的生成编号往下编 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98899)
|
-- 作者:twef
-- 发布时间:2017/4/8 23:13:00
-- [求助]如何实现同一批选择的生成编号相同,下一批选择的生成编号往下编
如何实现同一批选择的生成编号相同,下一批选择的生成编号往下编?如图
此主题相关图片如下:1.jpg
此主题相关图片如下:2.jpg
|
-- 作者:有点色
-- 发布时间:2017/4/9 10:33:00
--
DataRowAdded事件
Dim d As Date = Date.Today Dim bh As String = Format(d,"yyyy") \'生成支付编号的前6位,4位年,2位月.
Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(支付编号)","支付编号 like \'" & bh & "%\' and 是否支付 = true") \'取得该月的最大支付编号 If max > "" Then \'如果存在最大支付编号 idx = CInt(max.Substring(bh.length)) + 1 \'获得最大支付编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("支付编号") = bh & Format(idx,"000")
|
-- 作者:twef
-- 发布时间:2017/4/9 13:10:00
--
有点色老师,我可能没说清楚,表里面的数据已经有了,当同批次选中要支付的多行时,生成编号相同,下一批次选择时编号往下编,有可能同一天分好几批次进行选择(因为属于不同的合同或者客户)
|
-- 作者:有点色
-- 发布时间:2017/4/9 22:19:00
--
做个按钮【生成下一个编号】,然后再勾选,勾选的行填充生成的编号
Dim d As Date = Date.Today Dim bh As String = Format(d,"yyyy") \'生成支付编号的前6位,4位年,2位月.
Dim max As String Dim idx As Integer max = DataTables("表C").Compute("Max(支付编号)","支付编号 like \'" & bh & "%\'") \'取得该月的最大支付编号 If max > "" Then \'如果存在最大支付编号 idx = CInt(max.Substring(bh.length)) + 1 \'获得最大支付编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If vars("支付编号") = bh & Format(idx,"000")
msgbox(vars("支付编号"))
|
-- 作者:twef
-- 发布时间:2017/4/10 9:14:00
--
有点色老师,先勾选,再生成编号填充这样可以实现吗
|
-- 作者:有点色
-- 发布时间:2017/4/10 9:15:00
--
以下是引用twef在2017/4/10 9:14:00的发言: 有点色老师,先勾选,再生成编号填充这样可以实现吗
也可以,生成编号的代码看4楼。
你把勾选了的,编号为空白的,填充为生成的支付编号,即可。
|
-- 作者:twef
-- 发布时间:2017/4/10 9:39:00
--
有点色老师,如果按年月生成流水号,代码该怎么改呀
|
-- 作者:有点色
-- 发布时间:2017/4/10 9:43:00
--
Dim d As Date = Date.Today Dim bh As String = Format(d,"yyyyMM") \'生成支付编号的前6位,4位年,2位月.
Dim max As String Dim idx As Integer max = DataTables("表C").Compute("Max(支付编号)","支付编号 like \'" & bh & "%\'") \'取得该月的最大支付编号 If max > "" Then \'如果存在最大支付编号 idx = CInt(max.Substring(bh.length)) + 1 \'获得最大支付编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If vars("支付编号") = bh & Format(idx,"000")
msgbox(vars("支付编号"))
|