2015-10-29 53 views
0

Current Database Layout層疊組合框來限制選項有多個連接 - SQL上述

見圖片。

我真的很在努力如何使這項工作。我有一個數據庫試圖處理問題和迴應。每個調查都有問題。每個問題都有一個適合於這個問題的答案小組,無論是「是/否」,「真/假」等。我正試圖收集這些問題的答案。我碰壁的地方是試圖將tblSurveyQuestionResponse中的答案限制爲答案組中針對該特定問題的答案。我似乎無法理解如何做到這一點,無論我是否有錯誤的連接,或只是沒有正確編寫SQL where子句。因此,例如,如果問題的可能答案只是「是」或「否」,而不是拉出整個答案列表,則組合框將僅顯示「是」和「否」。然後,我計劃在問題發生變化時使用VBA查詢答案組合框,以便只顯示可能的答案。任何人都可以幫我弄清楚如何做到這一點?或者是我的數據庫設計有缺陷?請幫忙。如果需要更多信息,請告訴我。謝謝。

+0

不確定實際問題是什麼。你有沒有嘗試過任何代碼?您可以使用'Current'事件來更改您的答案組合框的'RowSource'。 – Andre

+0

所以,我的問題是,SQL將導致組合框中的選項僅限於屬於答案組的答案。 我開始用下面的: SELECT tblAnswerGroupAnswer.AnswerGroupAnswerID,tblAnswerGroupAnswer.AnswerID FROM tblAnswerGroupAnswer ORDER BY tblAnswerGroupAnswer.Order; 我知道應該有一個WHERE子句。我認爲我在尋找的是WHERE tblSurveyQuestionResponse.SurveyQuestionID = tblSurveyQuestion.SurveyQuestionID和其中tblAnswerGroupAnswer.AnswerGroupID = tblSurveyQuestion.AnswerGroupID – rawil2

+1

請不要在評論中張貼代碼,編輯您的問題並將其添加(並以代碼格式)。 – Andre

回答

0

你可以做到這一點!

創建一個新的查詢,從tblQuestion開始。然後按照您的JOIN,添加所有表格,直到達到tblAnswer

添加標準:tblQuestion.QuestionID = Forms![YourQuestionForm]!QuestionID

,並從你想在你的組合框tblAnswer添加字段(一個或多個)。

保存該查詢,並將其用作組合框的RowSource。

而在Form_Current,做Me.cboAnswer.Requery,所以它會一直使用組合框查詢中的當前QuestionID。

+0

非常感謝。這比我想象的要簡單得多。我結束了一些大量的WHERE子句。這種方法似乎正在工作!再次感謝你。 – rawil2