Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access 2007 Bericht Datum

Begonnen von mjLem, Oktober 07, 2012, 10:22:05

⏪ vorheriges - nächstes ⏩

mjLem

Hallo,

das Ganze betrifft Access 2007.

Über ein Formular öffne ich einen Bericht der als Grundlage(Daten) eine Abfrage besitzt. über 2 Textfelder übergebe ich Datumswerte: von/bis. Name der Texfelder txt_von und txt_bis.

Den Bericht öffne ich mit folgender Syntax:

DoCmd.OpenReport "ber_reklamtionen_offen", acViewPreview, , "datum >= " & txt_von.Value & " AND datum <= " & txt_bis.Value

Format der Textfelder ist Datum,kurz . Format Feld datum ist Datum/Uhrzeit

Ich erhalte jedesmal folgende Fehlermeldung:

Laufzeitfehler 3075: Syntaxfehler in Zahl in Abfrageausdruck '(datum > 24.09.2012 AND datum <= 30.09.2012' (woher die runde Klammer vor dem Feldnamen datum stammt weiß ich nicht)

Leider weiß ich nicht was an dem Ausdruck oben falsch ist. Habe auch schon die Variationen Cdate(txt_von.value)... und CStr(txt_von.value) probiert - erfolglos

Eine andere Bedingung über ein anderes Feld funktioniert problemlos:

DoCmd.OpenReport "ber_reklamtionen_offen", acViewPreview, , "lieferant = " & lst_firma.Value

Vorab Danke für' s reinschauen.

MzKlMu

Hallo,
versuche es mal so:
DoCmd.OpenReport "ber_reklamtionen_offen", acViewPreview, , "Int(datum) >= " & Int(Cdate(txt_von)) & " AND Int(datum) <= " & Int(Cdate(txt_bis))
Das Datum müste eigentlich nach ISO formatiert werden. Ich verwende aber gern als Vergleich einfach eine Zahl. Das Datum ist im Hintergruand auch ein Zahl (Double) und da nehme ich einfach mit Int den Datumsteil. Das CDate kann eventuell entfallen, bitte probieren.
Das Anzeigeformat spielt keine Rolle und .Value kann auch entfallen, da Standard.
Gruß Klaus

mjLem

Zuerst mal Danke für die schnelle Antwort.

Leider bleibt der Fehler dergleiche, nur das die Meldung dem um CInt und Cdate "verlängerten" Ausdruck entsprechen.

mjLem

Hi zusammen,

ich hab die Lösung im Internet gefunden:

Nochmals Danke für' s reinschauen.

Um die Ausdrücke übersichtlich zu halten aus txt_von/txt_bis Datum an Variable(String) übergeben und formartieren:

Dim v As String
v = Format(txt_von, "\#yyyy\-mm\-dd\#")
Dim b As String
b = Format(txt_bis, "\#yyyy\-mm\-dd\#")

danach den Bericht wie folgt aufrufen:

DoCmd.OpenReport "ber_reklamtionen_offen", acViewPreview, , " datum >=" & v & " AND datum <=" & b

Tipp kam von http://www.office-loesung.de/ftopic541356_0_0_asc.php
JMalberg / 10. Aug 2012, 11:21

MzKlMu

Hallo,
nur der Ordnung halber, CInt ist ja auch falsch und kann nicht verwendet werden, ich hatte Int (ohne das C). CInt führt zu einem Überlauf.
Gruß Klaus