我有以下问题:
我使用两个查询来解析导入的数据,他们都在选择数据 导入的数据集非常复杂,但这会重现错误。
QueryA:
SELECT CDbl(FieldA) As DblA, Imported.* From Imported WHERE FieldA IS NOT NULL
QueryB:
SELECT * FROM QueryA WHERE DblA > 7 AND DblA < 600
QueryA运行正常,QueryB抛出无效使用空错误
如果我将QueryA的结果插入到表中并对其运行QueryB,但我没有收到错误,但是,这不是必需的。
如果我从QueryB中删除WHERE
,它运行正常。
这有不同的解决方法吗?或者我应该接受冗余表?
答案 0 :(得分:0)
尝试此查询。
SELECT * FROM QueryA WHERE DblA > 7 AND DblA < 600 AND Dbla IS NOT NULL
答案 1 :(得分:0)
更改了QueryA
SELECT CDbl(Nz(FieldA, 999)) As DblA, Imported.* From Imported WHERE FieldA IS NOT NULL AND Nz(FieldA, 999) <> 999
就我的SQL知识而言,这应该没有任何区别,但确实如此。如果有人可以解释,我会欢迎它。
999
而不是0
是因为我会在其他函数中得到除0错误(而实际上Access不应该运行任何函数,因为它被过滤掉了)。