Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: mjLem am Oktober 07, 2012, 10:22:05

Titel: Access 2007 Bericht Datum
Beitrag von: mjLem am Oktober 07, 2012, 10:22:05
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.
Titel: Re: Access 2007 Bericht Datum
Beitrag von: MzKlMu am Oktober 07, 2012, 10:32:12
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.
Titel: Re: Access 2007 Bericht Datum
Beitrag von: mjLem am Oktober 07, 2012, 11:56:07
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.
Titel: Lösung gefunden: Access 2007 Bericht Datum
Beitrag von: mjLem am Oktober 07, 2012, 12:22:19
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
Titel: Re: Access 2007 Bericht Datum
Beitrag von: MzKlMu am Oktober 07, 2012, 19:35:09
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.