Foxtable(狐表)用户栏目专家坐堂 → [求助]生成编号和日期-0基础学习疑问003


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

主题:[求助]生成编号和日期-0基础学习疑问003

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


加好友 发短信
等级:婴狐 帖子:11 积分:171 威望:0 精华:0 注册:2016/11/12 15:40:00
[求助]生成编号和日期-0基础学习疑问003  发帖心情 Post By:2016/11/17 17:43:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:0基础学习疑问003.png
图片点击可在新窗口打开查看
如图所示,想实现点击“新增销售单”按钮后,在左边的表里新增一行,
“销售单号”列根据日期生成类似20161117-001的编号,
“制单日期”列显示当天日期,
所显示的日期是通过设置列属性的默认值为Date来实现的,但是绑定到“制单日期:”的文本框后,就出现了0:00:00,,,不不知道怎么回事了!头疼!

另,有偿寻一位能解答问题的师傅,论坛搜索,头疼,好累!
[此贴子已经被作者于2016/11/17 17:46:51编辑过]

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/17 18:25:00 [只看该作者]

1、编号问题 http://www.foxtable.com/webhelp/scr/2403.htm

 

2、控件不要用textbox,要用日期控件。


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


加好友 发短信
等级:婴狐 帖子:11 积分:171 威望:0 精华:0 注册:2016/11/12 15:40:00
  发帖心情 Post By:2016/11/17 18:58:00 [只看该作者]

以下是引用有点青在2016/11/17 18:25:00的发言:

1、编号问题 http://www.foxtable.com/webhelp/scr/2403.htm

 

2、控件不要用textbox,要用日期控件。




此主题相关图片如下:0基础学习疑问003-1.png
按此在新窗口浏览图片


[此贴子已经被作者于2016/11/17 18:59:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/17 20:22:00 [只看该作者]

贴出有问题的代码

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


加好友 发短信
等级:婴狐 帖子:11 积分:171 威望:0 精华:0 注册:2016/11/12 15:40:00
  发帖心情 Post By:2016/11/17 20:40:00 [只看该作者]

If e.DataCol.Name = "制单日期" Then
    If e.DataRow.IsNull("制单日期") Then
        e.DataRow("销售单号") = Nothing
    Else
        Dim bh As String = Format(e.DataRow("制单日期"),"yyyyMMdd") '取得编号的8位前缀
        If e.DataRow("销售单号").StartsWith(bh) = False '如果编号的前8位不符
            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(9,3)) + 1 '获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("销售单号") = bh & "-" & Format(idx,"000")
        End If
    End If
End If
[此贴子已经被作者于2016/11/17 20:40:24编辑过]

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


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/17 20:44:00 [只看该作者]

销售单号是数字型列来的吧,改成字符列

 回到顶部