Foxtable(狐表)用户栏目专家坐堂 → 升级后 自动编号 SQLCompute 失效


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

主题:升级后 自动编号 SQLCompute 失效

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
升级后 自动编号 SQLCompute 失效  发帖心情 Post By:2014/9/22 12:23:00 [只看该作者]

'Select e.DataCol.Name
    'Case "类型"
        'If e.DataRow.IsNull("类型") Then
            'e.DataRow("产品编号") = Nothing
        'Else
            'Dim lb As String = e.DataRow("类型")
            'If e.DataRow("产品编号").StartsWith(lb) = False '如果单据编号前缀不符
                'Dim max As String
                'Dim idx As Integer
                'max = e.DataTable.SQLCompute("Max(产品编号)","类型 = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号
                'If max > "" Then '如果存在最大编号
                    'idx = CInt(max.Substring(4,4)) + 1 '获得最大编号的后三位顺序号,并加1
                'Else
                    'idx = 1 '否则顺序号等于1
                'End If
                'e.DataRow("产品编号") = lb & Format(idx,"0000")
            'End If
        'End If
'End Select

上面的代码编号不会自动叠加


下面的代码正常 
Select e.DataCol.Name
    Case "类型"
        If e.DataRow.IsNull("类型") Then
            e.DataRow("产品编号") = Nothing
        Else
            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 [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号
                If max > "" Then '如果存在最大编号
                    idx = CInt(max.Substring(4,4)) + 1 '获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("产品编号") = lb & Format(idx,"0000")
            End If
        End If
End Select


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140922121937.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2014-9-22 12:23:24编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/22 14:07:00 [只看该作者]

SQLCompute 不会失效。

 

你必须把表数据保存,再使用SQLCompute才有效,不然一直会获取的是数据库的最大值。


 回到顶部