Foxtable(狐表)用户栏目专家坐堂 → 列“”不属于表 产品。


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

主题:列“”不属于表 产品。

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


加好友 发短信
等级:三尾狐 帖子:606 积分:3415 威望:0 精华:0 注册:2011/5/21 18:05:00
列“”不属于表 产品。  发帖心情 Post By:2018/3/5 10:40:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2018.3.3.1
错误所在事件:表,生产进度, DataColChanged
详细错误信息:
调用的目标发生了异常。
列“”不属于表 产品。

表,生产进度, DataColChanged代码如下:

Dim cp As String = e.DataRow("产品名称")
Dim gnxh As String = e.DataRow("国内型号")
Dim gwxh As String = e.DataRow("国外型号")
Dim lx As Integer = e.DataRow("类型")
Dim ys As Integer = e.DataRow("叶数")
Dim zj As Double = e.DataRow("直径")
Dim lj As String = e.DataRow("螺距")
Dim c1 As String
Dim c2 As String
Dim c3 As String
Dim v1 As String
Dim v2 As String
Dim start As Boolean
Dim Values() As String
Dim Customers As List(Of String)
Dim Customer As String
If cp.IndexOf("-") >= 0 Then
    Values = cp.split("-")
    Dim x As Integer = Values.Length
    If x = 2 Then
        c1 = Values(0)
        c2 = Values(1)
    Else
        c1 = Values(0)
        c2 = Values(1)
        c3 = Values(2)
    End If
