2011-02-02 91 views
0

我需要在那里 -current_queue不等于I01,并且不以F -prod_code有RSQL语句与几个逻辑运算符

SQL = "SELECT " & Join(theseFields, ",") & " FROM [Acct Detail$] WHERE NOT (current_queue='I01' OR LEFT(current_queue,1)='F')" 

这对我的作品,除去I01开始启动运行SQL查询并以F开头的队列,但现在如何过滤不以R开头的prod_code?

(这是ADODB,VBA,Excel和Microsoft.Jet.OLEDB.4.0)

回答

0

没关系,我决定去与此:

SQL = "SELECT " & Join(theseFields, ",") & " FROM [Acct Detail$] WHERE NOT (current_queue='I01' OR LEFT(current_queue,1)='F' OR LEFT(prod_code,1)='C' OR LEFT(prod_code,1)='P')" 

仍然好奇如何保持prod_code开始有R但不current_queue I01的或有F开始

0

拆分成为了清楚的线条,这些应在一个单独的一行

SQL = "SELECT " & Join(theseFields, ",") & " FROM [Acct Detail$] 
WHERE LEFT(Prod_code,1) = 'R' 
AND NOT (current_queue='I01' OR LEFT(current_queue,1)='F')" 
1

您可以用Excel碰上大小写:

strSQL = "SELECT " & Join(theseFields, ",") & " FROM [Acct Detail$] " _ 
& "WHERE (Not (UCase(current_queue)='I01' " _ 
& "Or UCase(current_queue) Like 'F%')) " _ 
& " AND UCase(prod_code) Like 'R%' " 

如果这是你的访问也必须检查空,但它似乎并没有与Excel中的一个问题。