我不知道如何以单词形式表达这个问题所以决定使用图片来帮助我。
这些是我的表格及其关系:
这是我坚持的形式:
我正在尝试制作表单,以便在输入开始日期和结束日期时,运行大篷车组合框的行源中的查询,其中显示在此期间未预订的所有大篷车。我现在的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]));
当使用访问中的宏进行焦点时,我有大篷车组合框自身重新查询。
问题是我所做的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]));
和 SELECT tblCaravan.caravanID,tblCaravan.caravanType 来自tblCaravan LEFT JOIN qryWeeksBooked ON tblCaravan.caravanID = qryWeeksBooked.caravanID WHERE(((qryWeeksBooked.caravanID)Null));
我希望这里有人可以帮助我朝着正确的方向发展,感谢您给予的任何帮助。
杰克
答案 0 :(得分:2)
试试这个
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)