Foxtable(狐表)用户栏目专家坐堂 → filter的多个循环and 放在那里


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

主题:filter的多个循环and 放在那里

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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
filter的多个循环and 放在那里  发帖心情 Post By:2013/10/28 10:29:00 [只看该作者]

Dim filter As String
For Each dr1 As Row In Tables("窗口销售订单_tblDingdan").Rows
    'Dim dr2 As DataRow = DataTables("crm_sale_detail").Find("product_id = '" & dr1("product_id") & "'")
  
    filter=filter & "sale_id=" & dr1("sale_id") 
    filter=filter &" And "
msgbox( filter)
    Next
Tables("窗口销售订单_tblDingdanmingxi").Filter=filter
messagebox.Show("显示完毕")

filter的多个循环and 放在那里
    filter=filter & "sale_id=" & dr1("sale_id") 
    filter=filter &" And "
放在这个前面和后面都不对,提示“语法错误:“And”运算符后缺少操作数。” 谁给改一下错误
就是先一个表有多个并列条件,用循环方式来做,怎么合成这个语句
[此贴子已经被作者于2013-10-28 10:37:18编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/28 10:37:00 [只看该作者]

你这样拼接,最后会多出一个 AND  利用SUBSTRING 切割掉最后一个AND就可以了.

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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2013/10/28 10:49:00 [只看该作者]

经常看见有高手这样写叠加的:filter+=

而且就算写出来也有问题,楼主的条件是:某列=莫值1,and 莫列= 莫值2 and 莫列= 莫值3 这怎么可能有符合条件的记录呢


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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/10/28 10:53:00 [只看该作者]

你说的对,我吧AND 改成OR实验一下


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


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/10/28 10:57:00 [只看该作者]

通过or的方式叠加可以,这个方式最多可以支持多少个or叠加在一起?谁试验过

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/28 10:59:00 [只看该作者]

没有这样的限制有多少个OR的.

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/28 12:52:00 [只看该作者]

 标准写法:

 

Dim filter As String
For Each dr1 As Row In Tables("窗口销售订单_tblDingdan").Rows
    If filter > "" Then
        filter =filter & "And "
    End If
    filter=filter & "sale_id=" & dr1("sale_id")
Next
Tables("窗口销售订单_tblDingdanmingxi").Filter=filter


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


加好友 发短信
等级:一尾狐 帖子:431 积分:3214 威望:0 精华:2 注册:2011/9/10 21:35:00
  发帖心情 Post By:2013/10/28 13:31:00 [只看该作者]

以下是引用狐狸爸爸在2013-10-28 12:52:00的发言:

 标准写法:

 

Dim filter As String
For Each dr1 As Row In Tables("窗口销售订单_tblDingdan").Rows
    If filter > "" Then
        filter =filter & "And "
    End If
    filter=filter & "sale_id=" & dr1("sale_id")
Next
Tables("窗口销售订单_tblDingdanmingxi").Filter=filter

学习了,终于知道标准叠加条件写法了,帮助里面好像没介绍过。。。。不过我经常看见有个高手经常这样写叠加:filter+=....这个又是什么语法啊?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/28 14:14:00 [只看该作者]

呵呵,帮助都是这么写的哦,例如:

http://www.foxtable.com/help/topics/1058.htm

 


 回到顶部