Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现同一批选择的生成编号相同,下一批选择的生成编号往下编


  共有2166人关注过本帖树形打印复制链接

主题:[求助]如何实现同一批选择的生成编号相同,下一批选择的生成编号往下编

帅哥哟,离线,有人找我吗?
有点色
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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")


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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("支付编号"))

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/10 9:15:00 [显示全部帖子]

以下是引用twef在2017/4/10 9:14:00的发言:
有点色老师,先勾选,再生成编号填充这样可以实现吗

 

也可以,生成编号的代码看4楼。

 

你把勾选了的,编号为空白的,填充为生成的支付编号,即可。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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("支付编号"))


 回到顶部