MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Archive > Microsoft Access - Archiv > Microsoft Access - Archiv (2000)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 18.12.2000, 23:43   #1
HH
Neuer Benutzer
Neuer Benutzer
Standard Seitenformat eines Druckers ändern

Ich suche eine Lösung, wie ich bei einem Drucker unter Geräteeinstellung beim Traktor von A4 auf z.B. Letter Format umstellen kann.

Ich habe versucht die Seite ,Chapter 10: Controlling Your Printer' (http://www.microsoft.com/AccessDev/Articles/GetzCh10.HTM) durchzulesen. Leider ist mein Englisch nicht gerade das Beste und habe auch keinen Hinweis gefunden, wie ich dies durchführen kann.

Auch habe ich mir die mdb Ch10.mdb angesehen. Konnte dort aber nur Informationen finden, wie ich diese auslesen kann, aber nicht wie ich Änderungen am Drucker durchführen kann.

Vielleicht können sie mir da weiterhelfen, bzw. haben bereits eine funktionierende Lösung dafür.
Wäre sehr dankbar.
Harry
HH ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.12.2000, 10:31   #2
SoftNet
MOF User
MOF User
Standard

Hi Harry,

schau mal auf http://www.access-home.de in die Downloads. Dort sollte die KnowHow 3.0 von Klaus Oberdalhoff zu finden sein in der Du evtl. eine Lösung für Dein Problem findest.

Gruss, Tommy. http://www.access-home.de
SoftNet ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.12.2000, 22:49   #3
HH
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen Dank Tommy!

In der KnowHow3.0 habe ich schon nachgesehen, konnte aber leider nichts passendes finden.

Vielleicht kannst du mir einen Suchbegriff sagen. Vielleicht habe ich da etwas übersehen.

Hoffe noch auf eine Antwort
Vielen Dank
Harry
HH ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.12.2000, 10:13   #4
Andole
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Harry, ich hoffe ich habe dein Problem richtig verstanden.

Wenn du unter "Datei" - "Seite einrichten" hineingehst, dann auf "Seite", kannst du unter Spezieller Drucker die Einstellungen für dieses Formular, Bericht usw. machen.- Es bezieht sich nur darauf.-

Dort kannst du alle Einstellungen vornehmen, wie man es von anderen Office-Anwendungen gewöhnt ist.

Also wie gesagt, ich hoffe ich habe dein Problem richtig verstanden.


Andole
Andole ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.12.2000, 16:14   #5
HH
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Den speziellen Drucker händisch (manuell) eines Berichtes auszuwählen ist kein Problem.

Nur sollte das ganze automatisch per VB Code funktionieren.

Hoffe da hat noch jemand eine Idee. Konnte im ganzen Internet niergends etwas finden.

Harry
HH ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.12.2000, 16:43   #6
Karl Donaubauer
Standard

Schau dir in der OH das 2. Beispiel bei der "PrtDevMode-Eigenschaft" an.
Einfach mittels Zwischenablage in ein Standardmodul kopieren und nach deinen Wünschen anpassen.

Vorraussetzung ist, dass du den Bericht im Entwurf öffnen kannst. Geht also nicht in einer mde.

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.12.2000, 21:37   #7
HH
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hy Karl!

Vielen Dank für deinen Hinweis.

Ich habe mir das Beispiel angesehen:

Code:

Sub AusrichtungWechseln(strName As String)
    Const DM_HOCHFORMAT = 1
    Const DM_QUERFORMAT = 2
    Dim GeräteZF As str_DEVMODE
    Dim DM As type_DEVMODE
    Dim strGerätemodus As String
    Dim rpt As Report
    DoCmd.OpenReport strName, acDesign  ' Den Bericht in der Entwurfsansicht öffnen.
    Set rpt = Reports(strName)
    If Not IsNull(rpt.PrtDevMode) Then
        strGerätemodus = rpt.PrtDevMode
        GeräteZF.strGZF = strGerätemodus
        LSet DM = GeräteZF
        DM.lngFields = DM.lngFields Or DM.intOrientation    ' Das Element Fields initialisieren.

If DM.intOrientation = DM_HOCHFORMAT Then
            
            DM.intOrientation = DM_QUERFORMAT
        Else
            DM.intOrientation = DM_HOCHFORMAT
        End If
        LSet GeräteZF = DM              ' Die Eigenschaft aktualisieren.
        Mid(strGerätemodus, 1, 94) = GeräteZF.strGZF
        rpt.PrtDevMode = strGerätemodus
    End If
End Sub
Ich denke, dass ich da bei DM.???? die entsprechende Option bekomme.

Mein Problem ist nur, welchen Verweis ich da in Access97 einbinden muss, damit ich den Typ type_DEVMODE und str_DEVMODE verwenden kann und welche Konstantwerte ich für einen speziellen Drucker verwenden kann.

Vielleicht kann mir da noch jemand weiterhelfen.

Auch habe ich in der OH gelesen, dass ich mir da anscheinden das Win32 Software Development Kit ansehen muss.

