INSERT INTO таблица из формы с флажками - PullRequest
0 голосов
/ 12 марта 2019

Я хотел бы вставить несколько записей в таблицу, используя одну форму.

Желаемый результат:

DESTINATION_TABLE
DATE       | PLACE | THEME | PARTICIPANT
dd.mm.yyyy   A       X       1
dd.mm.yyyy   A       X       2
dd.mm.yyyy   B       Y       3

PLACE и PARTICIPANT выбираются из значений, содержащихся в других таблицах, а DATE и THEME вводятся в текстовых полях. Только одно значение должно быть вставлено в таблицу одновременно для DATE, PLACE и THEME, но я хотел бы иметь возможность вставлять несколько PARTICIPANT с новой строкой для каждого выбранного PARTICIPANT.

Добавление новых записей для DATE, PLACE и THEME через форму работает (используя CurrentDb.Execute "INSERT INTO ... ).

Как создать форму, которая позволила бы мне выбрать PARTICIPANT из подчиненной формы (в идеале с флажками), отфильтрованной по значению в PLACE, и добавить запись в DESTINATION_TABLE для каждого выбранного PARTICIPANT?

1 Ответ

0 голосов
/ 12 марта 2019

Один простой способ сделать это с вашей текущей настройкой:

  1. добавить поле Yes/No в таблицу участников, по умолчанию No. Мы назовем это поле Selected
  2. Привязав подчиненную форму к таблице участников, пользователь сможет проверить каждого участника из этого представления (используя поле Selected).

  3. Из какого события, которое вы используете для сохранения своих данных (например, нажатие кнопки), создайте набор записей (rs) на основе выбранных участников из таблицы участников (SELECT * FROM PARTICIPANT WHERE Selected = True. Выполните цикл по каждой записи в наборе записей (rs) и выполните свой код CurrentDb.Execute "INSERT INTO...), взяв значение участника (rs("Participant")) из набора записей.

  4. После завершения цикла обновите таблицу участников, задав для поля Selected значение No. CurrentDb.Execute "UPDATE PARTICIPANT SET Selected = False WHERE Selected = True"
  5. Обновите / запросите данные вашей формы, если необходимо

Замените вышеуказанные имена объектов своими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...