Foxtable(狐表)用户栏目专家坐堂 → 自动编号问题


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

主题:自动编号问题

美女呀,离线,留言给我吧!
朱女士
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
自动编号问题  发帖心情 Post By:2024/8/7 13:30:00 [只看该作者]

老师您好!
  我有一个表ddpsb,要改变编号规则,就是当年年份后两位+行号,可是我改变后,每次操作增加行时,系统自动关闭退出。不知道如何处理。谢谢指教!
原来的格式:20240728-005

我后来改成这样的格式:24-行号~
现在的代码:
Dim dl As Date = Date.Today
Dim y As Integer = dl.Year

Dim bh As String = Format(dl, "yy") 
    e.DataRow("zzh") = bh & "-" & e.DataRow("_Identify")
    e.DataRow.save

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109474 积分:557032 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 13:36:00 [只看该作者]

代码在什么事件?

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/8/7 13:41:00 [只看该作者]

datacolchanged

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109474 积分:557032 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 13:47:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
朱女士
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/8/7 14:05:00 [只看该作者]

老师我把代码改了一下,还是不执行,一旦输入数据,就自动关闭系统了。您再帮我看一下,谢谢!

Dim dl As Date = Date.Today
Dim y As Integer = dl.Year
'Dim dr As DataRow = e.DataRow
If e.DataCol.Name = "zzh" Then
Dim bh As String = Format(dl, "yy") 
   e.DataRow("zzh") = bh & "-" & e.DataRow("_Identify")
    
    e.DataRow.save
End If

 回到顶部
帅哥,在线噢!
y2287958
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4723 积分:34352 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2024/8/7 14:22:00 [只看该作者]

死循环了,要判断列名的

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/8/7 15:03:00 [只看该作者]

老师还是上面的问题,还是不执行语句,我想再换个思路,还是不行,压根就不执行。
原来格式:20240728-005
现在换成:24*****
麻烦老师帮我看看为什么不执行。谢谢!
【datacolchanged】代码:
Dim dt As Date = Date.Today
Dim y As Integer = dt.Year
Dim dr1 As DataRow = e.DataRow 
If e.DataCol.Name = "接单日期" Then
    If e.DataRow.IsNull("接单日期") Then
        e.DataRow("zzh") = Nothing
    Else
        Dim bh As String = Format(dt, "yy")
        If e.DataRow("zzh").StartsWith(bh) = False Then'如果编号的前8位不符
            Dim max As String
            Dim idx As Integer
        要求: 新增记录, 要求获得本年度的最大编号加1,或获得最大行号加1
            max = e.DataTable.sqlCompute("Max(zzh)", "[_Identify] <> " & e.DataRow("_Identify")) 
             Dim s As String = Trim(max.replace("-", ""))
            If s > "" Then '如果存在最大编号  
                idx = CInt(s.Substring(2, 5)) + 1 
                idx = 1 '否则顺序号等于1
            End If
            dr1("zzh") = bh & idx
            e.DataRow.save
        End If 
    End If
End if

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109474 积分:557032 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/7 15:11:00 [只看该作者]

代码放到datarowadded事件

Dim dl As Date = Date.Today
Dim bh As String = Format(dl, "yy") 
    e.DataRow.save
    e.DataRow("zzh") = bh & "-" & e.DataRow("_Identify")


 回到顶部
美女呀,离线,留言给我吧!
朱女士
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/8/7 15:11:00 [只看该作者]

列名也判断了,怎么还不执行?

 回到顶部
美女呀,离线,留言给我吧!
朱女士
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:469 积分:3803 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2024/8/7 15:30:00 [只看该作者]

放到datarowadded事件中
Dim dl As Date = Date.Today
Dim bh As String = Format(dl, "yy") 
    e.DataRow.save
    e.DataRow("zzh") = bh & "-" & e.DataRow("_Identify")
增加新行,zzh还是空白没有填充。


 回到顶部
总数 11 1 2 下一页