Foxtable(狐表)用户栏目专家坐堂 → 同一个表格编号对应的物资自动编号


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

主题:同一个表格编号对应的物资自动编号

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


加好友 发短信
等级:婴狐 帖子:22 积分:241 威望:0 精华:0 注册:2015/12/1 11:08:00
同一个表格编号对应的物资自动编号  发帖心情 Post By:2017/4/27 16:37:00 [只看该作者]

希望下表中的表格编号对应的物资编号可以自动生成,

表格编号        物资编号 

201704-001 1

201704-001 2

201704-001 3

201704-002 1

201704-002 2


请问要如何修改以下代码,多谢!

If e.DataCol.Name = "表格编号" Then

    If e.DataRow.IsNull("表格编号") Then

        e.DataRow("物资编号") = Nothing

    Else

        Dim max As String

        Dim idx As Integer

        max = e.DataTable.Compute("Max(物资编号)","物资编号= #"& "# And [_Identify] <> " & e.DataRow("_Identify")) 

        If max > "" Then '如果存在最大编号

            idx = CInt(max.Substring(3,3)) + 1 '获得最大编号的后三位顺序号,并加1

        Else

            idx = 1 '否则顺序号等于1

        End If

        e.DataRow("物资编号") = Format(idx,"000")

    End If

End If


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


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

If e.DataCol.Name = "表格编号" Then
    If e.OldValue <> Nothing Then
        Dim drs As List(Of DataRow) = e.DataTable.Select("表格编号 = '" & e.OldValue & "'", "_sortkey")
        For i As Integer = 1 To drs.count
            drs(i-1)("物资编号") = i
        Next
    End If
    If e.NewValue <> Nothing Then
        Dim drs As List(Of DataRow) = e.DataTable.Select("表格编号 = '" & e.NewValue & "'", "_sortkey")
        For i As Integer = 1 To drs.count
            drs(i-1)("物资编号") = i
        Next
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:22 积分:241 威望:0 精华:0 注册:2015/12/1 11:08:00
  发帖心情 Post By:2017/4/27 16:49:00 [只看该作者]

已解决,非常感谢!

 回到顶部