Foxtable(狐表)用户栏目专家坐堂 → 在:类别代码,发生变化时,有的代码正常生成编号 ,有的不能,提示错误


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

主题:在:类别代码,发生变化时,有的代码正常生成编号 ,有的不能,提示错误

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/18 17:47:00 [只看该作者]

我要怎么改这个代码呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/19 0:38:00 [只看该作者]

CInt(max.Substring(2,5))

 

改成

 

CInt(max.Substring(lb.length))


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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/7/20 16:56:00 [只看该作者]

'自动获取类别代码并生成机具编号
Sel ect e.DataCol.Name
    Case "类别代码"
        If  e.DataRow.IsNull("定额编码")=False Or e.DataRow.IsNull("类别代码")  Then
            Return
        Else
            If e.DataRow.IsNull("类别代码")=False Then
                Dim lb As String = e.DataRow("类别代码")
                'If e.DataRow("定额编码").StartsWith(lb) =False '如果单据机具编号前缀
                    Dim max As String
                    Dim idx As Integer
                    max = e.DataTable.Compute("Max(定额编码)","类别代码 = '" & lb & "' and 定额编码 like '" & lb & "%' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别代码的最大机具编号
                    If max > "" Then '如果存在最大机具编号
                        idx = CInt(max.Substring(2,5))+ 1 'CInt(max.Substring(2,5)) 获得最大机具编号的后三位顺序号,并加1
                    Else 
                        idx = 1 '否则顺序号等于1
                    End If
                    e.DataRow("定额编码") = lb & Format(idx,"00000")
                'End If
            End If
        End If
End Select


这样就可以了。满足我的使用了。

 回到顶部
总数 13 上一页 1 2