Vielleicht kann mir da auch jemand einen Hinweis geben, was ich da alles so im Code ändern muss.

Vielen Dank
Harry
HH ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.12.2000, 00:01   #8
Karl Donaubauer
Standard

Du brauchst keinen zusätzlichen Verweis und ohne SDK sollte es auch gehen.

Die Typ-Definitionen für str_DEVMODE und type_DEVMODE findest du am Anfang des genannten Beispiels in der OH.

Unten hab ich dir schnell zusammengefuchtelt, wie das Modul für deine Zwecke abgeändert aussehen könnte. Die Definitionen sind einfach kopiert, auch wenn man das meiste nicht braucht. Statt Orientation wird PaperSize eingestellt.

Die sonst. Konstanten für die Papiergrößen stehen auch in der Beschreibung zu PrtDevMode (beim Element "PaperSize").

Code:

'********** CODE START ***********
Option Compare Database
Option Explicit

Type str_DEVMODE
    strGZF As String * 94
End Type

Type type_DEVMODE
    strDeviceName As String * 16
    intSpecVersion As Integer
    intDriverVersion As Integer
    intSize As Integer
    intDriverExtra As Integer
    lngFields As Long
    intOrientation As Integer
    intPaperSize As Integer
    intPaperLength As Integer
    intPaperWidth As Integer
    intScale As Integer
    intCopies As Integer
    intDefaultSource As Integer
    intPrintQuality As Integer
    intColor As Integer

intDuplex As Integer
    intResolution As Integer
    intTTOption As Integer
    intCollate As Integer
    strFormName As String * 16
    lngPad As Long
    lngBits As Long
    lngPW As Long
    lngPH As Long
    lngDFI As Long
    lngDFr As Long
End Type

Sub PapierGroesseWechseln(strName As String)
    Const PSize_US_Letter = 1
    Const PSize_A4 = 9
    Dim GeräteZF As str_DEVMODE
    Dim DM As type_DEVMODE
    Dim strGerätemodus As String
    Dim rpt As Report
    DoCmd.OpenReport strName, acDesign  ' Den Bericht in der Entwurfsansicht öffnen.
    Set rpt = Reports(strName)
    If Not IsNull(rpt.PrtDevMode) Then
        strGerätemodus = rpt.PrtDevMode
        GeräteZF.strGZF = strGerätemodus
        LSet DM = GeräteZF

        If DM.intPaperSize = PSize_A4 Then ' von A4 auf US-Letter umstellen oder zurück auf A4
            DM.intPaperSize = PSize_US_Letter
        Else
            DM.intPaperSize = PSize_A4
        End If
        
        LSet GeräteZF = DM              ' Die Eigenschaft aktualisieren.
        Mid(strGerätemodus, 1, 94) = GeräteZF.strGZF
        rpt.PrtDevMode = strGerätemodus
    End If
    
    DoCmd.Close acReport, acSaveYes
    
End Sub
'*************** CODE END *****************
Ich hab in deiner Beschreibung noch nicht verstanden, ob der Drucker fix im Bericht hinterlegt ist oder nicht. Falls ja sollte das hier reichen.

Wenn du aber vorher auch den Drucker noch umstellen musst, dann kann's kompliziert werden. Ich hab das mit dem Element "DeviceName" noch nicht versucht. Hab hier keinen zweiten Drucker. Wenn's damit nicht klappt, findest du ein paar Links zum Drucker-Umstellen auf meiner u.a. Seite in FAQ 5.1 "Drucker wechseln".

BTW Anregung an die hochwohllöbliche Geschäftsführung des Forums: Das Kastel für die Antwort ist zu klein für etwas größere Code-Beispiele. Das ordentliche Umbrechen war mir deshalb zu mühsam.

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.12.2000, 01:49   #9
HH
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hy Karl!

Mal vielen Dank für deine prompte Antwort.
Hat wunderbar funktioniert. Jetzt kann ich mit der ch10.mdb (herausfinden der codes der einzelnen seitenformate) und deinem code auf eine bestimmte Seite umstellen.

Wie du schon festsgestellt hast, besitze ich mehrere Drucker und muss da jeden Bericht auf einen bestimmten umstellen.

Zurzeit verwende ich die Lösung von der knowhow3.0, wo ich immer den Standarddrucker umstelle und dann wieder zurück.

Dies dauert natürlich ein wenig, da er im code einiges durchlaufen muss.

Früher hatte ich da jeden Bericht auf einen speziellen Drucker gebunden.

Das ganze Problem tat sich auf, als ich einen Win2000 Rechner im Netz hatte, der keine Netzdrucker mehr umbenennen kann.

Ich bin mit der Lösung ganz zu frieden. Ich weiss nicht ob es eine bessere, bzw. schnellere Lösung gibt, wo man vielleicht nur den speziellen Drucker umstellt. Ich glaube aber, das es das selbe ist, wie wenn ich den Standarddrucker umstelle.

Vielen Dank
Harry
HH ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.