Foxtable(狐表)用户栏目专家坐堂 → [求助]涉及到数据加载自动编号的问题


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

主题:[求助]涉及到数据加载自动编号的问题

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


加好友 发短信
等级:婴狐 帖子:90 积分:690 威望:0 精华:0 注册:2016/3/16 11:57:00
[求助]涉及到数据加载自动编号的问题  发帖心情 Post By:2017/2/23 15:53:00 [只看该作者]

下面这段代码,使用窗体时新增时,只对已加载的进行自动编号,新增记录会在后台数据库出现重复编号的问题,把Compte改为SQLcompute后,发现新增后编号都是一样的

If e.DataCol.Name = "生产日期" Then
    If e.DataRow.isnull("生产日期") = True Then
        e.DataRow("入库单号") = Nothing
    Else
        Dim bh As String = "SC-" & Format(e.DataRow("生产日期"),"yyMMdd")
        If e.DataRow("入库单号").startswith(bh) = False Then
            Dim idx As Integer
            Dim max As String
            max = DataTables("产品入库表").Compute("max(入库单号)","入库单号 like '" & bh & "*'")
            If max > ""  Then
                idx = cint(max.Substring(9,3)) + 1      
            Else
                idx = 1
            End If
            e.DataRow("入库单号")  = bh & Format(idx,"000")
        End If
    End If
End If
[此贴子已经被作者于2017/2/23 16:14:25编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/23 15:57:00 [只看该作者]

If e.DataCol.Name = "生产日期" Then
    If e.DataRow.isnull("生产日期") = True Then
        e.DataRow("入库单号") = Nothing
    Else
        Dim bh As String = "SC-" & Format(e.DataRow("生产日期"),"yyMMdd")
        If e.DataRow("入库单号").startswith(bh) = False Then
            Dim idx As Integer
            Dim max As String
            max = DataTables("产品入库表").SqlCompute("max(入库单号)","入库单号 like '" & bh & "*'")
            If max > ""  Then
                idx = cint(max.Substring(9,3)) + 1      
            Else
                idx = 1
            End If
            e.DataRow("入库单号")  = bh & Format(idx,"000")
            e.DataRow.Save
        End If
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:90 积分:690 威望:0 精华:0 注册:2016/3/16 11:57:00
  发帖心情 Post By:2017/2/23 16:13:00 [只看该作者]

还是不行,我上传了附件,麻烦你帮看《产品入库表》,谢谢啦

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/23 16:14:00 [只看该作者]

 

If e.DataCol.Name = "生产日期" Then
    If e.DataRow.isnull("生产日期") = True Then
        e.DataRow("入库单号") = Nothing
    Else
        Dim bh As String = "SC-" & Format(e.DataRow("生产日期"),"yyMMdd")
        If e.DataRow("入库单号").startswith(bh) = False Then
            Dim idx As Integer
            Dim max As String
            max = DataTables("产品入库表").SqlCompute("max(入库单号)","入库单号 like '" & bh & "%'")
            If max > ""  Then
                idx = cint(max.Substring(9,3)) + 1      
            Else
                idx = 1
            End If
            e.DataRow("入库单号")  = bh & Format(idx,"000")
            e.DataRow.Save
        End If
    End If
End If
[此贴子已经被作者于2017/2/23 16:14:27编辑过]

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


加好友 发短信
等级:婴狐 帖子:90 积分:690 威望:0 精华:0 注册:2016/3/16 11:57:00
  发帖心情 Post By:2017/2/23 16:17:00 [只看该作者]

可以了,谢谢

 回到顶部