Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datumsübergabe an SQL - Kein Ergebnis

Begonnen von Mokkie, Dezember 15, 2025, 08:54:26

⏪ vorheriges - nächstes ⏩

Mokkie

Hallo, 

ich habe ein Listenfeld, dieser Liste liegt eine Abfrage zugrunde,  ich möchte nun noch einen Filterfuktio einbauen. Hier kann ich den Fehler nicht finden. Es wird kein Ergebnis angezeigt. Leider bkommet man bei den Listenfeldern ja auch kein fehler angezeigt.
Das ganze Funktioniert aber wenn ich das Datuem 'hart Eintrage' im SQL.
Hat jemand eine Idee?
Dim VonDatum As String
    Dim BisDatum As String
   
    VonDatum = Format(Me.txtDateVon, "dd/mm/yyyy")
    BisDatum = Format(Me.txtDatebis, "dd/mm/yyyy")

    Me.lstProvisionen.RowSource = " SELECT Count(ZV.ZV_TURNOVER) AS Anzahl_Trx, TERMINAL.TERMINAL_TID AS TerminalNo, PROVISION.PROVISION_FIX AS Fix, PROVISION.PROVISION_PT AS ProTrx, " _
                                & " ROUND(Count([ZV_TURNOVER])*[PROVISION].[PROVISION_PT]+[PROVISION].[PROVISION_FIX],2) AS Provisionsergebnis, ZV.ZV_DATE" _
                                & " FROM RESELLER INNER JOIN ((ZV INNER JOIN TERMINAL ON ZV.TERMINAL_ID = TERMINAL.TERMINAL_ID) INNER JOIN PROVISION ON TERMINAL.TERMINAL_ID = PROVISION.TERMINAL_ID) ON RESELLER.RESELLER_ID = PROVISION.RESELLER_ID" _
                                & " GROUP BY TERMINAL.TERMINAL_TID, PROVISION.PROVISION_FIX, PROVISION.PROVISION_PT, ZV.ZV_DATE, Left([TERMINAL_TID],3), ZV.TERMINAL_ID " _
                                & " HAVING ZV.ZV_DATE Between '" & VonDatum & "' and  '" & BisDatum & "'  and Left([TERMINAL_TID],3)<>999 And Left([TERMINAL_TID],3)<>998 " _
                                & " ORDER BY ZV.ZV_DATE;"


Doming

Moin Mokkie,

Du musst Dein VonDatum und BisDatum in eine SQL-kompatible Schreibweise umwandeln, also
SQLDatum1 =Format(VonDatum, "\#mm\/dd\/yyyy\#")oder Du baust Dir eine Funktion wie diese, welche Du Dir in ein Modul schreibst:
Public Function fncDatSQL(vardatum As Date) As String
    On Error GoTo Fehler:
    If IsDate(vardatum) Then
      fncDatSQL = Format(vardatum, "\#mm\/dd\/yyyy\#")
    End If
Ende:
    Exit Function
Fehler:
    MsgBox Err.Description
    Resume Ende
End Function

Dann könntest Du Deine Abfrage so aufbauen
& " HAVING ZV.ZV_DATE Between " & fncDatSQL(VonDatum) & " and " & fncdatSQL(BisDatum) & " and Left([TERMINAL_TID],3)<>999 And Left([TERMINAL_TID],3)<>998 " _
                                & " ORDER BY ZV.ZV_DATE;"

Gruß
Doming

Mokkie

#2
Hallo Doming,

ja, das wars, ich weiß auch nicht warum ich da immer wieder drüber stoplere.

Danke  :)