Berichte übernehmen immer die tandard-Einstellung

In Access „Extras…Optionen“ sind für Berichte
Standard-Seitenränder hinterlegt und ob das Format Hoch oder Quer
gedruckt wird.

Ich kann nun in meinen Berichten, die aus Formularen über Visual
Basic-Code aufgerufen werden, individuelle Einstellungen hinterlegen was ich will,das Access-Programm stellt meine Berichte immer auf die
Standardeinstellungen um, und ich weiß nicht was für eine Einstellung
ich in Access verändern muß, damit das nicht mehr passiert???

Können Sie mir helfen?

Vielen Dank
S. Frischholz

Hallo Siegfried,

zunächst mal herzlich willkomen bei „wer-weiss-was“.
Helfen kann ich Dir leider nicht aber ich würde Dich bitten Dein Posting im Brett „Anregung, Lob und Kritik“ zu löschen. Warum?
Dort gehörts nun wirklich nicht hin (hier biste richtig) und die WWW-Gemeinde mag diese Form „Doppelpostings“ nicht.

LG
Frank

Hallo Frank,
entschuldige… das war mein erster Artikel hier und ich hatte ein paar Probleme den Artikel einzustellen… habe den anderen Artikel jetzt gelöscht… :smile:

LG Sigi

1 Like

das war mein erster Artikel hier und ich hatte
ein paar Probleme den Artikel einzustellen… habe den anderen
Artikel jetzt gelöscht… :smile:

Supie,

weißt Du, dann kann keiner meckern und mit erhobenen Finger zeigen.
Aber die Hauptsache ist, dass Du den Weg hierhin gefunden hast. Viel Spass.

LG
Frank

Hallo Siegfried,

In Access „Extras…Optionen“ sind für Berichte
Standard-Seitenränder hinterlegt und ob das Format Hoch oder
Quer
gedruckt wird.

ja, das gilt dann für den Standard - Drucker, so wie er im System eingestellt ist.

Ich kann nun in meinen Berichten, die aus Formularen über
Visual
Basic-Code aufgerufen werden, individuelle Einstellungen
hinterlegen was ich will

und wie machst du das? per VBA - Code? als feste Einstellung im Bericht?

Eigentlich brauchst du nur die Werte im Bericht zu ändern, diesen schließen und dann ist es gespeichert.

Also den Bericht in der Vorschau öffnen, dann die Seiteneigenschaften einstellen, den Bericht schließen. Fertig.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,
das mache ich ja. Ich hinterlege beim Bericht individuelle Einstellungen, aber wenn der Bericht über VBA-Code aufgerufen wird, dann übernimmt er wieder die Standardeinstellungen, die in Extras…Optionen hinterlegt sind und stellt diese im Bericht um.

Ich müßte wahrscheinlich im VBA-Code den Bericht als Entwuf öffnen und die Ränder sowie Hoch- oder Quer neu definieren… ich weiß aber nicht wie diese Seitenränder und Format) per VBA angesprochen werden.

Gruß Sigi

Hallo Sigi,

das mache ich ja. Ich hinterlege beim Bericht individuelle
Einstellungen,

schön, meine Frage war: WIE du das machst?

aber wenn der Bericht über VBA-Code aufgerufen
wird, dann übernimmt er wieder die Standardeinstellungen, die
in Extras…Optionen hinterlegt sind und stellt diese im
Bericht um.

WIE lautet denn dein VBA - CODE für diesen Aufruf?

Ich müßte wahrscheinlich im VBA-Code den Bericht als Entwuf
öffnen und die Ränder sowie Hoch- oder Quer neu definieren…

nein, wenn du im Datenbankfenster links Berichte anklickst,
dort deinen Bericht auswählst.
dann auf Entwurf klickst
dann auf Vorschau klickst
dann Datei / Seite einrichten
dann deine Werte eingibst
dann die Vorschau beendest
dann den Entwursmodus beendest
wirst du gefragt, ob die Änderungen gespeichert werden sollten
wenn du nun JA wählst, werden deine Ränder etc. zum Bericht gespeichert.

Nur so geht es !!

ich weiß aber nicht wie diese Seitenränder und Format) per VBA
angesprochen werden.

schau dir mal die Report - Eigenschaften an. Das ist nicht vorgesehen.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,

das mache ich ja. Ich hinterlege beim Bericht individuelle
Einstellungen,

schön, meine Frage war: WIE du das machst?

ich hinterlege die Einstellungen so wie Du sie unten beschrieben hast. Ich denke, daß irgendwas im Access umgestellt werden muß???..
Natürlich auch so:

nein, wenn du im Datenbankfenster links Berichte anklickst,
dort deinen Bericht auswählst.
dann auf Entwurf klickst
dann auf Vorschau klickst
dann Datei / Seite einrichten
dann deine Werte eingibst
dann die Vorschau beendest
dann den Entwursmodus beendest
wirst du gefragt, ob die Änderungen gespeichert werden sollten
wenn du nun JA wählst, werden deine Ränder etc. zum Bericht
gespeichert.


aber wenn der Bericht über VBA-Code aufgerufen
wird, dann übernimmt er wieder die Standardeinstellungen, die
in Extras…Optionen hinterlegt sind und stellt diese im
Bericht um.

WIE lautet denn dein VBA - CODE für diesen Aufruf?

VBA-Code:

Set DB0 = DBEngine.Workspaces(0).Databases(0)
SendKeys „+{Enter}“, True
NeuerBericht = Screen.ActiveControl.ControlName
s = „((tblREStamm.lfdNrRE=“ & Forms![frmRechnung].[lfdNrRE] & „))“

