доступ к SQL НЕ МЕЖДУ с участием подчиненных - PullRequest
0 голосов
/ 17 марта 2012

Я не знал, как хорошо выразить эту проблему в форме слова, поэтому решил использовать картинки, чтобы помочь мне.

Это мои таблицы и их отношения: enter image description here

и вот форма, на которой я застрял: enter image description here

Я пытаюсь создать форму таким образом, чтобы при вводе даты начала и даты окончания выполнялся запрос в источнике строки списка караванов, который показывает все караваны, которые не были забронированы в течение этого периода. Мои навыки SQL сейчас ограничены, так как в настоящее время я изучаю их для этого проекта. Это SQL-запрос, который я сделал до сих пор:

SELECT tblCaravan.caravanID, tblCaravan.caravanType
FROM tblCaravan, tblCaravansWeeksBooked
WHERE (((tblCaravansWeeksBooked.startDate) Not Between [txtStartDate] And [txtEndDate]) 
AND ((tblCaravansWeeksBooked.endDate) Not Between [txtStartDate] And [txtEndDate]));

У меня есть запрос на комбинированный список караванов, когда он фокусируется с помощью макроса в Access.

Проблема в том, что созданный мной SQL не работает, и я не понимаю, почему. Я сделал это раньше, используя два запроса, созданные с помощью мастера:

SELECT tblCaravansWeeksBooked.startDate, tblCaravansWeeksBooked.endDate, tblCaravansWeeksBooked.caravanID
FROM tblCaravansWeeksBooked
WHERE (((tblCaravansWeeksBooked.startDate) Between [Start Date] And [End Date]) 
AND ((tblCaravansWeeksBooked.endDate) Between [Start Date] And [End Date]));

и ВЫБЕРИТЕ tblCaravan.caravanID, tblCaravan.caravanType ОТ tblCaravan ЛЕВОЕ СОЕДИНЕНИЕ qryWeeksBooked ON tblCaravan.caravanID = qryWeeksBooked.caravanID WHERE (((qryWeeksBooked.caravanID) является нулевым));

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

Джейк

1 Ответ

2 голосов
/ 17 марта 2012

Попробуйте это

SELECT tblCaravan.caravanID, tblCaravan.caravanType
FROM tblCaravan
WHERE caravanID NOT IN (SELECT caravanID FROM tblCaravansWeeksBooked
                        WHERE startDate < Forms!MyForm!txtEndDate AND 
                              endDate > Forms!MyForm!txtStartDate)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...