以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  自动编号问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=191620)

--  作者:13678391902
--  发布时间:2024/4/26 10:44:00
--  自动编号问题
图片点击可在新窗口打开查看
按以下事件,村编号怎么不是按顺序出现号码,如:1-9后,全部都是10呢?请帮忙修正,谢谢老师。

Select e.DataCol.Name
    Case "手工录入_申报年度02", "手工录入_卷号04","手工录入_用工村社05"
        If e.DataRow.IsNull("手工录入_申报年度02") OrElse e.DataRow.IsNull("手工录入_卷号04")OrElse  e.DataRow.IsNull("手工录入_用工村社05")  Then
            e.DataRow("关联表自动生成数据_本村编号") = Nothing
        Else
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(关联表自动生成数据_本村编号)", "手工录入_申报年度02 = \'" & e.DataRow("手工录入_申报年度02") & "\' and 手工录入_卷号04=\'" & e.DataRow("手工录入_卷号04") & "\'and 手工录入_用工村社05=\'" & e.DataRow("手工录入_用工村社05") & "\'  And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
            If max > "" Then \'如果存在最大编号
                idx = CInt(max) + 1 \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 \'否则顺序号等于1
            End If
            e.DataRow("关联表自动生成数据_本村编号") = idx
            
        End If


--  作者:有点蓝
--  发布时间:2024/4/26 11:00:00
--  
把本村编号改为整数列
--  作者:13678391902
--  发布时间:2024/4/28 17:33:00
--  
可以了,谢谢老师。