Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: ernie55 am Mai 06, 2011, 22:25:31

Titel: Printersteuerung, Schachtauswahl
Beitrag von: ernie55 am Mai 06, 2011, 22:25:31
Grüezi mitenand

Mein Programm verwendet 3 verschiedene Berichte und 3 verschiedene Papiesorten mit verschiedenen Formaten (A4/A5)

Ich arbeite mit zwei Zweischachtdruckern (neuer Brother und uralt Minolta Dialta)
Jeden Zweischachtdruncker habe ich in Windows je als 2 separate Drucker definiert (einmal mit oberem und einmal mit unterem Schacht)

Mein Windows Standarddrucker ist der Original Adobe pdf "Drucker"

Acc 2007
Win XP

Verhalten der Drucker:
Die 2 physisch vorhandenen Drucker lassen sich mittels untenstehendem Code zuverlässig auswählen.
Egal welchen Drucker ich mit oberem oder dem unteren Schacht ansteuere, er druckt fast imeistens aus dem falschen Schacht. (kaum reproduzierbar)

Meine entscheidenen Codezeilen:
Private Sub AusDrucken(BerichtName$, WhereCode$)
    Dim Drucker$, AlterDrucker$

'Holt in einem Externen Sub den, dem Bericht zugeordneten Drucker
    Drucker = DruckerWählen(BerichtName)

' Alten Standard Access Drucker sichern
    AlterDrucker = Application.Printer.DeviceName

' Neuen Standarddrucker setzen   
    Application.Printer = Application.Printers(Drucker)

'Auf Standarddrucker ausdrucken
    DoCmd.OpenReport BerichtName, , , WhereCode

'Wieder Original Standarddrucker zurücksetzen   
    Set Application.Printer = Application.Printers(AlterDrucker)

   
    Exit Sub


Wer kann mir sagen wie ich die Drucker dazu bringe jeweils aus dem in Windows-Druckernamen festgelegten Schacht zu drucken


Schöne Grüsse aus dem sonnigen Appenzelllerland

Ernst
Titel: Re: Printersteuerung, Schachtauswahl
Beitrag von: edgar.basler am Mai 07, 2011, 10:57:13
Ich habe eine Beschreibung für diese Problem gefunden. Vielleicht hilft diese:

http://www.ms-office-forum.net/forum/showthread.php?t=64462
Titel: Re: Printersteuerung, Schachtauswahl
Beitrag von: ernie55 am Mai 07, 2011, 14:02:55
Grüezi

FMS beschreibt im Grunde genommen mein Problem.


ZitatGünther Kramer sagt:
Es gibt aber eine andere Lösung!
Leg für jeden Schacht einen eigenen Druckertreiber im System an. Im Druckertreiber legst Du den Standardausgabeschacht fest.
Dies ist  genau der Weg den ich ihn bereits erfolglos versucht habe.

http://www.access-paradies.de -> Software-Katalog -> AP-Druck-Manager 
Der Link existiert so nicht.
Ich nehme an Du meintest:
http://www.access-paradies.de/tools/ap_druck_manager.php

Die Antworten dort bringen mich auch nicht viel weiter, Standarddrucker auslesen und neu setzen mache ich mit meinem Code schon in ähnlicher Weise.


Trotzdem herzlichen Dank für Deine Bemühungen


Titel: Re: Printersteuerung, Schachtauswahl
Beitrag von: DF6GL am Mai 07, 2011, 16:46:18
Hallo,

überprüfe, ob im Berichtsentwurf unter "Seite einrichten" der Haken bei "Standarddrucker" (noch) gesetzt ist.
Titel: Re: Printersteuerung, Schachtauswahl (Es wird bald unheimlich)
Beitrag von: ernie55 am Mai 07, 2011, 22:29:37
Grüezi mitenand

Codeausschnitt mit Beobachtungen:

' Drucker ist eine Stringvariable mit dem gewünschten Drucker

   
    ' Beobachtung A
    Stop
   
        AlterDrucker = Application.Printer.DeviceName
       
        Application.Printer = Application.Printers(Drucker)

    ' Beobachtung B
    Stop
   
        DoCmd.OpenReport BerichtName, , , WhereCode
       
    ' Beobachtung C
    Stop

    Set Application.Printer = Application.Printers(AlterDrucker)

    ' Beobachtung D
    Stop
   
    Exit Sub


Beobachtungen: (Wenn ich den Bericht in der Entwurfsansicht öffne und Seite einrichte wähle)

Bei Beobachtung A

Standarddrucker: ja

Grösse : A4
Im Dropdownfeld ist die Auflistung der Formate des Windows Standarddruckers abgelegt.

Quelle: Automatisch wählen
Soweit ich beurteilen kann alles richtig.


Beobachtung B

Spezieller Drucker: ja  (es wird der  gewünschte Drucker angezeigt)
Es kann aber auch mal der Standarddrucker angezeigt werden. Wobei die Auflistungen in der Dropdownfeldern Grösse und Quelle immer die Werte des gewünschten Druckers zeigen.

Grösse: A4 (richtig)
Im Dropdownfeld ist die Auflistung der Formate des gewünschten Druckers abgelegt.

Quelle:
Es wir immer Auto angezeigt (es sollte aber der Schacht gezeigt werden so wie er im Treiber des Druckers festgelegt ist)

Wenn Spezieller Drucker: angezeigt wird so wird der richtige Drucker angezeigt.



Beobachtung C

der Ausdruck  geht immer an den richtigen Drucker aber meistens aus dem falschen Schacht

Wenn ich jetzt den Report in der Entwurfsansicht öffne und bei Seite Einrichten schaue sehe  etwas GANZ MERKWÜRDIGES:

Standarddrucker: ja

Grösse: A4 (richtig)
Im Dropdownfeld ist die Auflistung der Formate des gewünschten Druckers abgelegt.

Quelle:
Auto mit der Auflistung der Schächte des gewünschten Druckers

Drucker:
Es wird der gewünschte Drucker angezeigt.


Wenn ich nun das Fenster Seite Einrichten schliesse und gleich wieder öffne so ist alles wie oben beschrieben AUSSER:

Spezieller Drucker: ja (der gewünschte Drucker wird angezeigt) (ja und nein wechseln sich bei jedem öffnen ab)



Punkt D Es ist wieder alles wie bei Punkt A


Wer hat da eine Erklärung,  bei mir herrscht  EDV (E)nde (D)er (V)ernunft

Gruss
Ernst