dmy = Forms!frmRechnung.Ausgabe
Select Case dmy
Case „Bildschirm“
DoCmd.OpenReport NeuerBericht, acViewPreview, , s
Case „Drucker“
DoCmd.OpenReport NeuerBericht, acViewNormal, , s
End Select

Es wäre schön, wenn Du mir weiterhelfen könntest.

Gruß, Sigi

Hallo Siegfried,

Ich denke, daß irgendwas im Access umgestellt werden muß???..

was sollte umgestellt werden? da gibt es nichts anderes!

aber wenn der Bericht über VBA-Code aufgerufen
wird, dann übernimmt er wieder die Standardeinstellungen, die
in Extras…Optionen hinterlegt sind und stellt diese im
Bericht um.

dann stelle doch die Standardwerte um!?

VBA-Code:
Set DB0 = DBEngine.Workspaces(0).Databases(0)

wofür ist denn das? das ist überflüssig und kann gelöscht werden!

SendKeys „+{Enter}“, True

Sendkeys hat in Access Fehler und bereitet probleme. Du solltest als Alternavice folgendes verwenden:

docmd.gotocontrol „Feldname“

NeuerBericht = Screen.ActiveControl.ControlName

du verwendest den Feldnamen für den Berichtsnamen!? OK

s = „((tblREStamm.lfdNrRE=“ & Forms![frmRechnung].[lfdNrRE] &
„))“

die Bedingung ist nicht ganz richtig, da fehlen eckige Klammern:

s = "(([tblREStamm.lfdNrRE]= " & Forms![frmRechnung].[lfdNrRE] &
„))“

dmy = Forms!frmRechnung.Ausgabe
Select Case dmy
Case „Bildschirm“
DoCmd.OpenReport NeuerBericht, acViewPreview, , s
Case „Drucker“
DoCmd.OpenReport NeuerBericht, acViewNormal, , s
End Select

oder kürzer:
DoCmd.OpenReport NeuerBericht, iif(dmy = „Drucker“,acViewNormal,acViewPreview), , s

Der Code sieht so auf jeden Fall ganz gut aus. Also nichts was den Bericht beeinflussen könnte.

schick die MDB mal rüber.

Grüße aus Essen
Wolfgang

Hallo Wolfgang,

Ich denke, daß irgendwas im Access umgestellt werden muß???..
was sollte umgestellt werden? da gibt es nichts anderes!

Ich denke, daß mein Grundübel aus Access 97 stammt, da ich die DB von Access 97 auf Access 2000 umgestellt habe und ich verwende Abfragen für Berichte, die ich je nachdem was ausgewählt wurde über VDB neu definiere… denn wenn ich das weglösche, bleibt meine Einstellung im Bericht erhalten z.B.

aSQL = „“
bSQL = „“
xSQL = „“
cSQL = „“
aSQL = „SELECT …“
bSQL = " FROM…"
xSQL = " HAVING…"
cSQL = " ORDER BY…;"

Set q1 = DB0.CreateQueryDef(„qryListedrucken“)
q1.SQL = aSQL & bSQL & xSQL & cSQL
q1.Close

DoCmd.OpenReport „repAngebotsliste“, acViewNormal

Der Bericht hat dann die Abfrage „qryListedrucken“ zur Grundlage.
Und durch den Befehl Set / q1.SQL wird immer der Bericht in Standard umgestellt. Ich weiß abe nicht wie ich das besser Programmieren könnte…ich möchte eine Abfrage über VDB definieren und dann in einem Bericht verwenden???

aber wenn der Bericht über VBA-Code aufgerufen
wird, dann übernimmt er wieder die Standardeinstellungen, die
in Extras…Optionen hinterlegt sind und stellt diese im
Bericht um.

dann stelle doch die Standardwerte um!?

Ich habe viele Berichte im Programm mit unterschiedlichen Standardwerten.

Soll ich die DB an folgende Email schicken?
[email protected]

Viele Grüße, Sigi

Hallo Sigi,

Ich denke, daß mein Grundübel aus Access 97 stammt, da ich die
DB von Access 97 auf Access 2000 umgestellt habe

man nehme eine leere, neue MDB in A2000. Dann importiert man alle Tabellen, Formulare etc. von der alten A97 MDB.

und ich
verwende Abfragen für Berichte, die ich je nachdem was
ausgewählt wurde über VDB neu definiere… denn wenn ich das
weglösche, bleibt meine Einstellung im Bericht erhalten z.B.

das ist mit Filtern einfacher zu bewerkstelligen.

aSQL = „“
bSQL = „“
xSQL = „“
cSQL = „“
aSQL = „SELECT …“
bSQL = " FROM…"
xSQL = " HAVING…"
cSQL = " ORDER BY…;"

Set q1 = DB0.CreateQueryDef(„qryListedrucken“)
q1.SQL = aSQL & bSQL & xSQL & cSQL
q1.Close

d.h. du erzeugst während der Laufzeit eine neue Abfrage.

DoCmd.OpenReport „repAngebotsliste“, acViewNormal

Der Bericht hat dann die Abfrage „qryListedrucken“ zur
Grundlage.
Und durch den Befehl Set / q1.SQL wird immer der Bericht in
Standard umgestellt. Ich weiß abe nicht wie ich das besser
Programmieren könnte…ich möchte eine Abfrage über VDB
definieren und dann in einem Bericht verwenden???

besser wäre es, wenn du eine Basis-Abfrage erzeugst, die dann einfach nur durch Filter parametisiert wird.

Ich habe viele Berichte im Programm mit unterschiedlichen
Standardwerten.

Soll ich die DB an folgende Email schicken?
[email protected]

hast du noch eine andere Mailadresse von mir :smile:

Grüße aus Essen
Wolfgang