Foxtable(狐表)用户栏目专家坐堂 → 无效字符


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

主题:无效字符

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


加好友 发短信
等级:婴狐 帖子:33 积分:563 威望:0 精华:0 注册:2018/7/19 16:27:00
无效字符  发帖心情 Post By:2018/8/9 16:42:00 [只看该作者]

.NET Framework 版本:2.0.50727.8789
Foxtable 版本:2018.7.9.1
错误所在事件:表,LJ,DataColChanged
详细错误信息:
调用的目标发生了异常。
表达式包含无效的字符串常量: ' And [_Identify] <> 11。


Select e.DataCol.Name
    Case "零件分类","零件名称" ,"零件类型"
        
        
        If e.DataRow.IsNull("零件分类") Or  e.DataRow.IsNull("零件类型")  Then
            e.DataRow("零件代码") = Nothing
            
        Else
            Dim X As String = GetPY(e.DataRow("零件类型"),True)
            Dim Y As String = GetPY(e.DataRow("零件分类"),True)
            Dim lb As String
            If X. Length = 2 And y.length = 3 Then
                lb=GetPY(e.DataRow("零件类型"),True) & "-" & GetPY(e.DataRow("零件分类"),True)
            Else
                If x.length<3 Or Y.length <4 Then
                    lb=X.padright(2,"0") & "-" & Y.padright(3,"0")
                    
                Else
                    lb=x.SubString(0, 2) & "-" & Y.SubString(0, 3)
                End If
            End If
            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(7,4)) + 1 '获得最大零件代码的后四位顺序号,并加1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("零件代码") = lb & Format(idx,"0000")
            End If
        End If
End Select

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


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

 

max = e.DataTable.Compute("Max(零件代码)", "零件代码 like '" & lb & "%' And [_Identify] <> " & e.DataRow("_Identify")) '取得该首写简码的最大零件代码


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


加好友 发短信
等级:婴狐 帖子:33 积分:563 威望:0 精华:0 注册:2018/7/19 16:27:00
  发帖心情 Post By:2018/8/10 12:16:00 [只看该作者]

谢谢,改过后,出现
.NET Framework 版本:2.0.50727.8789
Foxtable 版本:2018.7.9.1
错误所在事件:表,LJ,DataColChanged
详细错误信息:
调用的目标发生了异常。
索引和长度必须引用该字符串内的位置。
参数名: length

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


加好友 发短信
等级:婴狐 帖子:33 积分:563 威望:0 精华:0 注册:2018/7/19 16:27:00
  发帖心情 Post By:2018/8/10 14:03:00 [只看该作者]

谢谢,解决问题 ,能帮我解释一下:max = e.DataTable.Compute("Max(零件代码)", "零件代码 like '" & lb & "%' And [_Identify] <> " & e.DataRow("_Identify")) '取得该首写简码的最大零件代码,,,为什么要加“”"零件代码 like '" 

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


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


 回到顶部