Foxtable(狐表)用户栏目专家坐堂 → [求助]前面4列一样,第五列自动一样


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

主题:[求助]前面4列一样,第五列自动一样

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 15:16:00 [显示全部帖子]


Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("第一列") = False AndAlso dr.IsNull("第二列") =False AndAlso dr.IsNull("第三列") =False AndAlso dr.IsNull("第四列") =False Then
            Dim fdr = e.DataTable.find("第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "' And  第四列 = '" & dr("第四列") & "' and _Identify <> " & dr("_Identify"))
            If fdr IsNot Nothing Then
                dr("第五列") = fdr("第五列")
                MessageBox.Show("前面4列一样,第五列自动一样了!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
            End If
        End If
End Select

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 16:09:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("第一列") = False AndAlso dr.IsNull("第二列") =False AndAlso dr.IsNull("第三列") =False AndAlso dr.IsNull("第四列") =False Then
            Dim fdr = e.DataTable.find("第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "' And  第四列 = '" & dr("第四列") & "' and _Identify <> " & dr("_Identify"))
            If fdr IsNot Nothing Then
                dr("第五列") = fdr("第五列")
                MessageBox.Show("前面4列一样,第五列自动一样了!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

            else

                dr("第五列") = Nothing
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 17:09:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("第一列") = False AndAlso dr.IsNull("第二列") =False AndAlso dr.IsNull("第三列") =False AndAlso dr.IsNull("第四列") =False Then
            Dim fdr = e.DataTable.find("第一列 = '" & dr("第一列") & "' And 第二列 = '" & dr("第二列") & "' And 第三列 = '" & dr("第三列") & "' And  第四列 = '" & dr("第四列") & "' and _Identify <> " & dr("_Identify"))
            If fdr IsNot Nothing Then
                dr("第五列") = fdr("第五列")
                MessageBox.Show("前面4列一样,第五列自动一样了!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)

            else

                dr("第五列") = Nothing
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 17:10:00 [显示全部帖子]

2、筛选代码没问题,就是这样改。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 17:43:00 [显示全部帖子]

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "第一列,第二列,第三列,第四列"
Dim t As Table = Tables("表A")
For Each dr As DataRow In t.DataTable.Select("", cs)
   
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag Then
        If count > 1 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
        idx_temp &= dr("_Identify") & ","
    Else
        count += 1
        idx_temp &= dr("_Identify") & ","
    End If
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

t.filter = "_Identify in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/1 21:01:00 [显示全部帖子]

以下是引用湛江智在2018/8/1 18:24:00的发言:
标设置标注列后,还报错,什么原因呢?
 列“_Identify”不属于表 物料表。

 

你物料表的主键列是什么?替换掉 _Identify


 回到顶部