0
我不知道如何表達這個問題,很好的詞形式,所以決定用圖片來幫助我。訪問SQL NOT BETWEEN涉及子表單
這是我的表和它們之間的關係:
,這裏是我卡上的形式:
我試圖使窗體以便當開始日期和輸入一個結束日期後,會在大篷車組合框的行源中查詢一個查詢,該查詢會顯示在此期間未預訂的所有大篷車。目前我的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 FROM tblCaravan LEFT JOIN qryWeeksBooked ON tblCaravan.caravanID = qryWeeksBooked.caravanID WHERE (((qryWeeksBooked.caravanID)爲空));
我希望這裏有人能幫助我朝正確的方向發展,感謝所給予的任何幫助。
傑克
它的工作原理完全一樣它應該,非常感謝你這一點。我想知道,如果你或其他人能指出我爲什麼這個工作的方向,而不是我以前使用過的方法。 – 2012-03-16 23:58:01
你的邏輯錯誤,startdate可能在一段時間之前,enddate在它之後,所以它們都不會在BETWEEN之間,但時間段會重疊。 「從tblCaravan,tblCaravansWeeksBooked'產生一個所謂的笛卡爾積,它將一個表中的所有記錄與另一個表中的所有記錄結合起來。它沒有將商隊與有意義的預訂聯繫起來。你會以某種方式加入表格。 – 2012-03-17 16:36:13