Foxtable(狐表)用户栏目专家坐堂 → [求助]显示指定列重复值的行


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

主题:[求助]显示指定列重复值的行

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]显示指定列重复值的行  发帖心情 Post By:2021/9/10 16:37: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 = "原审法院,原审案号"
For Each dr As DataRow In DataTables("数据表").SQLSelect("", 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 = ""
    Else
        count += 1
    End If
    idx_temp &= dr("_Identify") & ","
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("数据表_table1").filter = "_Identify in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2021/9/13 11:32:00 [显示全部帖子]

谢谢蓝老师!

如果数据没有加载,上面的方法就筛选不出来。

老师帮忙写个sql语句吧: 加载出[原审法院]、[原审案号]都相同的行。

 

Dim cmd As new SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "Se lect * From {数据表} Where [_Identify] Is null          "


DataTables("数据表").Load()    '重新加载表


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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2021/9/13 13:47:00 [显示全部帖子]

谢谢蓝老师!

我在执行sql窗口里运行代码,显示的数据没问题,怎样加载到窗口表里显示它?


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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2021/9/13 16:34:00 [显示全部帖子]

蓝老师,我用窗口的副本表来显示Select出的数据,因为Fill帮助中说是跨表加载,因此我用的是DataSource。但是这样显示的是原始表的所有列,并且再点击窗口中的其他加载按钮,也没反应了...是不是绑定后还要解除绑定?

 

Dim cmd As new SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "Select * From {数据表} where [原审法院]+[原审案号] in(select [原审法院]+[原审案号] from (select [原审法院],[原审案号],count(1) as cnt from {数据表} group by [原审法院],[原审案号]) as a where cnt > 1)
dt = cmd.ExecuteReader()
Tables("数据管理_table1").DataSource = dt

 

直接用LoadFilter 会报错,为什么?
Dim Filter As String
Filter = "Select * From {数据表} where [原审法院]+[原审案号] in(select [原审法院]+[原审案号] from (select [原审法院],[原审案号],count(1) as cnt from {数据表} group by [原审法院],[原审案号]) as a where cnt > 1)  "
DataTables("数据表").LoadFilter = Filter
DataTables("数据表").Load()    '重新加载表


 回到顶部