3.4k Aufrufe
Gefragt in Datenbanken von
Hallo Supportnetler,

in meiner Datenbank wird nach dem Erfassen von neuen Rechnungen ein Bericht dieser neuen Datensätze erstellt (dann manuell gedurckt und verschickt).

Ist es möglich, diesen Bericht zweimal zu drucken, wobei beim zweiten Druck "Kopie" angezeigt wird? Oder muss ein zweiter Bericht erstellt werden, und der Druck beider Berichte erfolgt per Makro?

Danke euch für einen kleinen Tipp.

Lieben Gruß
Mona1980

8 Antworten

0 Punkte
Beantwortet von ralfb Experte (6.9k Punkte)
ohne nähere Infos zu Deiner "Datenbank" wird leider keine AW möglich sein...

mfg Ralf
0 Punkte
Beantwortet von
Hallo Ralf,

ok, hier ein paar Details:

In der Datenbank werden über ein Formular neu eingegangene Rechnungen erfasst. Dann wird von diesem Formular aus über einen Button ein Bericht aufgerufen, der ausgedruckt als Deckblatt zum Weiterleiten der Rechnungen dient. Erst nach dem Schließen des Berichtes erfolgt die Speicherung der neuen Datensätze.

Nun muss von jedem Schreiben für die Unterlagen eine Kopie angefertigt werden. Deshalb würde ich gerne diesen Bericht in zweifacher Ausführung drucken wollen, auf der zweiten Fassung steht "Kopie".

Hoffe, dass diese Informationen ausreichen.

Lieben Gruß
Mona1980
0 Punkte
Beantwortet von ralfb Experte (6.9k Punkte)
nö Mona... reicht nicht.

Ich meinte WELCHE Software genau, also eine selbstgestricke Lösung z.B mit Access oder Eccel? Oder eine gekaufte Software und wie heisst die ...usw.

Lg Ralf
0 Punkte
Beantwortet von
Hey Ralf,

das ist eine selbstgestrickte Lösung in Access 2007.

LG
Mona1980
0 Punkte
Beantwortet von ralfb Experte (6.9k Punkte)
siehste ...da kommen wir der Sache schon näher, ist aber nicht so mein Spezialthema ;)

Access baut sog. relationale Datenbanken zusammen ...das sind vereinfacht Daten in Tabellen sortiert , die widerum mit Indizes miteinander verknüpt sind. Dieses Tabellensystem kann dann in Form von programmierbaren Formularen (oder Sichten) abgefragt werden, wo dann auch Dein Druckbefehl versteckt ist ...und da fängt das Detailwissen um Abfragesprachen und Eigenarten von Access an, wo ich passen muss und auch keine Ahnung haben WILL ;))

Aber vieleicht kann Dich ja ein anderer netter SNler an Dein Ziel führen ...oder Du wendest Dich direkt an den Programmierer, der evtl. zügig Bescheid weiss wo die gewünschte Änderung vorzunehmen ist.

mfg Ralf
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Mona,

das ist kein großes Problem. Erstelle dir ein Modul mit einer Prozedur, Bsp.:

Public Sub print2(krit As String)

DoCmd.OpenReport "deinRechnungsbericht", acViewNormal, , krit, acDialog, "Original"
DoCmd.OpenReport "deinRechnungsbericht", acViewNormal, , krit, acDialog, "Kopie"

End Sub


Ich gehe davon aus, dass du den Report für eine bestimmte Rechnungsnummer aufrufen willst. Somit kannst du z.B. einen Button auf deinem Rechnungsformular bestücken, also mit dem Button_Click-Ereignis
print "Rechnungsnummer = " & me!rechnungsnummer
oder so ähnlich.
Im Bericht selbst liest du das angegebene Arument und wertest es entsprechend aus, Bsp:
Private Sub Report_Open(Cancel As Integer)

Dim argument As String

argument = Nz(Me.OpenArgs, "")
If argument = "Kopie" Then
Me!kopiefeld.Visible = True
Else
Me!kopiefeld.Visible = False
End If
End Sub

Das "kopiefeld" ist ein einfaches TextFeld mit der Zeichenkette "Kopie", nach belieben formatiert.

Probiere es aus. Geht das in die richtige Richtung?

Gruß
Ralf
0 Punkte
Beantwortet von
Hallo Ralf,

vielen Dank für deinen Tipp.

Das mit dem Modul erstellen werde ich bei meinen Accesskenntnissen hinbekommen. Den Button für die Erstellung des Berichtes mit den entsprechenden Anschreiben gibt es auch schon.

Aber wie genau meinst du das mit dem "Argument auswerten"? Ist dies ein weiteres Modul? Und das "Kopiefeld" erstelle ich dann im Berichtsentwurf, oder?

Herzlichen Dank für deine Hilfe.

Lieben Gruß
Mona1980
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hallo Mona,

mit "Argument auswerten" meine ich die "Open_Report"-Prozedur, die den Wert von me.Openargs auswertet und .visible entsprechend setzt. . Das Kopiefeld musst du im Bereichtsentwurf erstellen, kann jedes Objekt sein, z.B. auch ein Bild.

Gruß
Ralf
...