Я новичок в ACCESS и SQL. Мои извинения, если я неправильно использую некоторые ссылки и термины. Я пытаюсь использовать пользовательский ввод, чтобы выбрать поле в моей таблице, а затем отфильтровать данные в этом поле на основе пользовательских критериев.
У меня есть таблица Emissions_Units
со многими столбцами, и я хочу создать удобную форму, чтобы пользователь мог выбрать загрязняющее вещество (столбец в моей таблице), а затем выбрать критерии для применения к этому загрязнителю (т.е. столбец в таблице). Загрязняющие вещества или столбцы в таблице включают CO_Emissions
, NO2_Emissions
, PM_Emissions
.
Затем, как только столбец выбран, я хочу отфильтровать этот столбец на основе пользовательских максимальных и минимальных критериев. Затем пусть запрос представит результаты.
Я включил некоторый код SQL, над которым я работал, который не работает, но может показать, что я пытаюсь сделать. Я также пробовал SWITCH
вместо IIF
. Если это возможно, я хотел бы также получить информацию из других столбцов этой таблицы, которые соответствуют строкам из запроса. Например, я хотел бы извлечь информацию из столбцов «Имя» и «Местоположение», связанных со строками, которые соответствуют результатам ввода пользователя.
PARAMETERS [Enter Pollutant to Review (CO, NO2, PM):] Text, [Enter Maximum Emissions (0.00 g/s):] Number, [Enter Minimum Emissions (0.00 g/s):] Number;
SELECT
IIF([Enter Pollutant to Review (CO, NO2, PM):] = "CO", Emissions_Units.CO_Emissions AS CalcValues,
IIF([Enter Pollutant to Review (CO, NO2, PM):] = "NO2", Emissions_Units.NO2_Emissions AS CalcValues,
IIF([Enter Pollutant to Review (CO, NO2, PM):] = "PM", Emissions_Units.PM_Emissions AS CalcValues, 'Retry' )
)
)
FROM Emissions_Units
WHERE CalcValues >= [Enter Minimum Emissions (0.00 g/s)]
AND CalcValues <= [Enter Maximum Emissions (0.00 g/s)];