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


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

主题:自动编号问题

帅哥哟,离线,有人找我吗?
13315253800
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:603 积分:4392 威望:0 精华:0 注册:2018/1/3 16:03:00
自动编号问题  发帖心情 Post By:2024/6/21 18:57:00 [只看该作者]

蓝老师您好!我用下面的代码自动编号,序号不自动增加,请指导
'序号自动编号
Select e.DataCol.Name
    Case "分类", "分组"
        If e.DataRow.IsNull("分类") OrElse e.DataRow.IsNull("分组") Then
            e.DataRow("序号") = Nothing
        Else
            Dim bh As String = e.DataRow("分类") & e.DataRow("分组") '生成序号的前缀           
            If e.DataRow("序号").StartsWith(bh) = False Then'如果单据编号前缀不符
                Dim max As String
                Dim idx As Integer
                Dim flt As String
                flt = "序号 = '" & e.DataRow("分类") & "' And  '" & e.DataRow("分组") & "' And [_Identify] <> " & e.DataRow("_Identify")
                max = e.DataTable.Compute("Max(序号)", flt) '取得最大单据序号
                If max > "" Then '如果存在最大编号
                 '   idx = CInt(max.Substring(6, 2)) + 1 '获得最大编号的后2位顺序号,并加1
                    idx = CInt(max.Substring(max.length - 2)) + 1 '获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("序号") = bh & Format(idx, "00")
            End If
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2024/6/21 20:09:00 [只看该作者]

上传实例看看。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

flt = "序号 = '" & e.DataRow("分类") & "' And  '" & e.DataRow("分组") & "' And [_Identify] <> " & e.DataRow("_Identify")
改为
flt = "分类 = '" & e.DataRow("分类") & "' And  分组='" & e.DataRow("分组") & "' And [_Identify] <> " & e.DataRow("_Identify")

 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:603 积分:4392 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/6/22 8:52:00 [只看该作者]

.NET Framework 版本:4.0.30319.36543
Foxtable 版本:2022.8.18.1
错误所在事件:表,双代码自动编号,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Syntax error: Missing operand after 'And  分组' operator.


 回到顶部
帅哥哟,离线,有人找我吗?
13315253800
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:603 积分:4392 威望:0 精华:0 注册:2018/1/3 16:03:00
  发帖心情 Post By:2024/6/22 8:59:00 [只看该作者]

上传实例,敬请指导
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动编号.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

别人给的代码尽量直接复制。手输的要注意全角和半角的区别,【And  分组】之间是半角的空格,不是全角的空格

 回到顶部