Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Nummerierte Kopien eines Berichtes drucken

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Ihr Tipp zum Drucken von mehreren Kopien eines Berichtes hat mich an ein Problem erinnert, für das ich noch keine Lösung gefunden habe: Wir benötigen wie im Tipp beschrieben ebenfalls mehrere Kopien eines Berichtes aber dabei soll auf der ersten Kopie "Kopie 1", auf der 2. Kopie "Kopie 2" usw. (bis zu 5 Kopien) links oben stehen. Meine Versuche mit globalen Variablen haben nicht zum Erfolg geführt. Kennen Sie eine Möglichkeit, dieses Problem mit Access zu lösen?

Diverse Anfragen

ANTWORT Kopieren Sie zunächst folgende Deklaration und die Funktion "KopieNummer()" in ein vorhandenes oder in ein neues Modul:

Public lngKopieNummer As Long

Public Function KopieNummer() As String

  KopieNummer = "Kopie " & CStr(lngKopieNummer)

End Function

Für den Ausdruck verwenden Sie folgende Anweisungen:

Sub DruckMitKopienummer()
  Dim I&
  Dim strAnz As String

  Const cstrReport = "Katalog"

  strAnz = InputBox("Anzahl Kopien:")
  If strAnz = "" Then Exit Sub 'Abbrechen

  For I = 1 To Val(strAnz)
    lngKopieNummer = I
    DoCmd.OpenReport cstrReport, acNormal
  Next I

End Sub

Die Konstante "cstrReport" passen Sie gemäß dem Namen des auszudruckenden Berichtes an. Legen Sie dann im Bericht an passender Stelle ein ungebundenes Textfeld an, das Sie mit "txtKopieNummmer" benennen und für dessen Eigenschaft "Steuerelementeinhalt" Sie folgenden Ausdruck angeben:

=KopieNummer()

Speichern Sie die Änderungen und lassen Sie die Routine laufen. Sie erfragt zunächst die Anzahl der Kopien. In einer Schleife von "1" bis "Anzahl Kopien" wird dann die globale Variable "lngKopieNummer" auf den aktuellen Wert der Schleifenvariable "I" gesetzt, ist also "1", "2", "3" usw. Anschließend wird der Bericht ausgedruckt. Dabei ruft er automatisch die Funktion "KopieNummer()" auf, die dann einen Text wie "Kopie 1", "Kopie 2", Kopie 3" usw. für das Textfeld liefert.