Rss & SiteMap

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

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

标题:自动编号

11楼
朱女士 发表于:2024/5/13 11:32:00
这样

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240513113059.jpg
图片点击可在新窗口打开查看

12楼
有点蓝 发表于:2024/5/13 11:37:00
长度不会呀,这个长度是14位的,之前是12位的。编号规则不一样,当然会由问题的
13楼
朱女士 发表于:2024/5/13 11:38:00
这样的

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240513113059.jpg
图片点击可在新窗口打开查看

14楼
有点蓝 发表于:2024/5/13 11:41:00
长度不对,这个长度是14位的,之前是12位的。编号规则不一样,当然会有问题的
15楼
朱女士 发表于:2024/5/13 11:43:00
|20240430000012|
16楼
朱女士 发表于:2024/5/13 11:48:00
显示内容为:
20240430000012

17楼
朱女士 发表于:2024/5/13 11:56:00
老师:原来是12位的,后来我改了14位的试了一下,还是原来的问题,这个不影响结果:您再看一下代码:就是有重复编号。前面有“ ’ ”是我调试时注释掉的。
Select Case e.DataCol.Name 
  Case "图纸下发日期", "清单条码编码"
    If e.DataRow.IsNull("图纸下发日期") Then
        e.DataRow("清单条码编码") = Nothing
    Else
        '        Dim dl As Date = Date.Today
        Dim dl As Date = e.DataRow("图纸下发日期")
        
        Dim y As Integer = dl.Year
        Dim m As Integer = dl.Month
        Dim d As Integer = dl.day
        Dim Days As Integer = Date.DaysInMonth(y, m)
        Dim fd As Date = New Date(y, m, 1) '获得该月的第一天
        Dim ld As Date = New Date(y, m, Days) '获得该月的最后一天
        Dim bh As String = Format(dl, "yyyyMMdd") '生成编号的前8位,4位年,2位月.
        If e.DataRow("清单条码编码").StartsWith(bh) = False Then'如果编号的前8位不符
            Dim max As String
            Dim idx As Integer
            max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
            If max > "" Then '如果存在最大编号
'                idx = CInt(max.Substring(max.length - 4)) + 1
                  idx = CInt(max.Substring(8, 6)) + 1 
            Else
                idx = 1 '否则顺序号等于1
            End If
            e.DataRow("清单条码编码") = bh & Format(idx, "000000")
       
   
'msgbox("图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify"))
'            max = e.DataTable.Compute("Max(清单条码编码)", "图纸下发日期 >= #" & fd & "# And 图纸下发日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
'msgbox("|" & max & "|")


 End If
 End If
    
End Select
18楼
朱女士 发表于:2024/5/13 11:58:00
有的日期是按照顺序编号的,可是有的日期就是重复编号,我很纳闷,谢谢老师,给您添麻烦了!
19楼
有点蓝 发表于:2024/5/13 12:00:00
整个表的规则必须保持一致,要么全部12位,要么全部14位,把整个表编号列清空全部重新生成
20楼
朱女士 发表于:2024/5/13 12:29:00
老师:弄明白了,谢谢!
共20 条记录, 每页显示 10 条, 页签: [1] [2]

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

Powered By Dvbbs Version 8.3.0
Processed in .03711 s, 2 queries.