如果空白运行另一个查询则访问查询

时间:2011-04-05 12:55:58

标签: sql ms-access ms-access-2007

我正在尝试运行一个访问报告,其中字段的值取决于查询。我有一个子报告。

如果在第一个查询中找不到该值,则必须运行另一个值,直到找到该值。如何在Access 2003 +中完成此操作。使用DAO或ADO在VBA中执行此操作是最佳选择。

1 个答案:

答案 0 :(得分:3)

一种可能性是UNION ALL您的查询并使用排序来选择第一个找到的值(假设您正在讨论合理且有限数量的查询)。例如:

SELECT TOP 1 MyVal
FROM (SELECT 1 AS Seq, Field1 AS MyVal FROM MyQuery1 UNION ALL
      SELECT 2 AS Seq, Field1 AS MyVal FROM MyQuery2 UNION ALL
      SELECT 3 AS Seq, Field7 AS MyVal FROM MyQuery3)
ORDER BY Seq, MyVal