Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Unterbericht fixieren

Begonnen von SMBR, April 04, 2021, 18:59:36

⏪ vorheriges - nächstes ⏩

SMBR

Hallo Beisammen und frohe Ostern,
ich wollte mal wissen, ob es eine Möglichkeit gibt, einen Unterbericht an einer bestimmten Stelle zu fixieren bzw zu verankern.
Ich habe im Berichtsfuß einen Unterbericht, der unabhängig von den Datensätzen im Detailbereich an der gleichen Stelle stehen soll. Im Moment ist es so, dass die Position des Unterberichtes, von der Anzahl der DS im Detailbereich abhängig ist.
Ich habe sämtliche "Vergrößerbar" und "Verkleinerbar" Einstellungen auf nein gestellt, also den Detailsbereich, den Berichtsfuß, und das Steuerelement selbst.  Den Unterbericht zuvor auf maximaler Höhe ausgerichtet. Leider funktionierte diese Methode nicht.

Was kann ich noch versuchen?

Danke schon mal für euere Hilfe

Gruß aus der Hauptstadt


MzKlMu

Hallo,
Du musst über die Anzahl der Datensätze im Detailbereich die Höhe des Detailbereichs bestimmen und dann den UB entsprechend verschieben.
Gruß Klaus

SMBR

Zitat von: MzKlMu am April 04, 2021, 19:06:41Hallo,
Du musst über die Anzahl der Datensätze im Detailbereich die Höhe des Detailbereichs bestimmen und dann den UB entsprechend verschieben.
Guten Abend,
ich habe deinen Tip mal versucht umzusetzen. Dazu hätte ich zunächst noch ne Frage. Wie meinst du das mit dem Detailbereich... Mit der Höhe des Detailbereiches, kann ich doch lediglich die Höhe je Zeile festlegen. Wenn ich da die Zahl veränder, ändert sich entsprechend nur die Zeilenhöhe. Steh ich auf dem Schlauch? Ich habe die Abfrage auf das Maximale der Datensätze gefiltert. Sprich 31. Danach den Unterbericht platziert dass er im Berichtsfuß an der richtigen Stelle ist. Diesen wiederum "Vergößern" & "Verkleiner" jeweils auf NEIN.
Gibt es dafür ne VBA-Lösung. So wie ich beispielsweise mit docmd.Movesize die Größe und die Position von einem Popup Formular festlegen kann?
Wenn das was hilft kann ich auch statt den Unterbericht normale Textfelder verwenden. Aber ich denke mal nicht dass das ne große Geige spielt. Vielleicht gibts noch ne andere Lösung?

MzKlMu

Hallo,
die Höhe des Detailbereich sollst Du ja nicht ändern, die bleibt immer gleich.
Du musst erst mal bestimmen, wie viele Datensätze passen auf eine Seite des Detailbereichs.
Angenommen, der Detailbereich ist 1cm hoch und es passen 12 Datensätze auf eine Seite.
Dann musst Du erst mal bestimmen wie viele DS auf die letzte Seite passen.
Dazu kannst Du die Funktion Mod verwenden.
DSLetzteSeite = MaxDS Mod DSJeSeite
Auf die 31 angewendet:
31 Mod 12 = 7

Auf die letzte Seite passen also 7 DS = 7x 1cm = 7cm.
Mit 12 DS wären das aber 12cm es fehlen also 5cm.
Also musst Du den UB um 5cm nach unten schieben. Also die Eigenschaft "Oben" vergrößern.
Das muss per VBA geschehen.
Dabei gibt es die Besonderheit, dass nicht direkt cm verwendet werden können. Diese Maßeinheit heist Twips.
Umrechnung: 1cm = 567 Twips.
Du musst also den UB um 5x567 Twips = 2835 Twips nach unten (Abstand oben vergrößern) verschieben.

Wenn Du nicht klar kommst, erstelle ein einfaches Beispiel und lade das hier hoch. Komprimiert/repariert und gezippt.
Gruß Klaus

SMBR

Hallo Klaus,
danke für die ausführliche Beschreibung. Gerne würde ich dein Angebot annehmen. So ganz klar komme ich in der Tat noch nicht. Die DB ist die abgespreckte Version. Aber ich glaube man kann sehen wo der Schuh drückt. Habe den enthaltenen Bericht und die Zugrundeliegende Abfrage beispielhaft mal für den aktuellen Monat ausgerichtet. Am Ende soll der UB mit den Gesamtstunden wie oben schon geschrieben, immer an der Position des ausgedruckten Blattes stehen wo er jetzt steht. Unabhängig davon ob der Monat 28/29/30/31 Tage hat. (Das eigentliche Formblatt für die Stunden ist als Seitenhintergrund eingerichtet)
Beste Grüße aus der Hauptstadt
Stefan