【发布时间】:2018-05-14 19:43:13
【问题描述】:
我希望我的要求是有意义的。我想要一个查询,根据用户输入选择特定类型的内部联接。
这就是我所拥有的。
查询:
- qryFiltered(主查询)
- qryLand(子)
- qrySea(子)
- qryAllOrder(子)
表格:
- tblLowPriority
表格:
- EnterWork(有一个名为 ogLandSea 的选项组)
在我的主查询“qryFiltered”中,我有以下 SQL 代码:
SELECT qryAllOrder.*
FROM
SWITCH
(Forms!EnterWork!ogLandSea = 1, (qryAllOrder LEFT JOIN tblLowPriority ON qryAllOrder.[WORK_ORDER_NBR] = tblLowPriority.[WO]) INNER JOIN qrySea ON qryAllOrder.WORK_ORDER_NBR = qrySea.WORK_ORDER_NBR,
Forms!EnterWork!ogLandSea = 2, (qryAllOrder LEFT JOIN tblLowPriority ON qryAllOrder.[WORK_ORDER_NBR] = tblLowPriority.[WO]) INNER JOIN qryLand ON qryAllOrder.WORK_ORDER_NBR = qryLand.WORK_ORDER_NBR)
WHERE tblLowPriority.WO Is Null
基本上,我正在寻找的是根据用户在表单上选择的内容来选择加入。内部连接将根据此输入选择 qrySea 或 qryLand。我得到的错误是:“FROM 子句中的语法错误。”
我在这里做错了什么?是开关功能不起作用。我在没有切换功能的情况下分别尝试了陆地和海洋两个选项,它可以工作。我似乎无法找到一种方法来根据用户输入更改内部联接。
感谢您的所有回复!
【问题讨论】:
-
不支持该语法。可能还有其他方法可以产生您想要的结果,但为此您需要分享有关表、结构、表中的数据、查询定义的更多详细信息。也许更容易将您的数据库发布到某个地方。
-
构建一个查询和一个报告,并根据用户选择将过滤条件应用于报告。
标签: sql ms-access join switch-statement