Foxtable(狐表)用户栏目专家坐堂 → [求助]自动编号


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

主题:[求助]自动编号

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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/30 22:44:00 [显示全部帖子]

参考:http://www.foxtable.com/webhelp/topics/2403.htm

三、按类别编号,示例类型从本表取,改为查表从表B获取即可

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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 9:44:00 [显示全部帖子]

Select e.DataCol.Name
    Case "生产车间"
        If e.DataRow.IsNull("生产车间") Then
            e.DataRow("自动编码") = Nothing
        Else
            Dim dr As DataRow = DataTables("表B").find("车间名称='" & e.DataRow("生产车间") & "'")
            If dr IsNot Nothing
                If cstr(e.DataRow("自动编码")).StartsWith(dr("编码")) = False '如果单据自动编码前缀不符
                    Dim max As String
                    Dim idx As Integer
                    max = e.DataTable.Compute("Max(自动编码)","生产车间 = '" & e.DataRow("生产车间") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大自动编码
                    If max > "" Then '如果存在最大自动编码
                        idx = CInt(max.Substring(1)) + 1 '获得最大自动编码的后三位顺序号,并加1
                    Else
                        idx = 1 '否则顺序号等于1
                    End If
                    e.DataRow("自动编码") = dr("编码") & Format(idx,"00000000")
                End If
            End If
        End If
End Select

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


加好友 发短信
等级:超级版主 帖子:109200 积分:555620 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/31 10:01:00 [显示全部帖子]

看5楼

 回到顶部