我有一个包含4个参数的报告,需要在报告打开时自动填充。
2个参数工作正常但Lecturer参数未选择任何值。
查询:
Year:
SELECT REGT_Year
FROM CurrentAttendance_New
CourseType:
SELECT DISTINCT CourseType
FROM CurrentAttendance_New
WHERE (REGT_Year = @Year)
Lecturer:
SELECT DISTINCT LectName
FROM CurrentAttendance_New
WHERE (CourseType IN (@CourseType))
ORDER BY LectName
Register:
SELECT DISTINCT Class_Register COLLATE
DATABASE_DEFAULT + ' - ' + Register_Title
COLLATE DATABASE_DEFAULT + ' - ' +
Register_Day COLLATE DATABASE_DEFAULT + ' ' +
CONVERT(char(5),StartTime, 108) + ' - '
+ CONVERT(char(5), EndTime, 108) AS Register
FROM CurrentAttendance_New
WHERE (REGT_Year = @Year)
AND (CourseType IN (@CourseType))
AND (LectName IN (@Lecturer)) (LectName IN (@Lecturer))
知道我哪里错了吗?
答案 0 :(得分:1)
这里的问题是,在您的讲师查询中,您正在使用" in"声明,但是您传递了一串不存在的值(您可能正在加入参数的值)。一种选择是使用Split函数将所有课程类型传递给它。这可以在查询中完成,也可以作为DataSet过滤器完成。如果你搜索它,有几个帖子,但这至少应该指向正确的方向。