以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 代码错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158369)

--  作者:sanny
--  发布时间:2020/11/17 21:15:00
--  [求助] 代码错误
老师,以下黄色标注的条件正确吗 ?怎么出来的结果不正确。

For Each rrrs As DataRow In DataTables("物料需求").Select("[company] <> \'manuf\' or [GSS] <> \'GSS\'")

--  作者:有点蓝
--  发布时间:2020/11/17 22:01:00
--  
需要按什么逻辑判断?
--  作者:sanny
--  发布时间:2020/11/18 7:52:00
--  
只选择 表物料需求 中列名 company 中不包含 manuf  和列名 GSS 不包含 GSS的其它记录,谢谢。
--  作者:有点蓝
--  发布时间:2020/11/18 8:47:00
--  

可以用 And 或者 Or 串联条件表达式。

用 And 串联的条件表达式必须同时满足,例如:

[省籍] = \'湖南\' And [学历] = \'博士\'

表示省籍为湖南,且学历为博士。

用 Or 串联的条件表达式只需满足一个即可,例如:

[省籍] = \'湖南\' Or [省籍] = \'广东

表示省籍为湖南或者广东。

计算表达式值的时候,And 优先于 Or,可以使用括号组合表达式来强制改变优先级,例如: 

([省籍] = \'湖南\' Or [省籍] = \'广东\') And [学历] = \'博士\'

表示省籍是湖南或者广东的博士。


--  作者:sanny
--  发布时间:2020/11/18 9:44:00
--  
照理如下正确的 ?


For Each rrrs As DataRow In DataTables("物料需求").Select("[company] <> \'manuf\' or [GSS] <> \'GSS\'"

--  作者:有点蓝
--  发布时间:2020/11/18 9:58:00
--  
3楼的描述使用的是“和”,也就是同时符合2个条件,那么就应该使用and