Bericht mit Leerzeilen am Ende

23/03/2010 - 14:30 von Michael König | Report spam
Hallo NG,

in einer A2k-Anwendung habe ich einen Bericht mit einer Abfrage als
Datenquelle, die u.a. ein Feld [KalDatum] vom Typ Datum/Zeit enthàlt. In
einem Dialog-Formular kann man das Datum eingrenzen mit Start- und
Enddatum, anschließend wird der Bericht aufgerufen mit

DoCmd.OpenReport "repKalender", bytOpenMode
Reports("repKalender").Filter = strWhere
Reports("repKalender").FilterOn = True

Dabei kann bytOpenMode entweder acViewPreview oder acViewNormal sein und
strWhere z.B. "[KalDatum] Between #01.09.2009# And #30.09.2009#"
enthalten. Ferner soll in dem Bericht die letzte Seite mit Leerzeilen
aufgefüllt werden. Hierzu ist es erforderlich, die tatsàchliche Anzahl
der ausgewàhlten Datensàtze zu kennen. Deshalb steht im Open-Ereignis
des Berichts

lngTotalRecordCount = DCount("*", Me.RecordSource, Me.Filter)

Nun das Problem: In der Voransicht klappt die Ausgabe perfekt
einschließlich der Leerzeilen am Ende (den Code hierzu habe ich mal
weggelassen), jedoch wenn ich den Bericht gleich ausdrucken lassen
möchte, wird die gesamte Recordsource ausgegeben, also nicht nur die
gefilterten Datensàtze.

Auch die Alternative

DoCmd.OpenReport "repKalender", bytOpenMode, , strWhere

liefert nicht das gewünschte Ergebnis, da jetzt im Open-Ereignis die
Anzahl der Datensàtze nicht mehr durch Me.Filter abgefragt werden kann
und auch keine Leerzeilen mehr ausgegeben werden.
Wie kann ich auch beim direkten Ausdruck erreichen, dass nur die
gefilterten Datensàtze ausgedruckt werden?
Oder gibt es eine andere Möglichkeit, die Anzahl der betroffenen
Datensàtze im Open-Ereignis zu bestimmen?

Gruß Michael
 

Lesen sie die antworten

#1 Stefan Dase
23/03/2010 - 15:18 | Warnen spam
Hallo Michael!

DoCmd.OpenReport "repKalender", bytOpenMode, , strWhere

liefert nicht das gewünschte Ergebnis, da jetzt im Open-Ereignis die
Anzahl der Datensàtze nicht mehr durch Me.Filter abgefragt werden kann
(...)



Das stimmt so nicht. Wenn du den Filter als Parameter beim OpenReport
angibst, hast du im Bericht sehr wohl einen Zugriff auf Me.Filter!

Wo fragst du diese Eigenschaft denn ab? Im Report_Open() steht der
Filter noch nicht fest, den bekommst du erst in den Format-Ereignissen o.à.

Viele Grüße aus Bremen,
Stefan

Ähnliche fragen