以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59543)

--  作者:风声
--  发布时间:2014/11/6 12:59:00
--  [求助]

Select e.DataCol.Name
    Case "群组分类"
        If e.DataRow.IsNull("群组分类") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim lb As String = e.DataRow("群组分类")
            Dim idx As Integer
            idx = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And [_Identify]<> " & e.DataRow("_Identify")) \'取得该类别的最大编号
            e.DataRow("客户ID") = idx + 1
        End If
End Select

老师,上面的代码在使用时报错,以前是内部数据表,现在我用外部数据表主键列字段名称改为编号,现不知怎样修改上面的代码了。

Exception has been thrown by the target of an invocation.
Column \'_Identify\' does not belong to table 通信.


--  作者:y2287958
--  发布时间:2014/11/6 13:02:00
--  
Select e.DataCol.Name
    Case "群组分类"
        If e.DataRow.IsNull("群组分类") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim lb As String = e.DataRow("群组分类")
            Dim idx As Integer
            idx = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And 编号<> " & e.DataRow("编号")) \'取得该类别的最大编号
            e.DataRow("客户ID") = idx + 1
        End If
End Select
--  作者:风声
--  发布时间:2014/11/6 13:17:00
--  

不行

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.10.23.1
错误所在事件:表,通信,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Syntax error: Missing operand after \'<>\' operator.


--  作者:风声
--  发布时间:2014/11/6 13:52:00
--  
以下是引用y2287958在2014-11-6 13:02:00的发言:
Select e.DataCol.Name
    Case "群组分类"
        If e.DataRow.IsNull("群组分类") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim lb As String = e.DataRow("群组分类")
            Dim idx As Integer
            idx = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And 编号<> " & e.DataRow("编号")) \'取得该类别的最大编号
            e.DataRow("客户ID") = idx + 1
        End If
End Select

老师,代码设置后仍报错


--  作者:有点甜
--  发布时间:2014/11/6 14:07:00
--  
Select e.DataCol.Name
    Case "群组分类"
        If e.DataRow.IsNull("群组分类") Then
            e.DataRow("客户ID") = Nothing
        Else
            Dim lb As String = e.DataRow("群组分类")
            Dim idx As Integer
            idx = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And 编号 <> \'" & e.DataRow("编号") & "\'") \'取得该类别的最大编号
            e.DataRow("客户ID") = idx + 1
        End If
End Select

--  作者:风声
--  发布时间:2014/11/6 15:13:00
--  
谢谢老师,是我搞错了上面的问题是列的类型龙错了把他搞成表达式类型了。现在我在窗口组合框中(群组分类列)选择下拉连项目时出现报错无法继续操作。
--  作者:有点甜
--  发布时间:2014/11/6 15:15:00
--  
 例子发上来
--  作者:风声
--  发布时间:2014/11/6 15:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.table


--  作者:有点甜
--  发布时间:2014/11/6 15:48:00
--  
 做一个内部数据源的例子发上来
--  作者:风声
--  发布时间:2014/11/6 16:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.table