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?
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.
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?
ich mache das nicht mit Makros , sondern VBA (Visual Basic for Applications). Kann alles was Makros können und den Rest auch
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.