Ms Access 查询:根据星期几过滤日期字段

查克0185

我有一个包含日期字段的 SELECT 查询。我只需要根据查询运行的一周中的哪一天选择某些日期。如果查询运行的日期是星期一,那么我需要日期字段等于星期五、星期六或星期日的日期。如果查询在其他任何一天运行,那么我需要它的日期字段等于前几天的日期。下面是在我为日期合并任何 WHERE 子句之前的查询。不确定这是否可以仅使用 SQL 来完成,或者我是否需要合并任何 vba。先感谢您!

SELECT qryCourses.[App ID] AS Application, "Course" AS [Revision Type], qryRevisionLogCourseLevel.Category AS Category, qryRevisionLogCourseLevel.[Revision Date] AS [Revision Date], qryRevisionLogCourseLevel.[File Name] AS [Asset/Course/Track Title], qryRevisionLogCourseLevel.[File Name] AS [Used In], qryRevisionLogCourseLevel.[Revision Notes] AS [Revision Notes], qryRevisionLogCourseLevel.[Revised By] AS [Revised By], qryRevisionLogCourseLevel.Impact AS Impact, qryRevisionLogCourseLevel.[Communication Method] AS [Communication Method], qryRevisionLogCourseLevel.[Communication Date] AS [Communication Date], qryRevisionLogCourseLevel.[CR Number] AS [CR Number] FROM qryRevisionLogCourseLevel INNER JOIN qryCourses ON qryRevisionLogCourseLevel.[Course ID] = qryCourses.[Course ID] WHERE qryCourses.[App ID] <> "AAAA"

UNION ALL SELECT qryTracks.App AS Application, "Track" AS [Revision Type], qryRevisionLogTrackLevel.Category, qryRevisionLogTrackLevel.[Revision Date], qryTracks.[Track Name] AS [Asset/Course/Track Title], qryTracks.[Track Name] AS [Used In], qryRevisionLogTrackLevel.[Revision Notes], qryRevisionLogTrackLevel.[Revised By], qryRevisionLogTrackLevel.Impact, qryRevisionLogTrackLevel.[Communication Method], qryRevisionLogTrackLevel.[Communication Date], qryRevisionLogTrackLevel.[CR Number] FROM qryRevisionLogTrackLevel INNER JOIN qryTracks ON qryRevisionLogTrackLevel.[Track ID] = qryTracks.[Track ID] WHERE qryTracks.[App] <> "AAAA"

UNION ALL SELECT qryCMRevLogConcatCourseName.App AS Application, qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.RevType AS [Revision Type], qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.Category AS Category, qryCMRevLogConcatCourseName.[Revision Date] AS [Revision Date], qryCMRevLogConcatCourseName.[Deliverable Title] AS [Asset/Course/Track Title], qryCMRevLogConcatCourseName.[Used In] AS [Used In], qryCMRevLogConcatCourseName.[Revision Notes] AS [Revision Notes], qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.[Revised By] AS [Revised By], qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.Impact AS Impact, qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.[Communication Method] AS [Communication Method], qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.[Communication Date] AS [Communication Date], qryCMRevLogConcatCourseName.qryCMRevLogMaterialLevel.[CR Number] AS [CR Number] FROM qryCMRevLogConcatCourseName WHERE qryCMRevLogConcatCourseName.App <>"AAAA" ORDER BY Application, [Revision Type];
古斯塔夫

您可以使用此标准:

Where 
    [Revision Date] Between 
        DateAdd("d", IIf(Weekday(Date()) = 2, -3, -1), Date()) And 
        DateAdd("d", -1, Date())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章