Foxtable(狐表)用户栏目专家坐堂 → 自动编码


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

主题:自动编码

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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
自动编码  发帖心情 Post By:2023/12/23 15:51:00 [只看该作者]

合同编号                  产品码     ……       产品名称
202312001        202312001-01            A
202312001        202312001-02            B
……


老师,假如有一个合同,编号为202312001 , 合同里有多项产品,如何每增加一项产品时,自动生成上述产品码(合同编号 + “-” + 2未流水号)

请老师帮忙,感谢。

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/23 15:53:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2023/12/23 16:44:00 [只看该作者]

'产品码
Select e.DataCol.Name
    Case "合同编号"           
        If e.DataRow.IsNull("合同编号") Then '如果合同编号为空,则产品码为空
            e.DataRow("产品码") = Nothing
        Else
            Dim lb As String = e.DataRow("合同编号") & "-" '产产品码前缀
            
            If e.DataRow("产品码").StartsWith(lb) = False Then '如果单据编号前缀不符
                Dim max As String
                Dim idx As Integer
                Dim flt As String
                flt = "合同编号 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")
                
                max = e.DataTable.Compute("Max(产品码)", flt) '取得该类别的最大编号      
                If max > "" Then '如果存在最大编号
                    idx = CInt(max.Substring(11, 2)) + 1 '获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("产品码") = lb & Format(idx, "00")
            End If
        End If
End Select


当合同编号是:2022000027出现2次的时候,为什么产品码都是2022000027-01 ?上面代码哪里不对么

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/23 16:58:00 [只看该作者]

idx = CInt(max.Substring(11, 2)) + 1
改为
idx = CInt(max.Substring(max.length - 2)) + 1

 回到顶部
帅哥哟,离线,有人找我吗?
段虎成
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2023/12/23 17:03:00 [只看该作者]

还是一样,没变

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/23 17:12:00 [只看该作者]

把有问题的产品码数据先清掉

 回到顶部
帅哥哟,离线,有人找我吗?
段虎成
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2023/12/23 17:20:00 [只看该作者]

郁闷,还是不行。

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/23 17:31:00 [只看该作者]

flt = "合同编号 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")
改为
flt = "合同编号 = '" & e.DataRow("合同编号") & "' And [_Identify] <> " & e.DataRow("_Identify")

 回到顶部
帅哥哟,离线,有人找我吗?
段虎成
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:420 积分:3024 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2023/12/23 17:42:00 [只看该作者]

啊,要疯了,还是不行图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/24 20:05:00 [只看该作者]

请上传实例说明

 回到顶部
总数 11 1 2 下一页