End If
Select Case e.DataCol.Name
    Case "产品名称"
        If c2 > "" AndAlso Char.IsDigit(c2.Chars(0)) Then
            gnxh = c1
        Else
            If c2 > "" Then
                Customers = DataTables("参数设置").GetValues("B","[X] = '产品参数' and [A] = '2S'")
                For Each Customer In Customers
                    If c2.StartsWith(Customer) = True Then
                        Dim ds As DataRow = DataTables("参数设置").Find("[X] = '产品参数'  and [A] = '2S' and [B] = '" & Customer & "'")
                        If ds IsNot Nothing Then
                            gnxh = c1 & ds("C")
                        End If
                    End If
                Next
            End If
        End If
        If c2 > "" AndAlso Char.IsLetter(c2.Chars(c2.Length-1)) Then
            Customers = DataTables("参数设置").GetValues("B","[X] = '产品参数' and [A] = '2E'")
            For Each Customer In Customers
                If c2 > "" AndAlso c2.EndsWith(Customer) = True Then
                    Dim dd As DataRow = DataTables("参数设置").Find("[X] = '产品参数'  and [A] = '2E' and [B] = '" & Customer & "'")
                    If dd IsNot Nothing Then
                        gnxh = gnxh & dd("C")
                    End If
                End If
            Next
        End If
        gnxh = gnxh.ToUpper()
        Dim dn As DataRow = DataTables("参数设置").Find("[X] = '产品参数' and [A] = '型号' and [B] = '" & gnxh & "'")
        If dn IsNot Nothing Then
            gwxh = dn("C")
        End If
        e.DataRow("国内型号") = gnxh
        e.DataRow("国外型号") = gwxh
        Customers = DataTables("参数设置").GetValues("B","[X] = '产品参数' and [A] = '1S'")
        For Each Customer In Customers
            If cp > "" AndAlso cp.StartsWith(Customer) = True Then
                Dim dy As DataRow = DataTables("参数设置").Find("[X] = '产品参数'  and [A] = '1S' and [B] = '" & Customer & "'")
                If dy IsNot Nothing Then
                    e.DataRow("类型") = dy("J")
                    e.DataRow("叶数") = dy("K")
                End If
            End If
        Next
        If c2 > "" AndAlso c2.Contains("X") Then
            For i As Integer = c2.Length - 1 To 0 Step -1
                If start = False Then
                    If Char.IsDigit(c2.Chars(i)) Or c2.Chars(i) = "." Then
                        v1 = c2.Chars(i) & v1
                    End If
                End If
                If start = True Then
                    If Char.IsDigit(c2.Chars(i)) Or c2.Chars(i) = "." Then
                        v2 = c2.Chars(i) & v2
                    Else
                        Exit For
                    End If
                Else
                    If c2.Chars(i) = "X" Then
                        start = True
                    End If
                End If
            Next
        Else
            If c2 > "" Then
                For i As Integer = c2.Length - 1 To 0 Step -1
                    If  Char.IsLetter(c2.Chars(i)) Then
                        v1= c2.Chars(i) & v1
                    Else
                        If Char.IsDigit(c2.Chars(i)) Or c2.Chars(i) = "." Then
                            v2 = c2.Chars(i) & v2
                        End If
                    End If
                Next
            End If
        End If
        e.DataRow("螺距")  = v1
        e.DataRow("直径")  = v2
    Case "直径"
        If e.DataRow("类型") IsNot Nothing Then
            If e.DataRow("叶数") IsNot Nothing Then
                If e.DataRow("直径") IsNot Nothing Then
                    Dim dr As DataRow = DataTables("工序点值").Find("类型 = '" & lx & "' and 叶数 = '" & ys & "' and 长度 = '" & zj & "' ")
                    If dr IsNot Nothing Then
                        If c2 > "" AndAlso c2.EndsWith("J") = True Then
                            Dim bs As Double = 4
                            e.DataRow("X01") = dr("X01") * bs
                            e.DataRow("X02") = dr("X02") * bs
                            e.DataRow("X03") = dr("X03") * bs
                            e.DataRow("X04") = dr("X04") * bs
                            e.DataRow("X05") = dr("X05") * bs
                            e.DataRow("X06") = dr("X06") * bs
                            e.DataRow("X07") = dr("X07") * bs
                            e.DataRow("X08") = dr("X08") * bs
                            e.DataRow("X09") = dr("X09") * bs
                            e.DataRow("X10") = dr("X10") * bs
                            e.DataRow("X11") = dr("X11") * bs
                            e.DataRow("X12") = dr("X12") * bs
                            e.DataRow("X13") = dr("X13") * bs
                            e.DataRow("X14") = dr("X14") * bs
                            e.DataRow("X15") = dr("X15") * bs
                            e.DataRow("X16") = dr("X16") * bs
                            e.DataRow("X17") = dr("X17") * bs
                            e.DataRow("X18") = dr("X18") * bs
                            e.DataRow("X19") = dr("X19") * bs
                            e.DataRow("X20") = dr("X20") * bs
                            e.DataRow("X21") = dr("X21") * bs
                            e.DataRow("X22") = dr("X22") * bs
                            e.DataRow("X23") = dr("X23") * bs
                            e.DataRow("X24") = dr("X24") * bs
                            e.DataRow("X25") = dr("X25") * bs
                            e.DataRow("X26") = dr("X26") * bs
                            e.DataRow("X27") = dr("X27") * bs
                            e.DataRow("X28") = dr("X28") * bs
                            e.DataRow("X29") = dr("X29") * bs
                            e.DataRow("X30") = dr("X30") * bs
                        Else
                            e.DataRow("X01") = dr("X01")
                            e.DataRow("X02") = dr("X02")
                            e.DataRow("X03") = dr("X03")
                            e.DataRow("X04") = dr("X04")
                            e.DataRow("X05") = dr("X05")
                            e.DataRow("X06") = dr("X06")
                            e.DataRow("X07") = dr("X07")
                            e.DataRow("X08") = dr("X08")
                            e.DataRow("X09") = dr("X09")
                            e.DataRow("X10") = dr("X10")
                            e.DataRow("X11") = dr("X11")
                            e.DataRow("X12") = dr("X12")
                            e.DataRow("X13") = dr("X13")
                            e.DataRow("X14") = dr("X14")
                            e.DataRow("X15") = dr("X15")
                            e.DataRow("X16") = dr("X16")
                            e.DataRow("X17") = dr("X17")
                            e.DataRow("X18") = dr("X18")
                            e.DataRow("X19") = dr("X19")
                            e.DataRow("X20") = dr("X20")
                            e.DataRow("X21") = dr("X21")
                            e.DataRow("X22") = dr("X22")
                            e.DataRow("X23") = dr("X23")
                            e.DataRow("X24") = dr("X24")
                            e.DataRow("X25") = dr("X25")
                            e.DataRow("X26") = dr("X26")
                            e.DataRow("X27") = dr("X27")
                            e.DataRow("X28") = dr("X28")
                            e.DataRow("X29") = dr("X29")
                            e.DataRow("X30") = dr("X30")
                        End If
                    End If
                End If
            End If
        End If
End Select





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


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

你这段代码不应该有问题的。请加入多个msgbox定位出错位置

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


 回到顶部