以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]循环语句合成筛选语句 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104483) |
-- 作者:科研小子 -- 发布时间: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”运算符前缺少操作数。 求教各位高手,嘻嘻,最近问的有点多,谢谢哈 |
-- 作者:有点甜 -- 发布时间:2017/7/30 11:21:00 -- Dim filter As String
改成
Dim filter As String = "1=2 " [此贴子已经被作者于2017/7/30 11:21:22编辑过]
|
-- 作者:科研小子 -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间:2017/7/30 11:57:00 -- 合成 1=2 or 第一列 = \'123\' or 第二列 = \'456\' 这样就不需要删除 or
你把or删除也行,如 sum = sum.substring(2) |