Foxtable(狐表)用户栏目专家坐堂 → 找出生产piao号和制造产品号完全相同的行


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

主题:找出生产piao号和制造产品号完全相同的行

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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
找出生产piao号和制造产品号完全相同的行  发帖心情 Post By:2019/5/30 14:23:00 [只看该作者]

If e.DataCol.Name = "长度" Then 
    If dr("制造产品号").startsWith("C")
        If e.DataRow.IsNull("生产piao号") = False AndAlso e.DataRow.IsNull("制造产品号") = False
            Dim dr3 As DataRow = e.DataRow
            If e.DataTable.Find("生产piao号 = '" & dr3("生产piao号") & "' And 制造产品号 = '" & dr3("制造产品号") & "'") IsNot Nothing Then '如果找到生产piao号和制造产品号完全相同的行,则不执行判断杆数的代码      
            Else

                '判断杆数
                If dr("制造产品号").startsWith("CFU")
                    If dr("制造产品号").contains("16G")  
                       dr("每套杆数") = 1
                    ElseIf dr("制造产品号").contains("32G") 
                       dr("每套杆数") = 2
                    ElseIf dr("制造产品号").contains("50G") 
                       dr("每套杆数") = 3
                    End If
                End If
                '结束判断杆数

            End If
        End If
    Else
        dr("每套杆数") = Nothing
        dr("每杆铜片") = Nothing
        dr("铜片总数") = Nothing
    End If
End If

上面的代码,如果不要第4层的 if... else... end if 嵌套,那么执行起来是没有问题的。但是加上第4层嵌套,执行起来就没有作用了。请假是哪里的问题?谢谢。

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


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

加入msgbox,弹出值看一下

 

msgbox(dr("制造产品号"))

msgbox(dr("制造产品号").startsWith("CFU"))

msgbox(dr("制造产品号").contains("16G"))


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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/5/30 15:22:00 [只看该作者]

弹出: 制造产品号那个单元的值 CFD2640GG36LFOS19B17M65 和 False

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


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

 

开始是CFD,不是CFU,自然不会执行if判断的代码啊。

 

 


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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/5/30 16:10:00 [只看该作者]

我把制造产品号换成 CFU2532G30LFS15B15M41,则弹出:CFU2532G30LFS15B15M41 和 True,但还是没有“每套杆数”出来。

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


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

弹出什么

 

If e.DataCol.Name = "长度" Then
    If dr("制造产品号").startsWith("C")
        If e.DataRow.IsNull("生产piao号") = False AndAlso e.DataRow.IsNull("制造产品号") = False
            Dim dr3 As DataRow = e.DataRow
            If e.DataTable.Find("生产piao号 = '" & dr3("生产piao号") & "' And 制造产品号 = '" & dr3("制造产品号") & "'") IsNot Nothing Then '如果找到生产piao号和制造产品号完全相同的行,则不执行判断杆数的代码
            Else
               
                msgbox(dr("制造产品号"))
               
                msgbox(dr("制造产品号").startsWith("CFU"))
               
                msgbox(dr("制造产品号").contains("32G"))

               
               
                '判断杆数
                If dr("制造产品号").startsWith("CFU")
                    If dr("制造产品号").contains("16G")
                        dr("每套杆数") = 1
                    ElseIf dr("制造产品号").contains("32G")
                        dr("每套杆数") = 2
                    ElseIf dr("制造产品号").contains("50G")
                        dr("每套杆数") = 3
                    End If
                End If
                '结束判断杆数
               
               
            End If
        End If
    Else
        dr("每套杆数") = Nothing
        dr("每杆铜片") = Nothing
        dr("铜片总数") = Nothing
    End If
End If

 


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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/5/30 16:25:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临时代码.zip


上面档案里面是完整的代码,我在网页上发给你的是简化了的。不知道完整的代码是否有问题?

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


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

弹出什么

 

If e.DataCol.Name = "长度" Then
    If dr("制造产品号").startsWith("C")
        If e.DataRow.IsNull("生产piao号") = False AndAlso e.DataRow.IsNull("制造产品号") = False
            Dim dr3 As DataRow = e.DataRow
            If e.DataTable.Find("生产piao号 = '" & dr3("生产piao号") & "' And 制造产品号 = '" & dr3("制造产品号") & "'") IsNot Nothing Then '如果找到生产piao号和制造产品号完全相同的行,则不执行判断杆数的代码
            Else
               
                msgbox(dr("制造产品号"))
               
                msgbox(dr("制造产品号").startsWith("CFU"))
               
                msgbox(dr("制造产品号").contains("32G"))

               
               
                '判断杆数
                If dr("制造产品号").startsWith("CFU")
                    If dr("制造产品号").contains("16G")
                        dr("每套杆数") = 1
                    ElseIf dr("制造产品号").contains("32G")
                        dr("每套杆数") = 2
                    ElseIf dr("制造产品号").contains("50G")
                        dr("每套杆数") = 3
                    End If
                End If
                '结束判断杆数
               
               
            End If
        End If
    Else
        dr("每套杆数") = Nothing
        dr("每杆铜片") = Nothing
        dr("铜片总数") = Nothing
    End If
End If

 



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


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/5/30 17:08:00 [只看该作者]

没有任何东西弹出来。“每套杆数”也不会出现任何值。

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


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

以下是引用edisontsui在2019/5/30 17:08:00的发言:
没有任何东西弹出来。“每套杆数”也不会出现任何值。

 

加入msgbox,看哪个if判断没有满足

 

msgbox(1)

If e.DataCol.Name = "长度" Then

msgbox(2)
    If dr("制造产品号").startsWith("C")

msgbox(3)
        If e.DataRow.IsNull("生产piao号") = False AndAlso e.DataRow.IsNull("制造产品号") = False

msgbox(4)
            Dim dr3 As DataRow = e.DataRow
            If e.DataTable.Find("生产piao号 = '" & dr3("生产piao号") & "' And 制造产品号 = '" & dr3("制造产品号") & "'") IsNot Nothing Then '如果找到生产piao号和制造产品号完全相同的行,则不执行判断杆数的代码

msgbox(5)
            Else


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