PDA

Vollständige Version anzeigen : SQL geht nicht


Debus
12.10.2017, 13:26
Hallo, warum funktioniert der folgende SQL in einem Formular um ein Listenfeld zu befüllen, aber nicht beim Berichtsaufruf in der Wherecondition


SELECT tblZeiterfassung.[Datum1], tblZeiterfassung.Trainer, tblZeiterfassung.[VEP-NR], tblZeiterfassung.[Name der Agentur]
FROM tblZeiterfassung
WHERE (((tblZeiterfassung.BinObjekt) Is Null)) AND Trainer="Name" AND Datum1 >= 42736 ORDER BY tblZeiterfassung.[Datum1]


Danke

maikek
12.10.2017, 13:33
Ich seh keinen Formularaufruf.
maike

markusxy
12.10.2017, 13:38
Dafür sehe ich doppelte Hochkommas die nicht maskiert sind, wie soll das irgendwo funktioniert haben?

Debus
12.10.2017, 13:44
Hallo

hier der Aufruf

DoCmd.OpenReport stDocName, acPreview, , sqlWhere()



Hier der Aufbau der Wherecondition


Private Function sqlWhere()
Dim t As String, v As String


t = "((tblZeiterfassung.BinObjekt) Is Null)"


v = " AND "
If Len(Me.KOTrainer & "") > 0 Then
t = t & v & "Trainer=""" & Me.KOTrainer & """"
v = " AND "
End If

If Len(Me.von & "") > 0 And Len(Me.bis & "") > 0 Then
t = t & v & "Datum1 between " & Format(DateValue(Me.von), "0") & " AND " & Format(DateValue(Me.bis), "0")
v = " AND "
ElseIf Len(Me.von & "") > 0 Then
t = t & v & "Datum1 >= " & Format(DateValue(Me.von), "0")
v = " AND "
ElseIf Len(Me.bis & "") > 0 Then
t = t & v & "Datum1 <= " & Format(DateValue(Me.bis), "0")
v = " AND "
End If



t = t & " ORDER BY tblZeiterfassung.[Datum1]"




sqlWhere = t


End Function


Als Datensatzquelle ist im Bericht die Tabelle tblZeiterfassung angegeben.

Hilft das weiter?

maikek
12.10.2017, 13:56
So beim ersten Drübergucken würde ich sagen:

- das ORDER BY gehört nicht in eine Where-Condition
- die Datums müssen SQL-gerecht formatiert werden.

Lass dir per Debug.Print das Resultat ausgeben und teste es.
maike

JPA
12.10.2017, 14:00
ORDER BY darf nicht sein bei WHERE-übergabe

Debus
12.10.2017, 14:12
Hallo,

danke, das habe ich übersehen.

Schon nimmt man es raus und es läuft

Danke
nochmal

Holger