Foxtable(狐表)用户栏目专家坐堂 → [求助]数据表记录的筛选问题


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

主题:[求助]数据表记录的筛选问题

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


加好友 发短信
等级:幼狐 帖子:95 积分:1484 威望:0 精华:0 注册:2018/3/5 8:52:00
[求助]数据表记录的筛选问题  发帖心情 Post By:2019/2/15 16:20:00 [只看该作者]

已知一个表Table("订单"), 有一个列"[客户]", 还有一个数组Dim Names() as String = {"张三","李四"}(长度可能是未知的),
问题:怎么刷选出客户为“张三”和“李四”的所有记录?

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


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

Tables("表A").filter = "第一列 in ('张三', '李四')"

 

比如

 

Dim Names() As String = {"张三","李四"}
Tables("表A").filter = "第一列 in ('" & String.Join("','", names) & "')"


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


加好友 发短信
等级:幼狐 帖子:95 积分:1484 威望:0 精华:0 注册:2018/3/5 8:52:00
  发帖心情 Post By:2019/2/15 17:24:00 [只看该作者]


当Dim Names() As String = {"1-1-1","1-1-2"}时,
Tables("表A").filter = "第一列 in ('" & String.Join("','", names) & "')"
还是会出问题。

但是,
Dim Str As String = "'1-1-1','1-1-2'"
Tables("表A").filter = "第一列 in ('" & Str & "')"
这种情况下,又是正确的。


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


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

我测试这样没问题,请认真测试。

 

Dim Names() As String = {"1-1-1","1-1-2"}
Tables("表A").filter = "第一列 in ('" & String.Join("','", names) & "')"


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


加好友 发短信
等级:幼狐 帖子:95 积分:1484 威望:0 精华:0 注册:2018/3/5 8:52:00
  发帖心情 Post By:2019/2/15 17:41:00 [只看该作者]

其实我的具体需求是这样的:
Dim Str As String = "01-001-0001-00|01-001-0001-01"

如果筛选出表A中某一列为"01-001-0001-00"或者"01-001-0001-01"的所有记录。

我测试过Dim Str As String = "01-001-0001-00"是正常的,可以筛选一条记录;
但是Dim Str As String = "01-001-0001-00|01-001-0001-01"或者Dim Str As String = "01-001-0001-00|01-001-0001-01|01-001-0001-02"筛选出结果为空。

我们六点就要下班了,请尽快帮我一下,谢谢。

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


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

Dim Str As String = "01-001-0001-00|01-001-0001-01"
Tables("表A").filter = "第一列 in ('" & str.replace("|", "','") & "')"

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


加好友 发短信
等级:幼狐 帖子:95 积分:1484 威望:0 精华:0 注册:2018/3/5 8:52:00
  发帖心情 Post By:2019/2/15 17:54:00 [只看该作者]

谢谢啊,看来还是我的基本功不够扎实。

 回到顶部