Veröffentlicht 20. April 200421 j Hi, Leute! Problem: Access versteht nicht den Vergleich im WHERE-Abschnitt folgender Recordset-Zuweisung: Function XYZ(strAufgabe As String, datErfassungsDatum As Date) As String Dim recAufgKennzi As DAO.Recordset Set recAufgKennzi = CurrentDb().OpenRecordset("" & _ "SELECT " & _ "id_x_Aufgabe, " & _ "x_Datum_Von, " & _ "x_Datum_Bis, " & _ "x_Kennziffer " & _ "FROM " & _ "tbl_Aufgaben_Kennziffern_Zeitraum " & _ "WHERE " & _ "id_x_Aufgabe='" & strAufgabe & "' " & _ "AND x_Datum_Von<=#" & datErfassungsDatum & "# " & _ "AND " & _ "(x_Datum_Bis>=#" & datErfassungsDatum & "# " & _ "OR x_Datum_Bis Is Null)" & _ ";") ... End Function Es kommt dann die Fehlermeldung: "Fehler in Datum in Abfrageausdruck...". Und dort erscheint im zusammengesetzten Ausschnitt des WHERE-Abschnitts das korrekte Datum. (Am unlogischen Datumsaufbau "Monat, Tag, Jahr" liegt es nicht. Derentsprechende Verweis auf die "dao360.dll" ist gelegt. Und mit einem festen Datum funktioniert die Abfrage auch.) (Ich versuche gleich, das Datum als Text zu formatieren in der Form "20/04/2004". Vielleicht hilft das!?)
20. April 200421 j Autor Hi, Leute! Ich habe mir eine kleine Funktion gestrickt, die mir ein Datum in SQL-taugliche Schreibweise umformt: Function fktSqlDatum(datDatum As Date) As String fktSqlDatum = Format(Day(datDatum), "00") & "/" & Format(Month(datDatum), "00") & "/" & Format(Year(datDatum), "0000") End Function Es ist vielleicht nicht die eleganteste Lösung, funktioniert aber. Innerhalb meines SQL-Ausdrucks schicke ich das Datum durch diese funktion und setzte dadurch einen tauglichen Text ein. Danke und kann zu!
20. April 200421 j Oder in der Art: "SELECT ... WHERE (DATUM = #" & Format(myDate, "mm\/dd\/yyyy hh:mm:ss") + "#)"
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.