Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Kalenderwoche per VBA/SQL abfragen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Der Anwender gibt in einem Feld im Access-Formular eine Kalenderwoche ein. Anschließend möchte ich alle Datensätze einer Tabelle "Protokolle", in denen ein Datum "LetztePrüfung" dieser Kalenderwoche entspricht, in ein Recordset einlesen. Die Steuerung per Schaltfläche und den Umgang mit Recordsets beherrsche ich, aber wie genau muss die SQL-Abfrage für die Initialisierung des Recordsets aussehen?

Diverse Anfragen

ANTWORT Für die Selektion der Datensätze zu einer bestimmten Kalenderwoche verwenden Sie folgende SQL-Abfrage:

strSQL = _
  "SELECT * FROM Protokolle " & _
  "WHERE DatePart("ww",CDate([LetztePrüfung]),2,2) = " & _
         Me.txtWoche & _
  "ORDER BY [ID] Asc"

Das Kriterium (Where-Klausel) arbeitet wie folgt: Mit der Funktion "DatePart()" wird zunächst die Kalenderwoche zum Inhalt des Feldes "LetztePrüfung" ermittelt. Die Parameter "2,2" legen fest, dass dabei der Montag als Start der Woche und die erste Woche des Jahres mit vier Tagen als erste Kalenderwoche zugrunde gelegt werden. Das Ergebnis vergleichen wir dann mit dem Inhalt des Formularfeldes "txtWoche". Nur bei Übereinstimmung wird dadurch der jeweilige Datensatz selektiert.