访问查询惊人

时间:2016-11-28 15:12:35

标签: ms-access

当我访问时,SELECT RMonturesImp.N°Fac FROM RMonturesImp, Rpartielun WHERE NOT (RMonturesImp.N°Fac IN (1,2,5)) GROUP BY RMonturesImp.N°Fac;

但是当我这样做时

SELECT RMonturesImp.N°Fac
FROM RMonturesImp, Rpartielun
WHERE NOT (RMonturesImp.N°Fac IN Requête2)
GROUP BY RMonturesImp.N°Fac;
虽然Requête2(这是一个查询)的结果也是(1,2,5),但它不起作用(它确实显示了1,2,5)。我无法理解这一点!

提前致谢

1 个答案:

答案 0 :(得分:1)

这很容易。 IN (1,2,5))必须是显式的,因为SQL不会评估表达式而不是说获取IN值的函数。

因此,在创建字符串的代码中构建SQL,或从(temp)表中提取值。

试试这个:

SELECT RMonturesImp.N°Fac
FROM RMonturesImp, Rpartielun
WHERE RMonturesImp.N°Fac NOT IN (Select N°Fac From Requête2)
GROUP BY RMonturesImp.N°Fac;