jensgebken
Goto Top

Access query Frage bzgl. Datum

Hallo Gemeinschaft,

habe folgendes Problem - ich benötige in einer query immer das Datum vom nächsten Samstag

strSQL = "SELECT * FROM Kurtaxe where Kd_anreise = DateValue('5/8/2023')"  

könnt ihr mir das helfen

Content-ID: 8048189727

Url: https://administrator.de/forum/access-query-frage-bzgl-datum-8048189727.html

Ausgedruckt am: 15.01.2025 um 09:01 Uhr

Snuffchen
Snuffchen 04.08.2023 um 15:38:30 Uhr
Goto Top
So sollte das funktionieren, das sah nach VBA in Microsoft Access aus oder?

SELECT * 
FROM Kurtaxe 
WHERE Kd_anreise = (
    SELECT 
        IIf(DatePart("w", Date()) <= 5,   
            DateAdd("d", 6 - DatePart("w", Date()), Date()),   
            DateAdd("d", 6 - DatePart("w", Date()) + 7, Date())  
        )
);
Lochkartenstanzer
Lochkartenstanzer 04.08.2023 um 15:40:20 Uhr
Goto Top
Moin,

Weil Freitag ist:

Access desktop database reference

lks
mbehrens
mbehrens 04.08.2023 um 15:45:44 Uhr
Goto Top
Zitat von @jensgebken:

habe folgendes Problem - ich benötige in einer query immer das Datum vom nächsten Samstag

Als Grundlage mal mit einem vernünftigen Backend:

SELECT
        GETDATE() AS [Now],
	DATEADD(DAY, DATEDIFF(DAY, -1, GETDATE()) / 7 * 7, -1) AS [Last sunday]
jensgebken
jensgebken 04.08.2023 um 15:46:19 Uhr
Goto Top
@Snuffchen - wie würde das nur in vba aussehen
Snuffchen
Snuffchen 04.08.2023 um 15:50:05 Uhr
Goto Top
Du musst doch nur dein strSQL = "xxx" drumherum machen, der SQL-Befehl bleibt ja der gleiche
Snuffchen
Snuffchen 04.08.2023 um 15:51:54 Uhr
Goto Top
Oder hier nochmal als VBA Funktion mit DAO:

Sub ExecuteQuery()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSql As String
    Dim nextSaturday As Date

    ' Berechnung des nächsten Samstags  
    If DatePart("w", Date()) <= 5 Then  
        nextSaturday = DateAdd("d", 6 - DatePart("w", Date()), Date())  
    Else
        nextSaturday = DateAdd("d", 6 - DatePart("w", Date()) + 7, Date())  
    End If

    ' SQL-Abfrage  
    strSql = "SELECT * FROM Kurtaxe WHERE Kd_anreise = #" & Format(nextSaturday, "mm/dd/yyyy") & "#"  

    ' Datenbankverbindung öffnen  
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSql)

    ' Hier können Sie den Recordset 'rs' weiterverarbeiten  

    ' Schließen der Verbindungen  
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub
Trommel
Trommel 04.08.2023 um 16:13:44 Uhr
Goto Top
Unser täglich @jensgebken gib uns heute face-big-smile

Schönes WE.

Trommel
Lochkartenstanzer
Lochkartenstanzer 04.08.2023 um 16:16:24 Uhr
Goto Top
Zitat von @Trommel:

Unser täglich @jensgebken gib uns heute face-big-smile


Wenn er denn mal Reference Manuals lesen würde. Dafür sind die da.

lks