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


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

主题:编码请教

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


加好友 发短信
等级:幼狐 帖子:100 积分:1120 威望:0 精华:0 注册:2017/5/3 18:40:00
编码请教  发帖心情 Post By:2018/10/17 18:57:00 [只看该作者]

老师:您好!

我设计了一个表格:第一列“订货日期”,第二列“订货日期序码”,第三列“出库单序码”,第四列“客户编码”,第五列“产品名称”。假设我同一天在第一列“订货日期”输入多次相同的日期,如:2018-10-16,2018-10-16,2018-10-16,2018-10-16,2018-10-16,2018-10-16;而第二列“订货日期序码”显示为:20181016-001,20181016-002,20181016-003,20181016-004,20181016-005,20181016-006;在第四列“客户编码”输入:装饰公司,装饰公司,广东公司,广东公司,天津公司,天津公司;在第五列“产品名称”依次输入:钢笔,铅笔;语文,数学;毛笔,墨水。请问如何实现 第三列“出库单序码”分别为:20181016-装饰公司-001,20181016-装饰公司-001,20181016-广东公司-002,20181016-广东公司-002,20181016-天津公司-003,20181016-天津公司-003。谢谢!!!


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


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

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120973&skin=0

 

不会做请上传具体实例

 

 


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


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

Select Case e.DataCol.name
    Case "日期", "客户编码"
        If e.DataRow("日期") = Nothing OrElse e.DataRow("客户编码") = Nothing Then
            e.DataRow("出库单序码") = Nothing
        Else
            Dim fdr As DataRow = e.DataTable.find("日期 = #" & e.DataRow("日期") & "# and 客户编码 ='" & e.DataRow("客户编码") & "' and 出库单序码 Is not null")
            If fdr IsNot Nothing Then
                e.DataRow("出库单序码") = fdr("出库单序码")
            Else
                Dim bh As String = Format(e.DataRow("日期"),"yyyyMMdd") & "-" & e.DataRow("客户编码") & "-" '取得编号的8位前缀
                If e.DataRow("出库单序码").StartsWith(bh) = False '如果编号的前8位不符
                    Dim max As String
                    Dim idx As Integer = 0
                    For Each dr As DataRow In e.DataTable.Select("出库单序码 is not null and 日期 = #" & e.DataRow("日期") & "# And [_Identify] <> " & e.DataRow("_Identify"))
                        If right(dr("出库单序码"), 3) > idx Then
                            idx = right(dr("出库单序码"), 3)
                        End If
                    Next
                    idx += 1
                    e.DataRow("出库单序码") = bh & Format(idx,"000")
                End If
            End If
        End If
End Select

 回到顶部