Foxtable(狐表)用户栏目专家坐堂 → 编号问题


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

主题:编号问题

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
编号问题  发帖心情 Post By:2018/6/9 23:55:00 [只看该作者]


此主题相关图片如下:1.png
按此在新窗口浏览图片


 


此主题相关图片如下:2.png
按此在新窗口浏览图片

If e.DataCol.Name = "二级类别" Then
    If e.NewValue Is Nothing Then
        e.DataRow("二级编号") = Nothing
        e.DataRow("商品编号") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("商品二级类别").Find("[二级类别] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("二级类别") = dr("二级类别")
            e.DataRow("二级编号") = dr("二级编号")
            e.DataRow("一级编号") = dr("一级编号")
            Dim lbbh As String = e.DataRow("二级编号")
            Dim yjbh As String = e.DataRow("一级编号")
            If e.DataRow("商品编号").StartsWith(lbbh) = False '如果单据编号前缀不符
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(商品编号)","二级编号 = '" & lbbh & "'And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号

 

                If max > "" Then '如果存在最大编号


                    idx = CInt(max.Substring(5,4)) + 1 '获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("商品编号") = lbbh & Format(idx,"0000")
            End If
           
        End If
    End If
End If

 

老师,我这块编码想再加判断条件,请老师帮助一下,我要实现的是 比如不同的厂家 都有桌子、板凳这两个类别,厂家是一级类别,桌子、板凳是二级类别,明细是三级,当我添加了一个厂家的明细时,再添加另一个厂家相同类别的明细时,商品编号应该是本厂家的商品类别加流水号,可现在却是在上一个厂家相同类别的流水号上递增,我试着写了,一直写不对


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/10 22:55:00 [只看该作者]

比如代码

 

max = e.DataTable.Compute("Max(商品编号)","某列='" & e.datarow("某列) & "' and 二级编号 = '" & lbbh & "'And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号


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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2018/6/11 0:01:00 [只看该作者]

老师,这样改了不行,编号还是和原来一样,换一个二级类别,取得的编号还是上一个类别的编号

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 0:10:00 [只看该作者]

以下是引用outcat在2018/6/11 0:01:00的发言:
老师,这样改了不行,编号还是和原来一样,换一个二级类别,取得的编号还是上一个类别的编号

 

上传具体项目说明你的问题。


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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2018/6/11 22:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

图片中,这个商品编号应该显示002050001才对

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2018/6/11 22:53:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新家园.rar


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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2018/6/11 22:57:00 [只看该作者]

老师,我的窗体在系统维护,商品维护目录下,麻烦给看一下

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

If e.DataCol.Name = "二级类别" Then
    If e.NewValue Is Nothing Then
        e.DataRow("二级编号") = Nothing
        e.DataRow("商品编号") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("商品二级类别").Find("[二级类别] = '" & e.NewValue & "' and 一级类别='" & e.DataRow("一级类别") & "'")

        If dr IsNot Nothing
……

 回到顶部