Bericht drucken mit aktuellem Datensatz

Hallo zusammen,

mit meiner Access-Datenbank habe ich folgendes Problem:
Ich möchte im Formular einen Button mit dem Befehl drucke mir den Bericht (Berichtsformular) mit der aktuellen Seite. Er öffnet aber regelmäßig den Bericht mit dem ersten Datensatz.
Oder könnte ich auch diesen aktuellen Datensatz automatisch als Bericht per Mail verschicken?

Danke schön im Voraus.

Viele Grüße
Michael

Hallo,

hier der Code hinter einem meiner Buttons:

Dim stDocName As String
Dim stKriterien As String

stKriterien = "EAKNr = " & Me![EAKNr]

stDocName = „Bericht_Entsorger“
DoCmd.OpenReport stDocName, acPreview, , stKriterien

Du siehst, das Filter wird über den vierten Parameter stKriterien als WHERE-Klausel (ohne das Wort „WHERE“) gesetzt. Schau mal in die Hilfe zu OpenReport.

Per Email versenden geht auch, habe ich nur noch nie gemacht. Also hoffen wir auf einen anderen Experten. :smile:

Ulrich

Hallo Ulrich,

zunächst vielen Dank für Deine Bemühungen! Leider habe ich nach zweistündiger Versuchsreihe keine Erfolge erzielt, da ich eher Anfänger bin. Was bedeutet:"EAKNr = " & Me![EAKNr]?
Ich habe jetzt ein Makro mit der Aktion ÖffnenBericht, Berichtsname Ausdruck, Ansicht Seitenansicht. Kann ich hier in Bedingung jetzt Deine Anweisungen einarbeiten?
Vielleicht kannst Du mir das nochmal genauer erkären?

Danke schön
Michael

Hallo,

ich mache das nicht mit Makros , sondern VBA (Visual Basic for Applications). Kann alles was Makros können und den Rest auch :wink:

stKriterien = "EAKNr = " & Me![EAKNr]

stKriterien ist eine Stringvariable (enthält Text), in die ich die WHERE-Klausel herein schreibe.

"EAKNr = " ist Klartext, im Bericht kommt das Feld EAKNr vor und im Bericht sollen nur die Datensätze (besser der eine Datensatz) vorkommen, die die Bedingung erfüllen.

& ist der Verkettungsoperator für Zeichenketten, verbindet in meiner Stringvariablen den Klartext mit

Me![EAKNr] Me ist eine Abkürzung für die Bezeichnung des Formulars, auf den sich der Button befindet. Außerdem muß sich das Feld EAKNr auch auf dem Formular befinden. (EAKNr ist bei mir ein Autowert, der den Datensatz eindeutig kennzeichnet.) Wenn im aktuellen Datensatz EAKNr z. B. 9 ist, steht in stKriterien dann drinnen „EAKNr = 9“ und mit diesem Filter wird dann der Bericht geöffnet.

Ich habe mal im meinen Makro-Editor geschaut (war ganz voll Staub), Access 97 übrigens, da kann man bei Öffnen Bericht unter „Bedingung“ mit Hilfe des Formeleditors wohl auch so einen Ausdruck konstruieren. Schau mal daherein und steig möglichst bald auf VBA um.

Ulrich

Hallo Ulrich, jetzt wird es sicher klappen.

Danke Dir!