SQL Select查询无法使用我的Access窗体

时间:2016-04-16 22:31:14

标签: sql ms-access jet

所以我正在做一个项目,我们试图允许我们的用户打开表单,选择(通过组合框)一个教师,然后将多年来在该表中拥有该教师的所有学生返回。

如果没有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]));

如果您需要更多信息,请与我们联系!

1 个答案:

答案 0 :(得分:0)

我敢打赌,您的INSTRUCTOR组合框有两列,INSTRUCTOR_ID绑定列,宽度为0(因此只有INSTRUCTOR_LNAME可见)。< / p>

因此,您需要筛选的值为INSTRUCTOR_ID,您需要将WHERE子句更改为:

WHERE (((INSTRUCTOR.INSTRUCTOR_ID)=[Forms]![STUDENT FORM]![INSTRUCTOR]));