2017-01-16 57 views
0

好的,第三次試圖寫這個。 基本上我需要做一個查詢,可通過表檢查並確保在每一個記錄的值不會記錄從查詢查詢結果中沒有值

概述

查詢通過預訂 其中等於1次的值的搜索:開始日期< [「結束日期」]和結束日期> [「開始日期」] 顯示BID(預訂ID)和VID(車輛ID)

查詢2點的搜索通過再次登記,但除去具有所述的所有記錄與查詢1中的結果相同的VID

問題發生在查詢2中,如果在查詢1中顯示的結果多於1,那麼它只顯示整個預訂表。

我目前使用的:

Field: VID 
Table: Bookings 
Criteria: <>[Query1].[VID] 

我一直在努力,現在推測該方法出於對過去2個月,仍然沒有得到任何進一步。我嘗試完成任務的任何方法只適用於某些情況。

本質上,我試圖創建一個查詢,以查看某輛車是否可用於特定日期範圍的租賃。

任何幫助真的很感激。

預先感謝您

回答

0

看到你的表格會很有用。我假設您的預訂表格顯示車輛何時被預訂出租?那麼你有單獨的車輛表嗎?如果是這樣,那麼要查看給定日期範圍內哪些車輛可用於出租,您真正需要的是從VID不在[查詢1]中的車輛表中選擇條目。這會寫成:

select * from Vehicles where VID Not In (select VID from Query1) 
0

它很容易把這些東西放進魯布·戈德堡機械,如果你不小心。在我看來,這是一個用來確保數據庫中數據完整性的過程?如果是這樣的話,我建議用幾種不同的方法實現自動化這一過程:

  • 如果使用SQL後端,設置一個條件語句的VID字段
  • 如果表是在Access,使用驗證適用於所需字段的
    屬性部分的規則
  • 或者,也可以爲這兩個字段設置組合鍵。