title image


Smiley Re: Berichte: Ausgabe von nur einer bestimmten Anzahl an Datensätzen
Hallo, Klaus,



der Newsbrief von smarttolls hat das Problem neulich behandelt und geschrieben:



Access selbst stellt keine Funktion bereit, über die Sie beispielsweise vorgeben können, dass nur drei oder fünf Datensätze pro Berichtsseite ausgegeben werden sollen.

Abhilfe schaffen Sie mit dem wenig genutzten "Seitenwechsel"- bzw. "Seitenumbruch"-Steuerelement. In Kombination mit einem kleinen Makro und einem zusätzlichen Textfeld lässt sich dieses Steuerelemente zur Lösung dieser Aufgabe einsetzen. Wird ein solches Steuerelement im Bericht vorgefunden, veranlasst Access den Abschluss der Seite, schickt einen Seitenvorschub an den Drucker und fährt auf der nächsten Seite fort. Um diese Lösung in Ihre Berichte einzubauen, gehen Sie wie folgt vor:

1. Öffnen Sie zunächst den Bericht im Entwurfsmodus, in dem Sie die Anzahl Datensätze pro Berichtsseite steuern möchten.



Durch ein zusätzliches Zähler-Steuerelement steuern Sie die Anzahl der Datensätze pro Berichtseite

2. Im Detailbereich legen Sie an beliebiger Stelle ein ungebundenes Textfeld mit dem Namen "DSZaehler" an und löschen dessen Bezeichnungsfeld. Stellen Sie dann die folgenden, vom Standard abweichenden Eigenschaften für das Textfeld ein:

Steuerelementeinhalt: =1

Sichtbar: Nein

Laufende Summe: Über Alles

3. Setzen Sie unten links am Rand des Detailbereichs ein Seitenwechsel-Steuerelement mit dem Namen "SW". Access zeigt dieses Steuerelement in Form von fünf kleinen Punkten an.

4. Wechseln Sie nun in das Datenbankfenster, dann in den Bereich "Makros" und klicken Sie auf die Schaltfläche Neu.

5. Stellen Sie in der ersten Zeile die Aktion "SetzenWert" ein. Im Parameterfeld "Feld:" geben Sie "[SW].[Sichtbar]" und im Eingabefeld "Ausdruck" die Formel "Wenn([DSZaehler] Mod 3 = 0; "True"; "False")" ein.

6. Sichern Sie das Makro unter dem Namen "SW steuern", verlassen Sie den Makroentwurf und kehren Sie zum Berichtsentwurf zurück.

7. Abschließend ordnen Sie im Bericht der Eigenschaft "Beim Formatieren" des Detailbereichs das Makro "SW steuern" zu, indem Sie auf den grauen Balken "Detailbereich" klicken und das Menü Ansicht-Eigenschaften anwählen. Im daraufhin angezeigten Eigenschaftenfenster klicken Sie auf den kleinen schwarzen Pfeil hinter der Eigenschaft "Beim Formatieren" und stellen "SW steuern" ein.

Wenn Sie jetzt den Bericht in der Seitenansicht anzeigen oder ihn ausdrucken lassen, werden jeweils nur drei Datensätze pro Seite ausgegeben. Möchten Sie mehr/weniger als drei Datensätze ausgegeben haben, ändern Sie den Ausdruck "Mod 3 = 0" im Makro auf zum Beispiel "Mod 12 = 0". Dadurch werden dann 12 Datensätze pro Seite ausgegeben.

Das Makro macht sich den Umstand zunutze, dass Access einen Seitenwechsel nur dann berücksichtigt, wenn das Steuerelement sichtbar ist. Die Abfrage "[DSZaehler] Mod 3=0" (Rest der aktuellen Datensatznummer geteilt durch "3" ergibt "0") sorgt dafür, dass das Steuerelement immer dann sichtbar ist und somit ein Seitenwechsel ausgeführt wird, wenn die aktuelle Datensatznummer 3, 6, 9, 12 etc. ist. In dem Fall verwendet "SetzenWert" den ersten Ausdruck der Wenn-Abfrage (True), andernfalls den zweiten (False) und schaltet so das Seitenumbruch-Steuerelement je nach Bedarf ein oder aus. Das Textfeld "DSZaehler" beinhaltet die aktuelle Datensatznummer übrigens automatisch, weil wir dort "Laufende Summe" eingeschaltet haben und der Wert somit bei jedem Datensatz um "1" hochgezählt wird.

Nun werden Sie vermutlich verschiedene Berichte einsetzen, in denen jeweils eine unterschiedliche Anzahl von Datensätzen pro Berichtsseite ausgegeben werden sollen. Anstatt in diesem Fall drei oder mehr einzelne "SW steuern"-Makros einzusetzen, erweitern Sie das vorhandene Makro einfach wie folgt:

1. Öffnen Sie das Makro "SW steuern" im Entwurfsmodus und wählen Sie das Menü Ansicht-Makronamen an.

2. Kopieren Sie die vorhandene Zeile "SetzenWert" zum Beispiel zweimal unter die erste Zeile, so dass nun drei Zeilen "SetzenWert" vorhanden sind.

3. Geben Sie als Makronamen "3", "5" und "12" ein.

4. Ändern Sie in den Makros "5" und "12" die Formel auf "MOD 5 = 0" beziehungsweise "MOD 12 = 0".

5. Sichern Sie das Makro und verlassen Sie den Makroentwurf.

6. Im jeweiligen Bericht in der Eigenschaft "Beim Formatieren" des Detailbereichs stellen Sie nun je nach Anzahl auszugebender Datensätze das Makro "SW steuern.3", "SW steuern.5" oder "SW steuern.12" ein.



Hab's zwar noch nicht ausprobiert, aber vielleicht kannst Du das gebrauchen.



Grüsse von tutulla



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: