级联组合框以限制具有多个连接的选项 - SQL
Cascading Combo Box to Limit Options with Multiple Joins - SQL
见上图。
我真的在为如何使这项工作而苦苦挣扎。我有一个试图处理问题和回复的数据库。每项调查都有问题。每个问题都有一个适合该问题的答案组,无论是 Yes/No、True/False 还是其他任何形式。我正在尝试收集对这些问题的回答。我碰壁的地方是试图将 tblSurveyQuestionResponse 中的答案限制为仅针对该特定问题的答案组中的那些答案。我似乎无法掌握如何执行此操作,无论是我的连接错误还是只是没有正确编写 SQL where 子句。因此,例如,如果问题的可能答案只有 "Yes" 或 "No",而不是拉出整个答案列表,组合框将只显示 "Yes" 和 "No".然后,我计划使用 VBA 在问题发生变化时重新查询答案组合框,以便仅显示可能的答案。谁能帮我弄清楚该怎么做?还是我的数据库设计有缺陷?请帮忙。如果需要更多信息,请告诉我。谢谢。
你可以的!
创建一个新查询,从 tblQuestion
开始。然后按照 JOIN,添加所有表,直到达到 tblAnswer
.
添加条件:tblQuestion.QuestionID = Forms![YourQuestionForm]!QuestionID
并从 tblAnswer
添加您想要在组合框中包含的字段。
保存查询,并将其用作组合框的行源。
并在 Form_Current
中执行 Me.cboAnswer.Requery
,因此它将始终在组合框查询中使用当前的问题 ID。
见上图。
我真的在为如何使这项工作而苦苦挣扎。我有一个试图处理问题和回复的数据库。每项调查都有问题。每个问题都有一个适合该问题的答案组,无论是 Yes/No、True/False 还是其他任何形式。我正在尝试收集对这些问题的回答。我碰壁的地方是试图将 tblSurveyQuestionResponse 中的答案限制为仅针对该特定问题的答案组中的那些答案。我似乎无法掌握如何执行此操作,无论是我的连接错误还是只是没有正确编写 SQL where 子句。因此,例如,如果问题的可能答案只有 "Yes" 或 "No",而不是拉出整个答案列表,组合框将只显示 "Yes" 和 "No".然后,我计划使用 VBA 在问题发生变化时重新查询答案组合框,以便仅显示可能的答案。谁能帮我弄清楚该怎么做?还是我的数据库设计有缺陷?请帮忙。如果需要更多信息,请告诉我。谢谢。
你可以的!
创建一个新查询,从 tblQuestion
开始。然后按照 JOIN,添加所有表,直到达到 tblAnswer
.
添加条件:tblQuestion.QuestionID = Forms![YourQuestionForm]!QuestionID
并从 tblAnswer
添加您想要在组合框中包含的字段。
保存查询,并将其用作组合框的行源。
并在 Form_Current
中执行 Me.cboAnswer.Requery
,因此它将始终在组合框查询中使用当前的问题 ID。