以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]生成订单号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114407) |
-- 作者:l1q2lq -- 发布时间:2018/2/5 16:05:00 -- [求助]生成订单号 Dim b As New GroupTableBuilder("采购订单统计",DataTables("采购订单")) b.Groups.AddDef("零件号") \'添加客户列用于分组 b.Groups.AddDef("供应商") \'添加客户列用于分组 b.Groups.AddDef("需求日期") \'添加客户列用于分组 b.Totals.AddDef("需求数量") \'添加数量列用于统计 首先导入需求,然后使用以上代码合并统计,点击一个按钮 希望针对不同的供应商和需求日期生成采购订单号:供应商相同且日期相同,订单号相同;供应商相同,日期不同,订单号不同;供应商不同,订单号不同; 格式为日期-000-1(当日累加) 需要怎么设置代码 |
-- 作者:有点甜 -- 发布时间:2018/2/5 16:14:00 --
For Each dr As DataRow In DataTables("采购订单统计").Select("") |
-- 作者:l1q2lq -- 发布时间:2018/2/5 17:51:00 -- b.Groups.AddDef("需求日期") 老师,请教一下这个怎么定义为日期时间类型
|
-- 作者:有点甜 -- 发布时间:2018/2/5 17:58:00 -- 这样?
b.Groups.AddDef("需求日期",DateGroupEnum.None,"日期") |
-- 作者:l1q2lq -- 发布时间:2018/2/6 9:10:00 -- 谢谢老师,再麻烦帮忙看一下关于单号的 出现的结果是:日期相同且供应商相同的直接累加1,希望日期相同且供应商相同时单号是一致的
For Each dr As DataRow In DataTables("采购明细").Select("") Dim d As Date = dr("到货时间") Dim bh As String = Format(d,"yyyyMMdd") & "-" \'生成编号的前缀 Dim max As String Dim idx As Integer Dim flt As String flt = "供应商 = \'"& dr("供应商") & "\' And 到货时间 >= #" & d & "# And 到货时间 < #" & d.AddDays(1) & "# And [_Identify] <> " & dr("_Identify") max = dr.DataTable.Compute("Max(采购订单号)",flt) If max > "" Then \'如果存在最大单据编号 idx = CInt(max.Substring(bh.length,4)) + 1 \'获得最大单据编号的后四位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If dr("采购订单号") = bh & Format(idx,"0000") Next |
-- 作者:有点甜 -- 发布时间:2018/2/6 9:31:00 -- For Each dr As DataRow In DataTables("采购明细").Select("") |
-- 作者:l1q2lq -- 发布时间:2018/2/6 9:39:00 -- 谢谢老师 |