Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]档案编号代码完善

1楼
老鼠 发表于:2025/2/8 14:09:00
各位老师新年好!祝大家身体健康!万事顺意!财源广进!
以下是目前现有的代码:

Select e.DataCol.Name

    Case "人员类别"

        If e.DataRow.IsNull("人员类别") Then

            e.DataRow("人员类别") = Nothing

        Else

            Dim lb As String = e.DataRow("人员类别")

            If lb = "编制人员" Then

                lb = "1"

            ElseIf lb = "临聘人员" Then

                lb = "2"

            ElseIf lb = "退休人员" Then

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.table

                lb = "3"

            ElseIf lb = "见习人员" Then

                lb = "4"

            ElseIf lb = "异出人员" Then

                lb = "5"

            End If

           If e.DataRow("档案编号").StartsWith(lb) = False '如果单据编号前缀不符

                Dim max As String

                Dim idx As Integer

                max = e.DataTable.Compute("Max(档案编号)","档案编号 like '" & lb & "%' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号

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

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

                Else

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

                End If

                e.DataRow("档案编号") = lb & Format(idx,"000")

            End If

        End If

End Select
但是出现以下问题后无法补自动补全,如:以“编制人员”类别为例,有档案编号1001至1120,其中档案编号"1055至1057"因“人员类别”变更,
档案编号自动变成了“2066,3023,5100”;此时档案编号“1055至1057”成为未使用空编号;在“人员类别”新增“编制人员”时,
这些空编号需要自动补全(新增一个就补全一个空编号)。如果新增3个“编制人员”后还有新增“编制人员”,那就是执行上面的代码了。
求各位老师指点!!!
2楼
有点蓝 发表于:2025/2/8 14:21:00
废号回收需要添加一个专门的表存储被删除的编号,可以参考一下这里的用法:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=177677&skin=0
3楼
y2287958 发表于:2025/2/8 14:38:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:qw.table

共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02832 s, 4 queries.