PDA

Vollständige Version anzeigen : Bericht im Querformat öffnen


Alex O
07.10.2001, 18:53
Hallo zusammen,

habe einige Berichte mit dem Assistenten entworfen, wobei ich diesem sagte, dass ich einige davon im Querformat haben will. Jetzt passiert es immer wieder, dass ich einen im Quer-Format erstellten Bericht im Hochformat angezeigt bekomme. Danach muss der Bericht über "Seite einrichten" wieder ins Quer-Format umgewandelt werden. Sehr umständlich das ganze.
Meine Frage:
1. Wo wird das Format gespeichert, denn unter Eigenschaften konnte ich nichts finden?
oder besser
2. Könnte man beim Aufruf des Berichts im VBA-Editor sagen, er soll ihn im Querformat öffnen?
In Excel würde das ganze so aussehen:
With ActiveSheet.PageSetup
.Orientation = xlLandscape
End With
Doch wie in Access.....(Bin VBA-Anfänger)

Danke und viele Grüße

Alex

Sonne im Herz
07.10.2001, 19:01
Hallo

versuch mal im Bericht-entwurf-modus

unter Datei, Seite einrichten und dort auf Querformat.

zu punkt 2, weis nicht.

trotzdem

HTH
Sonne im Herz

uke
07.10.2001, 19:56
Hallo,

hatte das Problem auch immer; es ist ziemlich blöde gewesen; scheinbar merkt sich ACCESS nicht, wie es geöffnet werden soll, obwohl das so in der Hilfe steht; ist glaub ich ein bekannter aber nicht behobener Bug. Es gibt da aber eine Möglichkeit; den folgenden Code muß man nur einmal ausführen, damit merkt sich ACCESS nämlich die Ausrichtung für den speziellen Bericht:


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
Function test()
AusrichtungWechseln "Versammlung"
End Function

'Das folgende Beispiel zeigt, wie die Ausrichtung eines Berichtes geändert werden kann.
'In diesem Beispiel wird die Ausrichtung von Hochformat in Querformat oder von Querformat
'in Hochformat geändert (je nach momentaner Ausrichtung des Berichtes).

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
' Den Bericht in der Entwurfsansicht öffnen.
DoCmd.OpenReport strName, acDesign
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

Uke

Alex O
07.10.2001, 19:59
Hallo Sonne im Herz,

erstmal Danke, doch leider funktioniert auch das nicht.
Vielmehr scheint es an den Druckereinstellungen zu liegen. Wenn ich einen Druckertreiber mit der Eigenschaft Querformat einrichte und den jeweiligen Bericht nicht dem Standard-Drucker, sondern diesem speziellen Drucker zuweise, funktioniert es nämlich.
Problem ist nur, dass diese Anwendung an mehrere User verteilt wird und somit jeder erst einmal sämtliche Berichte neu zuordnen müsste. Das will ich unbedingt vermeiden, deshalb wäre eine über VBA gesteuerte Lösung wohl die Beste, wenn es sie gibt....

Trotzdem nochmal vielen Dank an Sonne im Herz
und große Bitte an alle VBA´ler

Alex

jinx
07.10.2001, 20:16
<font size="2" face="Century Gothic">Moin, Alex,

für mich klingt Dein Problem wie bei DonKarl (http://www.donkarl.com/FAQ/FAQ7Bugs.htm#7.15) unter 7.15 beschrieben: BERICHTE IN A00 VERLIEREN EINSTELLUNGEN...</font>

Alex O
08.10.2001, 09:08
Hallo,

und vielen Dank erstmal. Es funktioniert. Ich habe wie unter www.donkarl.com (http://www.donkarl.com) beschrieben das Häckchen unter Extras/Optionen/Allgemein bei "Informationen aufzeichnen" rausgenommen, und siehe da, alles wunderbar.
Doch auch den von uke beschriebenen Weg, das ganze über einen Code zu lösen erscheint mir sehr interessant, da man hierbei auf das neue Feature unter Access 2000, die Objektnamenkorrektur, nicht verzichten muss. Doch als VBA-Anfänger muß ich mich da erstmal reinknien, um das in meiner Anwendung so umzusetzen. Werde die Herausforderung aber gerne annehmen, denn hierbei lernt man doch am meisten.
Übrigens, eine, meiner Meinung nach, sehr interessante Seite, diese http://www.donkarl.com/

Also nochmals Dank an Alle.
Alex