2017-02-20 41 views
0

Мой друг создает базу данных на MS Access, и он столкнулся со следующей проблемой.Выберите значения, не включенные в таблицу

В его базе данных у него есть таблица под названием «заказы». В этой таблице отслеживается, кто забронировал каждый спортивный зал и когда. Существует поле под названием «member», которое принимает значения из таблицы «members». Существует поле под названием «зал», которое принимает значения из таблицы «залов». Поле «дата». И есть поле времени, которое принимает значения из таблицы «слотов». Это делается для выпадающего меню со всеми возможными временными интервалами (09:00, 10:00 и т. Д. До 22:00).

Member | hall | date | time 
--------+--------+--------+-------- 
Text | text | date | text 
Dropdown|dropdown| typed |dropdown 

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

Для того, чтобы сделать это, я полагаю, что нужно сделать запрос, который будет делать следующее, когда вход выбранная дата и спортивный зал:

ВЫБРАТЬ все временные интервалы WHERE слот уже не забронированы предыдущая запись таблиц бронирования.

Затем мне нужно выяснить, как вводить введенные значения в запрос и получать результаты, а затем помещать результаты в параметры выпадающего меню.

Любая помощь будет принята с благодарностью

+0

Во-первых, я предполагаю, что «все залы имеют все временные интервалы»? Или некоторые залы могут сказать полдень до 5 вместо 9:00 - 22:00? Тогда не сделать это сложнее, но я предполагаю, что вы разрешаете кому-то сказать: «Мне нужна эта дата, мне все равно, в каком зале», или «Мне нужен этот зал, не заботятся о дате или времени»? Ваши первоначальные запросы вы можете определить, что НЕ доступно. Взгляните на: https://access-programmers.co.uk/forums/showthread.php?t=240698 или https://access-programmers.co.uk/forums/showthread.php?t=169635 –

+0

@ WayneG.Dunn Все залы имеют все доступные временные интервалы. И нет, мы не позволяем кому-то сказать, что мне нужна эта дата, мне все равно, в каком зале. Но на входе я пытаюсь заставить систему показать, какое время доступно после того, как заданы зал и дата. –

+1

Вот действительно отличный пример того, как это сделать. Я просто попробовал, и он отлично работает: http://www.datawright.com.au/access_resources/bookings_without_clashes.htm Вам нужно создать три запроса, как показано, а затем, как только вы добавите фильтры, отобразится только время, которое доступны. Если у вас все еще есть вопросы, дайте мне знать, и я могу опубликовать созданный SQL (используя MY OWN names!) –

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^