簡體   English   中英

Access 2010參數查詢-AND OR

[英]Access 2010 Parameter Query - AND OR

我有一個要查詢的站點詳細信息列表-僅返回缺少數據的站點。 我想讓我的用戶能夠查詢僅針對選定組的數據庫返回信息。

SELECT 
Lookup.Lookup_Name, 
Contacts.Address1, 
Contacts.Address2
FROM 
Contacts INNER JOIN Lookup ON Contacts.Group_1 = Lookup.Lookup_Code
WHERE (((Lookup.Lookup_Name)=[Site]) AND ((Contacts.Address1) Is Null)) OR (((Contacts.Address2) Is Null));    

但是,這不是從所選站點而是從所有站點返回數據。 我認為這是AND或相關括號的組合。 我還有很多要添加到列表中的字段,因此可以使用任何建議

不幸的是,MS-Access的括號非常大方。 即使您不放置它們,MS-Access也會將它們放入-邏輯上是否需要它們。

但是查詢中也存在一個邏輯錯誤:您的第一個查詢條件僅與AND鏈接到第一個地址空條件,而第二個地址空條件僅通過OR鏈接,導致結果(所有站點的) 所有行均顯示空的address2字段。

嘗試以下版本:

SELECT 
Lookup.Lookup_Name, 
Contacts.Address1, 
Contacts.Address2,
Contacts.further1,
Contacts.further2,
Contacts.further3   -- and so on ...
FROM 
Contacts INNER JOIN Lookup ON Contacts.Group_1 = Lookup.Lookup_Code
WHERE ((Lookup.Lookup_Name)=[Site]) 
AND (  ((Contacts.Address1) Is Null) 
    OR ((Contacts.Address2) Is Null)
    OR ((Contacts.further1) Is Null)
    OR ((Contacts.further2) Is Null)
    OR ((Contacts.further3) Is Null)
    );

當前,我的計算機上未安裝MS-Access,因此尚未測試以上內容。 我希望它能起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM