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


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

主题:求助!!自动生成编号

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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
求助!!自动生成编号  发帖心情 Post By:2017/8/26 22:55:00 [只看该作者]

需求如下图

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

代码出这里要如何编写,求助!

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



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


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

 没看懂你的问题,这个意思? http://www.foxtable.com/webhelp/scr/0362.htm

 


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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/8/27 17:13:00 [只看该作者]

想格式化成
20170826221416-001
后面的001可以显示,但是前面的20170826221416字样弄不成功图片点击可在新窗口打开查看

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


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

 

format(e.DataRow("消费时间"), "yyyyMMddHHmmss")

 


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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/8/27 17:15:00 [只看该作者]

Dim bh As String =  Format( e.DataRow("消费时间"),"yyyyMMddHHmmss" ) 

这样设置也不能显示图片点击可在新窗口打开查看

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


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

全部代码贴出来,或者实例发上来测试。

 

代码没问题。


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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/8/27 17:18:00 [只看该作者]

结果如下图:

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


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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/8/27 17:19:00 [只看该作者]

老师,代码如下:
If e.DataCol.Name = "消费时间" Then
    If e.DataRow.IsNull("消费时间") Then
        e.DataRow("消费单据号") = Nothing
    Else
        Dim bh As String =  Format( e.DataRow("消费时间") ,"yyyyMMddHHmmss") '取得编号的14位前缀
        If e.DataRow("消费单据号").StartsWith(bh) = False '如果编号的前14位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(消费单据号)","消费时间 = #" & e.DataRow("消费时间") & "# ") '取得该天的最大编号
            If max > "" Then '如果存在最大编号
                idx = CInt(max.Substring(14,3)) + 1 '获得最大编号的后3位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("消费单据号") =bh & "-" & Format(idx,"000")   'bh & Format(idx,"000")
        End If
    End If
End If

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


加好友 发短信
等级:童狐 帖子:286 积分:1926 威望:0 精华:0 注册:2017/7/20 19:46:00
  发帖心情 Post By:2017/8/27 17:23:00 [只看该作者]

如果代码改为:
Dim bh As String =  Format( e.DataRow("消费时间") ) '取得编号的14位前缀

显示结果则为:

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


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


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

If e.DataCol.Name = "消费时间" Then
    If e.DataRow.IsNull("消费时间") Then
        e.DataRow("消费单据号") = Nothing
    Else
        Dim bh As String =  Format( e.DataRow("消费时间") ,"yyyyMMddHHmmss") '取得编号的14位前缀
        Dim d As Date = e.DataRow("消费时间").Date
        Dim max As String
        Dim idx As Integer
        max = e.DataTable.Compute("Max(消费单据号)","消费时间 >= #" & d & "# and 消费时间 < #" & d.AddDays(1) & "#") '取得该天的最大编号
        If max > "" Then '如果存在最大编号
            idx = CInt(max.Substring(bh.length+1,3)) + 1 '获得最大编号的后3位顺序号,并加1
        Else
            idx = 1 '否则顺序号等于1
        End If
        e.DataRow("消费单据号") =bh & "-" & Format(idx,"000")   'bh & Format(idx,"000")
    End If
End If

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