Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Anzahl der Ausdrucke festlegen

Begonnen von tismo, März 31, 2012, 18:47:17

⏪ vorheriges - nächstes ⏩

tismo

Hallo zusammen,

wie kann ich über ein ungebundenes Textfeld die Anzahl der Ausdrucke steuern? ???

Bsp.
Ich habe ca. 30 Berichte die teilweise einmal, teilweise mehrmals, teilweise garnicht ausgedruckt werden sollen.
Ich würde gerne über ein ungebundenes Textfeld die Anzahl der Ausdrucke angeben, sodass anschließend über ein Button alle angegebene Berichte nacheineander ausgedruckt werden.

Ich bitte um Hilfe.




MzKlMu

Hallo,
ZitatIch würde gerne über ein ungebundenes Textfeld die Anzahl der Ausdrucke angeben,
das kann ja dann mit einem Textfeld nicht gehen.
Ist das für jeden Bericht immer gleich, oder wird das jedesmal bei einem Ausdruck neu festgelegt?
Gruß Klaus

tismo

Im Prinzip ist das egal.
Wenn es nicht anders geht würde ich auch über ein gebundenes Textgfeld die Anzahl eingeben.

Stapi

Hallo

Über die  Funktion Printer (F1 Hilfe mehr Informationen) ist es möglich die Anzahl deiner Ausdrucke an zu geben
Beispiel:

DoCmd.Echo false
DoCmd.OpenReport stDocBericht
Reports(stDocBericht).Printer.ColorMode = acPRCMMonochrome  <<< Farb Umstellung
Reports(stDocBericht).Printer.Copies= Me.DeinTextFeld <<<<< Anzahl der Kopien
RunCommand acCmdSave
DoCmd.Close acReport, stDocBericht,acSaveYes
DoCmd.Echo True
Grüße aus dem schönen NRW
Stefan

tismo

funktioniert irgend wie nicht.

Wahrscheinlich setze ich den Bericht (Kosten Ausdruck) und das Textfeld (Anzahl Ausdruck) falsch ein ...

Stapi

Hallo Tismo

Mein Fehler beim kopieren, sorry
DoCmd.Echo false
DoCmd.OpenReport stDocBericht, acViewDesign
Reports(stDocBericht).Printer.ColorMode = acPRCMMonochrome
Reports(stDocBericht).Printer.Copies= Me.DeinTextFeld <<<<< Anzahl der Kopien
RunCommand acCmdSave
DoCmd.Close acReport, stDocBericht,acSaveYes
DoCmd.Echo True
DoCmd.Openreport stDocBericht
Grüße aus dem schönen NRW
Stefan

Beaker s.a.

Hallo Tismo,
Zitatfunktioniert irgend wie nicht.
Schaust Du hier:
http://support.microsoft.com/kb/2627824/en-us?sd=rss&spid=11265
hth
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Stapi

Hallo Tismo

Entscheident ist das der Bericht in der Entwurfsansicht geöffnet wird
ZitatDoCmd.OpenReport stDocBericht, acViewDesign
das geschieht in dieser Zeile. dann finden die Änderungen statt wie z.b Anzahl Copies. Nun muss der Bericht gespeichert werden das geschieht mit der Zeile
ZitatRunCommand acCmdSave
im Anschluss wird der bericht geschlossen. Durch das erneuten öffen wird nun der Bericht mit deinen Änderungen gedruckt wird.
Grüße aus dem schönen NRW
Stefan

MzKlMu

Hallo,
ich würde mir für die Berichte eine extra Tabelle anlegen, mit dem Objektnamen, einer detailierten Beschreibung zum Bericht und einem Feld für die Anzahl der Ausdrucke.
Dann ein Formular erstellen mit dieser Tabelle, Anzahl eintragen und dann einfach durch die Datensätze laufen. In einer Schleife mit der Druckanzahl den Ausdruck einfach mehrfach wiederholen. Mit 0 als Anzahl wird auch nicht gedruckt.

Ich halte das für die einfachste Lösung, es muss keine Entwurf gespeichert werden und ist auch für unerfahrene User sehr einfach zu bedienen.
Gruß Klaus

Stapi

Hallo

Das war der Anfangsbeitrag
Zitatwie kann ich über ein ungebundenes Textfeld die Anzahl der Ausdrucke steuern?
ZitatIch habe ca. 30 Berichte die teilweise einmal, teilweise mehrmals, teilweise garnicht ausgedruckt werden sollen.
Ich würde gerne über ein ungebundenes Textfeld die Anzahl der Ausdrucke angeben, sodass anschließend über ein Button alle angegebene Berichte nacheineander ausgedruckt werden
Mein Vorschlag
ZitatDoCmd.Echo false
DoCmd.OpenReport stDocBericht, acViewDesign
Reports(stDocBericht).Printer.ColorMode = acPRCMMonochrome
Reports(stDocBericht).Printer.Copies= Me.DeinTextFeld <<<<< Anzahl der Kopien
RunCommand acCmdSave
DoCmd.Close acReport, stDocBericht,acSaveYes
DoCmd.Echo True
DoCmd.Openreport stDocBericht
Da das ein Auszug aus einem Klick Ereignis ist öffnet weder ein User ein Bericht in der Entwurfsansicht und muss ihn auch im Anschluss nicht speichern das geschieht Automatisch. Mein Ziel war es dem @Tismo zu erklären, was welche Zeile in dem Code auslöst.
@MzKiMu dein Lösungsvorschlag zeigt natürlich auch einen Weg auf, das Problem zu lösen
Grüße aus dem schönen NRW
Stefan

Beaker s.a.

Hallo,
Und wenn man auf dem von MzKlMu vorgeschlagenem Form
die Berichte in einem, auf erweiterte Mehrfachauswahl eingestellten
Listfeld darstellt, kann man auch nur ganz bestimmte Berichte
ausdrucken.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

#11
Hallo,
@ekkehard
ein Listenfeld scheint mir da nicht so geeigent, er will ja bei jedem Bericht auch unterschiedliche Anzahlen einstellen. Ein gebundenes Endlosformular mit einem Feld für die jeweilige Anzahl halte ich da für geeigneter. Und bei Anzahl 0 würde auch nicht gedruckt.

@Tismo
Die Namen der Berichte (wie diese zum Drucken gebraucht werden) kann man sich ganz leicht aus der Systemtabelle holen:
SELECT Id, Name, Type
FROM MSysObjects
WHERE Type=-32764

Mit einer weiteren Tabelle mit einer ID als Fremdschlüssel und eine 1:1 Beziehung zu obiger Abfrage kann man ganz leicht zu jedem Bericht die Anzahl der Ausdrucke festlegen.
Gruß Klaus

Beaker s.a.

Hallo MzKlMu,
Hast Du recht; - ich hatte dies
ZitatDann ein Formular erstellen mit dieser Tabelle, Anzahl eintragen
so interpretiert, dass die Anzahl in der Tabelle eingegeben wird.
Was natürlich Quatsch ist solange man eine variable Anzahl pro Ausdruck,
nicht pro Bericht braucht.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)