В надежде, кто-то может помочь? Я довольно новичок в Access 2016, и мне было поручено создать очень простую систему бронирования для завтрака нашей школы и после школьных клубов. У меня есть таблица со списком детей (первичный ключ - ChildID), другая таблица (CLUBS) перечисляет 5 доступных клубов, а третий стол (BOOKINGS) соединяет детей с клубами (ChildID, ClubID, DateRequested)Вставить несколько записей с диапазоном дат в MS Access
У меня есть простая форма, которая позволяет мне выбрать имя ребенка из раскрывающегося списка, затем из списка выберите клуб, затем введите нужную дату. Это сохраняет запись в таблице «Заказы».
Это прекрасно работает, однако, чтобы упростить его использование ... Я добавил поля формы «Начало» и «Конечная дата» в форме, чтобы иметь возможность быстро забронировать ребенка за срок. вместо того, чтобы добавлять каждый день индивидуально, я ввожу имя ребенка, выбираю клуб, а затем вводим даты начала и окончания. В таблице бронирования создается несколько записей с идентификатором ребенка, идентификатором клуба идентичным, но поле DateRequested меняется.
Нам нужно сохранить запись в таблице «Бронирование» для ребенка на каждую дату, чтобы мы могли распечатать регистр на каждый день ... так же, как для выставления счетов/отчетности.
От взгляда на VBA ... Думаю, мне нужно использовать команду INSERT INTO? Это лучший способ сделать это? Также мне нужно убедиться, что даты в диапазоне, которые являются Sat/Sunday, игнорируются.
Я бы очень признателен за любые рекомендации по этому вопросу и указатели на команды, которые будут работать лучше ...
С помощью 'Insert' вам нужно будет создать большую строку SQL и выполнить ее сразу. 'Recordset.Addnew' - еще один вариант, но первый предпочтительнее. В обоих случаях вам понадобится цикл VBA. Подумайте о создании * хранимой процедуры * (Запрос в MS-Access), вам нужно будет только передать его «ChildId» и «TermId», и он выполнит задание на сервере. ИМО это было бы лучшим вариантом. –