возможно ли передать переменную в инструкции SQL запроса?

#ms-access #ms-access-2016

#ms-access #ms-access-2016

Вопрос:

Я хочу знать, возможно ли передать переменную в инструкцию SQL для запроса, вместо того, чтобы создавать 12 разных запросов, которые также заставили бы меня создавать 12 разных форм (по 1 для каждого запроса). Имя таблицы для обновления зависит от столбца «what_table» в таблице с именем «weekinfo».

в настоящее время инструкция SQL является:

 SELECT wk1_info.ID, wk1_info.Player_Fname, wk1_info.Player_Lname, wk1_info.email, wk1_info.postion
FROM wk1_info
WHERE (((wk1_info.postion) Like 0));
  

возможно ли объявить таблицу таким образом, или мне придется создавать дополнительные запросы и формы? Если это возможно, могу ли я указать правильное направление?

Комментарии:

1. Посмотрите на использование параметра в запросе, смотрите здесь .

2. Это ненормализованный дизайн. Вы должны хранить похожие данные в той же таблице. Вы не можете использовать имена таблиц в качестве параметров. Вместо этого настройте свои данные так, чтобы вы могли фильтровать по неделе

3. причина этого в том, что у меня есть основная таблица, которая содержит всю информацию из 12 других таблиц. Запрос выбирает только столбцы в определенной таблице (где имя таблицы = «what_table» из таблицы «weekinfo») и обновляет только эту таблицу

Ответ №1:

Нет. Имена таблиц и полей не могут быть переданы в качестве параметров.

Что вы можете сделать, так это записать полный SQL из строки шаблона, заменив токены для имен таблиц и / или полей на те, которые вам нужны. Затем запустите / выполните готовую строку SQL.