Foxtable(狐表)用户栏目专家坐堂 → [求助]老师,帮我看一下自动编号这段报错


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

主题:[求助]老师,帮我看一下自动编号这段报错

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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
[求助]老师,帮我看一下自动编号这段报错  发帖心情 Post By:2021/1/25 18:48:00 [只看该作者]

重置列  报错

For Each dr As DataRow In DataTables("主表").DataRows

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(max.Length -4,4)) + 1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("编号") = lb & "-" & Format(idx,"0000")
            End If
        End If

End Select


哪的问题呀?看的眼睛都花掉了
[此贴子已经被作者于2021/1/25 18:54:49编辑过]

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/25 19:55: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.Compute("Max(编号)","英文简写 = '" & e.DataRow("英文简写") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别代号的最大产品编号
                If max > "" Then '如果存在最大产品编号
                    idx = CInt(max.Substring(max.Length -4,4)) + 1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("编号") = lb & Format(idx,"0000")
            End If
        End If

End Select

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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/1/25 23:04:00 [只看该作者]

蓝老师,再费心指导一下,上面代码复制过来不执行。刚接触1个月,别嫌我啊

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(编号)","英文简写 = '" & e.DataRow("英文简写") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别代号的最大产品编号
                If max > "" Then '如果存在最大产品编号
                    idx = CInt(max.Substring(max.Length -4,4)) + 1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("编号") = lb & Format(idx,"0000")
            End If
        End If

End Select

此主题相关图片如下:~~ko@vk3q}`v4`mntand7.png
按此在新窗口浏览图片


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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/1/25 23:11:00 [只看该作者]

顺便还有一个分区面板代码问题请教,谢谢
图片点击可在新窗口打开查看此主题相关图片如下:o%~japq1%0on(3r$7e2fz5p.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/25 23:15:00 [只看该作者]

回3楼,英文简写列的表达式是什么?

回4楼、按钮里设置SplitterDistance:http://www.foxtable.com/webhelp/topics/0819.htm

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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/1/26 9:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:gif 2021-01-26 09-46-37.gif
图片点击可在新窗口打开查看
 表达式:Parent(关联设备型号).英文简写
[此贴子已经被作者于2021/1/26 9:51:36编辑过]

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/26 10:16:00 [只看该作者]

通过什么列和父表关联的?改为关联列

Select e.DataCol.Name
    Case "关联列"
        If e.DataRow.IsNull("关联列") Then

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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/1/26 11:31:00 [只看该作者]

关联的是【设备型号表】的【英文简写】列:

Dim dt As DataTable = DataTables("设备型号表")
Dim dc As DataCol = dt.DataCols("英文简写")
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(编号)","英文简写 = '" & e.DataRow("英文简写") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别代号的最大产品编号
                If max > "" Then '如果存在最大产品编号
                    idx = CInt(max.Substring(max.Length -4,4)) + 1
                Else
                    idx = 1 '否则顺序号等于1
                End If
                e.DataRow("编号") = lb & Format(idx,"0000")
            End If
        End If

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


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/1/26 11:32:00 [只看该作者]

 兰老师,要不要我上传实例,您看一下呢


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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/26 11:42:00 [只看该作者]


 回到顶部
总数 18 1 2 下一页