2014-09-11 43 views
0

我遇到了一些邏輯問題。如果X爲TRUE則顯示記錄關於其他值

我有一個列表(Name, Address etc)和三個recNewsLetter, recAGM and recPhoneCall每個Yes/Nocheckbox填充。

我有三個複選框Receive Newsletter, Receive AGM Info & To Phone的另一種形式。我正在尋找能夠在表單中選擇其中一個複選框的查詢,並且將顯示該複選框爲真的所有記錄,而不管其他哪些複選框爲真。

例如,我想查看recNewsletter爲true的所有記錄,而不管其他人是否爲true。如果recAGM爲真,則相同;無論recNewsLetterrecPhonecall的狀態如何,我都希望看到所有這些記錄。

我的查詢只顯示確切組合存在的記錄。例如,如果recNewsletter是真實的(例如,表單上的複選框被打勾),它將只顯示那些記錄爲真,其他記錄爲假的記錄。如果recNewsletter & recAGM爲真,那麼它將只顯示記錄,它們都是真實的,而另一個(recPhoneCall)爲假。你可能已經猜到了,我的SQL基本上是一個'當recNewsLetter和recAGM和recPhoneCall'的時候。例如,我會顯示所有通訊記錄,而不管AGM或電話呼叫的值如何。

這是代碼:

SELECT tblOrganisations.ID, tblOrganisations.OrgName 
FROM tblOrganisations 
WHERE (((tblOrganisations.recNewsLetter) = 
[Forms]![frmPrintOrgLabels].[ReceiveNewsletter])) And 
(((tblOrganisations.recAGM) = [Forms]![frmPrintOrgLabels].[ReceiveAGMInfo])) And 
(((tblOrganisations.recPhoneCall)=[Forms]![frmPrintOrgLabels].[ToPhone])); 

任何幫助,不勝感激!

[R

+0

你能告訴你的代碼嗎? – Mureinik 2014-09-11 05:15:56

+0

是不是有一個原因,你不只是修改SQL來只應用你想要的標準?例如SELECT ... WHERE recAGM = True。如果你想要相互排斥的結果,你是否有3個複選框作爲組的一部分,所以當組更改(即用戶單擊複選框)時,後面的代碼會修改查詢的WHERE條件? – maxhugen 2014-09-11 12:17:02

回答

0

據我可以從你的描述說,你需要像

WHERE (

(tblOrganisations.recNewsLetter and [Forms]![frmPrintOrgLabels].[ReceiveNewsletter]) 

OR 
(tblOrganisations.recAGM and [Forms]![frmPrintOrgLabels].[ReceiveAGMInfo]) 

OR 
(tblOrganisations.recPhoneCall and [Forms]![frmPrintOrgLabels].[ToPhone]) 

) 
相關問題