首页 > 解决方案 > 列表框的 SQL 标准代码可在不使用 VBA 的情况下提供多选结果?

问题描述

所以我有一个包含我想使用的历史数据的大链接表。我有一个州到州的车道 ID(例如:阿拉巴马州到阿肯色州),每个车道 ID 都有一个低、平均和高汽油价格的列。随着时间的推移,当我提取数据时,车道 ID 的这些价格反映了一年中的某个季度。所以说在 2018 年第二季度,从阿拉巴马州到阿肯色州的最低、平均和最高汽油价格分别为 1.25 美元、1.60 美元和 2.00 美元。我有超过 100,000 条历史数据通道,我想在查询中使用多选列表框按季度过滤掉这些数据,以便用户可以过滤掉单个或多个季度,并给出通道 ID 的平均值,因为同一个车道 ID 有多个数据记录。但是我想只使用 SQL 来构建这个多选列表框,因为我对 VBA 不太熟悉。

我已经建立了一个组合框,它会给我正确的结果,但我一次只能选择一个季度。经过研究,我发现一个列表框允许我一次选择多个季度,但标准语法并不反映列表框的语法。我想在 MS Access 中仅使用 SQL 构建正确的语法。

到目前为止,这是我的 SQL 代码:

SELECT REEFER.[DAT REEFER LANE ID], Avg(REEFER.[PC-Miler Practical Mileage]) AS [AvgOfPC-Miler Practical Mileage], Avg(REEFER.[Spot Avg Linehaul Rate]) AS [AvgOfSpot Avg Linehaul Rate], Avg(REEFER.[Spot Low Linehaul Rate]) AS [AvgOfSpot Low Linehaul Rate], Avg(REEFER.[Spot High Linehaul Rate]) AS [AvgOfSpot High Linehaul Rate]

FROM REEFER
WHERE (((REEFER.[QUARTER OF YEAR])=IIf([Forms]![Form1]![Combo3]="All",[QUARTER OF YEAR],[Forms]![Form1]![Combo3])))

GROUP BY REEFER.[DAT REEFER LANE ID];

所以真的我只是想知道我是否可以构建这个列表框,允许我一次选择多个季度,以仅使用 SQL 语言在我的查询中反映正确的结果。

标签: mysqlms-access

解决方案


推荐阅读