簡體   English   中英

女士訪問查詢:過濾日期字段,具體取決於星期幾

[英]Ms Access Query: Filter Date Field Depending on Today's Day of the Week

我有一個包含日期字段的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())
Select Case Weekday(Now)
      Case is = 2
            vbSql = "SELECT THIS FROM TBL WHERE Date>=#" & DateAdd("d", -3, NOW()) & "# AND Date<=#" & DateAdd("d", -1, NOW()) & "#;"
      Case else
           vbSql = "SELECT THIS FROM TBL WHERE Date=#" & DateAdd("d", -1, NOW()) & "#;"
End Select
DoCmd.RunSql vbSql

編輯以幫助您使用語法而不是偽代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM