所以我正在做一个项目,我们试图允许我们的用户打开表单,选择(通过组合框)一个教师,然后将多年来在该表中拥有该教师的所有学生返回。
如果没有WHERE子句,代码就会运行,返回所有拥有该教师的学生。但是当我在WHERE子句中使用[Forms]![STUDENT FORM]![INSTRUCTOR]时,我们突然得不到任何结果。谁能解释为什么会这样?它使用不同的组合框以相同的形式工作,但我们不需要使用任何连接,所以我想知道这是否是问题?
这是SQL代码 - 我们的表单名为STUDENT FORM,组合框名为INSTRUCTOR:
SELECT STUDENT.STU_LNAME, STUDENT.STU_FNAME, STUDENT.[STU_ INT],
STUDENT.STU_NICK, STUDENT.STU_YEAR, STUDENT.STU_PHONE, STUDENT.STU_EMAIL,
INSTRUCTOR.INSTRUCTOR_LNAME FROM
(INSTRUCTOR INNER JOIN CLASS ON
INSTRUCTOR.[INSTRUCTOR_ID] = CLASS.[INSTRUCTOR_ID]) INNER JOIN
(STUDENT INNER JOIN ENROLL ON STUDENT.[STU_NUM] = ENROLL.[STU_NUM])
ON CLASS.[CLASS_ID] = ENROLL.[CLASS_ID]
WHERE (((INSTRUCTOR.INSTRUCTOR_LNAME)=[Forms]![STUDENT FORM]![INSTRUCTOR]));
如果您需要更多信息,请与我们联系!
答案 0 :(得分:0)
我敢打赌,您的INSTRUCTOR
组合框有两列,INSTRUCTOR_ID
是绑定列,宽度为0(因此只有INSTRUCTOR_LNAME
可见)。< / p>
因此,您需要筛选的值为INSTRUCTOR_ID
,您需要将WHERE子句更改为:
WHERE (((INSTRUCTOR.INSTRUCTOR_ID)=[Forms]![STUDENT FORM]![INSTRUCTOR]));