我正在尝试运行一个访问报告,其中字段的值取决于查询。我有一个子报告。
如果在第一个查询中找不到该值,则必须运行另一个值,直到找到该值。如何在Access 2003 +中完成此操作。使用DAO或ADO在VBA中执行此操作是最佳选择。
答案 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