在使用LIKE运算符时,使用来自访问的OLEDB连接的Excel中的数据不会更新

当我在Access中使用LIKE运算符并在Excel中创buildOLEDB连接以将此数据导入Excel时,即使在使用另一个筛选器更改查询后,数据也不会更新。 就像我没有改变新的filter的查询。

我可以通过这个查询来解决这个问题,并添加一个INTO TempTable,并将这个temptable链接到excel的OLEDB连接中。 在这种情况下,更改反映,但查询直接不是。

询问

SELECT tb_fechamento_ddd.PERIODO, tb_fechamento_ddd.DDD, tb_fechamento_ddd.metrica, tb_fechamento_ddd.categoria, tb_fechamento_ddd.Qtd FROM tb_fechamento_ddd WHERE (((tb_fechamento_ddd.PERIODO)>=#3/1/2014#) AND ((tb_fechamento_ddd.DDD)="93") AND (((tb_fechamento_ddd.metrica) Not Like "*GSM*" And (tb_fechamento_ddd.metrica) Not Like "*CDMA*" And (tb_fechamento_ddd.metrica) Not Like "*LTE*")) AND ((tb_fechamento_ddd.categoria)="Pre")) OR (((tb_fechamento_ddd.PERIODO)>=#3/1/2014#) AND ((tb_fechamento_ddd.DDD)="93") AND (((tb_fechamento_ddd.metrica) Not Like "*GSM*" And (tb_fechamento_ddd.metrica) Not Like "*CDMA*" And (tb_fechamento_ddd.metrica) Not Like "*LTE*") And (tb_fechamento_ddd.metrica) Like "Migra*") AND ((tb_fechamento_ddd.categoria) Like "*Pré*")); 

PS:对不起,括号过多,重复在Where子句中的filter,但访问不起作用如果我不使用这个。

根据HansUp引用的post:

我把每一个LIKE改成ALIKE运算符,并通过ANSI模式的%来改变Access模式*。

然后:

 SELECT tb_fechamento_ddd.PERIODO, tb_fechamento_ddd.DDD, tb_fechamento_ddd.metrica, tb_fechamento_ddd.categoria, tb_fechamento_ddd.Qtd FROM tb_fechamento_ddd WHERE (((tb_fechamento_ddd.PERIODO)>=#3/1/2014#) AND ((tb_fechamento_ddd.DDD)="93") AND (((tb_fechamento_ddd.metrica) Not Alike "%GSM%" And (tb_fechamento_ddd.metrica) Not Alike "%CDMA%" And (tb_fechamento_ddd.metrica) Not Alike "%LTE%")) AND ((tb_fechamento_ddd.categoria)="Pre")) OR (((tb_fechamento_ddd.PERIODO)>=#3/1/2014#) AND ((tb_fechamento_ddd.DDD)="93") AND (((tb_fechamento_ddd.metrica) Not Alike "%GSM%" And (tb_fechamento_ddd.metrica) Not Alike "%CDMA%" And (tb_fechamento_ddd.metrica) Not Alike "%LTE%") And (tb_fechamento_ddd.metrica) Alike "Migra%") AND ((tb_fechamento_ddd.categoria) Alike "%Pré%")); 

我得到的解决scheme的另一个Excel的Excel查询错误:

  • 使用UNION进行的查询不会显示在Excel中创build连接的查询列表中:

创build一个子查询来“隐藏”与联盟的查询:

 Select * from table_A UNION ALLL Select * from table_B 

 Select * from (Select * from table_A UNION ALLL Select * from table_B) as SubQryUnion 

另一个错误:如果您在字段上使用聚合函数的名称与表的字段相同,并在expression式字段中使用此别名的字段,则不会显示该查询。

 Select field1, field2, sum(table.qtd) as qtd, qtd/12 as yearmean from table group by field1, field2 

select聚合字段的另一个名称:

 Select field1, field2, sum(table.qtd) as quantity, quantity/12 as yearmean from table group by field1, field2