Foxtable(狐表)用户栏目专家坐堂 → [求助]循环语句合成筛选语句


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

主题:[求助]循环语句合成筛选语句

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


加好友 发短信
等级:婴狐 帖子:19 积分:212 威望:0 精华:0 注册:2017/6/3 10:59:00
[求助]循环语句合成筛选语句  发帖心情 Post By:2017/7/30 11:11:00 [只看该作者]

Dim filter As String

Dim sum As String

For Each dr As Row In drs

   filter= "[疾病] ='" & dr("疾病") & "'"

sum= sum & "or" & filter

  Next

MessageBox.Show(sum)

 Tables("疾病对比").Filter=sum

采用上面的循环语句想合成筛序表达式,用对话框显示sum的值,结果表达式前面多了一个or,运行的时候也提示:“Or”运算符前缺少操作数。



求教各位高手,嘻嘻,最近问的有点多,谢谢哈


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


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

Dim filter As String

 

改成

 

Dim filter As String = "1=2 "

[此贴子已经被作者于2017/7/30 11:21:22编辑过]

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


加好友 发短信
等级:婴狐 帖子:19 积分:212 威望:0 精华:0 注册:2017/6/3 10:59:00
  发帖心情 Post By:2017/7/30 11:51:00 [只看该作者]

我改了一下,应该是把
sum as string=“1=2”

这个代码之前在论坛里也见过,可以解释一下这样写的原理吗?
以下面这个代码为例,为什么把sum=“1=2”之后,就可以把忽略or,或者说代码就可以执行了,想知道原理哈,谢谢!!

Dim filter As String

Dim sum As String="1=2"

For Each dr As Row In drs

   filter= "[疾病] ='" & dr("疾病") & "'"

sum= sum & "or" & filter

  Next

MessageBox.Show(sum)

 Tables("疾病对比").Filter=sum


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


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

合成 1=2 or 第一列 = '123' or 第二列 = '456' 这样就不需要删除 or

 

你把or删除也行,如 sum = sum.substring(2)


 回到顶部