Foxtable(狐表)用户栏目专家坐堂 → 如何对导入项目内部表的数据,指定某几列的值进行判断,如果不相等,就筛选出来,然后导出使用,如果相等就直接删除。


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

主题:如何对导入项目内部表的数据,指定某几列的值进行判断,如果不相等,就筛选出来,然后导出使用,如果相等就直接删除。

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/21 20:20:00 [显示全部帖子]

参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=83243

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/21 21:09:00 [显示全部帖子]

lb.ComboList = string,join("|",nms)
……

Dim
 s As String
Dim
 l As WinForm
.CheckedListBox = e.Form.Controls("CheckedListBox1")
For
 Each Index As Integer In l
.CheckedIndices
    s = s & 
"," & l
.
Items(Index)
Next
s = s.trim(",")
Dim cs As String =  s

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/21 21:59:00 [显示全部帖子]

建议多看看编程基础了,连基本的语法都还不行

Dim cnt As Integer = DataTables("表A").DataCols.Count - 1
Dim nms(cnt-1) As String
Dim lb As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
For i As Integer = 0 To cnt - 1
    nms(i) = DataTables("表A").DataCols(i).name
    output.show(nms(i))
Next
lb.ComboList = String.join("|",nms)

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/21 22:57:00 [显示全部帖子]

原来代码的逻辑是重复的会保留一个,如果想重复的全部不要,看懂代码自行改改

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (6).zip


[此贴子已经被作者于2021/10/21 23:34:23编辑过]

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/22 8:30:00 [显示全部帖子]

下载这里的最新版:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=171144

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/22 13:35:00 [显示全部帖子]

嗯!我们理解的不是一个东西。我以为是指不同行多列相同。如果是同一行多列相同完全是另一回事了。改为下面这种

dim s as string = "第二列,第三列"
dim filter as string = "1=2"
dim ss() as string = s.split(",")
dim s1 as string = ss(0)
for i as integer = 1 to ss.length - 1
filter = filter & " or " s1 & " <> " & ss(i)
next
msgbox(filter)
tables("xxx").filter = filter

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/25 20:34:00 [显示全部帖子]

If lst.count > 0 Then
    idx = String.Join(",",lst.ToArray)
Tables("表A").filter = "第一列 is not null and _Identify not in (" & idx.trim(",") & ") "
else
msgbox(没有重复)
End If




 回到顶部