以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么在窗口中实现自动编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88273)

--  作者:cqusand
--  发布时间:2016/7/30 14:51:00
--  [求助]怎么在窗口中实现自动编号
\'种类转换
dr("zldm") = dr("种类代码")  

\'自动编号
Select e.DataCol.Name
    Case "zldm"
        If e.DataRow.IsNull("zldm") Then
            e.DataRow("编号") = Nothing
        Else
            Dim lb As String = e.DataRow("zldm")
            Dim lc As String = e.DataRow("工作类型")
            If e.DataRow("编号").StartsWith(lb) = False \'如果单据编号前缀不符
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(编号)","工作类型= \'" & lc & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
                If max > "" Then \'如果存在最大编号
                    idx = CInt(max.Substring(4,4)) + 1 \'获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 \'否则顺序号等于1
                End If
                e.DataRow("编号") = lb & Format(idx,"0000")
            End If
        End If
End Select


上面是我写的在数据表中的自动编号 怎么在窗口中实现呢?

--  作者:cd_tdh
--  发布时间:2016/7/30 15:06:00
--  
新增加行就增加编号就对了啥,窗口中编号还是绑定到表编号列,按钮可设置为不可编辑。
--  作者:cqusand
--  发布时间:2016/7/30 15:07:00
--  
可是,我有的编号可能 要修改
--  作者:Hyphen
--  发布时间:2016/7/30 15:08:00
--  
如果是sqltable、sqlquery表,代码拷贝到窗口表事件即可:http://www.foxtable.com/webhelp/scr/2726.htm

normal表事件一样适用窗口表