Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bericht, Detailbereich verkleinern

Begonnen von Andrucha, Januar 16, 2014, 16:26:14

⏪ vorheriges - nächstes ⏩

Andrucha

Hi@all

Ich weiss, dass das Problem mehrfach angesprochen wurde, bei mir funktioniert es leider nicht.

Ich habe ein Bericht erstellt und in den Detailbereich setze ich mehrere Unterberichte ein.

In die Unterberichte setze ich in den jeweiligen Detailbereich dann mehrere Textfelder dennen als Quelle eine Abfrage dient.
Alles funktioniert wunderbar.
Jetzt ist die Idee bei leeren Textfeldern diese auszublenden. Dafür habe ich über Ereignissprozedur einen VB-Code erstellt,

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)

If Vorhanden = "0" Then                     'Textfeld direkt ansprechen, nicht Steuerelement
Subjektiv_Memo.Visible = 0                  'Bei Then Steuerelement
Caterer.Visible = 0
Gästekapazität.Visible = 0
Text10.Visible = 0
Text8.Visible = 0
Restaurantbezeichnung.Visible = 0
Else
End If
End Sub

was ebenfalls super funktioniert.

Problem, was ich jetzt habe, dass durch die vielen Felder LEERRAUM entsteht.
Ich hätte jetzt gerne so, dass der Detailbereich automatisch die Höhe anpasst.
Über die Eigenschaften Vekleinerbar = ja für das Deteilbereich und alle Textfelder hat nicht funktioniert.
Ebenso über VBA Code: Me.Detailbereich.Height = 10

Lässt die Höhe nicht ändern. Die Höhe bleibt immer in der Ausgangshöhe, kann man machen was man will.
Was mache ich falsch oder welche Ideen habt ihr hierbei?

DF6GL

Hallo,

die Textfelder müssen vorher ebenfalls auf Höhe 0 (bzw. sehr kleine Höhe)  gesetzt werden...

und ohne weiter auf den Code und die restliche Beschreibung einzugehen.

MzKlMu

Hallo,
die Höhe muss in Twips gesetzt werden. 1cm=567 Twips.
Für eine Höhe von 10cm muss daher 5670 verwendet werden.

Aber, ich glaube nicht, dass das funktioniert, denn die Elemente sind ja vorhanden, wenn auch unsichtbar. Du kannst also den Bereich nicht kleiner machen als den untersten Rand des untersten  Feldes. Dabei spielt es keine Rolle ob sichtbar oder nicht.
Du muss erst alle Felder per Code nach oben schieben (Höhe 0 geht nicht) erst dann kannst Du den Bereich verkleinern.

Grundsätzlich habe ich meine Zweifel ob Unterberichte in Berichten sinnvoll sind. Meist lässt sich das mit gruppierten Berichten viel eleganter und einfacher lösen. Da ich aber die Zusammenhänge nicht kenne, kann ich dazu nichts näheres raten.
Gruß Klaus

Andrucha

#3
Zitat von: DF6GL am Januar 16, 2014, 16:31:08
Hallo,

die Textfelder müssen vorher ebenfalls auf Höhe 0 (bzw. sehr kleine Höhe)  gesetzt werden...

und ohne weiter auf den Code und die restliche Beschreibung einzugehen.
Wenn ich das so mache, dann sieht es durchaus gut aus. Nur leider, wenn die Felder aber vorhanden sein sollen, dann wird der Textfeld angezeigt, doch das dazugehörige Bezeichnungsfeld nicht.
Man kann auch leider NUR das Textfeld "vergrösserbar = ja" setzen, das Bezeichnungsfeld leider nicht. Oder gibt es da doch nicht Wege ?

Etwas eigenartig ebenfalls finde ich, dass in der Berichtsansicht alles richtig angezeigt wird, aber in der Seitenansicht kommt es zu den genannten Problemen ..
Hat jemand eine Idee?

MfG
Andy

bahasu

Hi,

anbei im Anhang ein Beispiel, wie der Detailbereich in der Größe angepaßt (je nachdem, was in "Vorhanden" steht) wird.
Die Felder haben eine normale Größe (so dass die Namen der Felder lesbar sind {diese Eigenschaft geht verloren, wenn die Felder auf eine sehr kleine Höhe gestellt werden}) und liegen sehr nahe beisammen.

Suchst Du so etwas?

Harald
Servus

Andrucha

Hi und vielen Dank für die Mühe.
Sehe ich das richtig, dass in der Anhangdatei das Bezeichnungsfeld nicht verschwindet? auch wenn das dazugehörige Textfeld leer ist ?

Zitat von: bahasu am Januar 16, 2014, 20:34:50
Hi,

anbei im Anhang ein Beispiel, wie der Detailbereich in der Größe angepaßt (je nachdem, was in "Vorhanden" steht) wird.
Die Felder haben eine normale Größe (so dass die Namen der Felder lesbar sind {diese Eigenschaft geht verloren, wenn die Felder auf eine sehr kleine Höhe gestellt werden}) und liegen sehr nahe beisammen.

Suchst Du so etwas?

Harald

bahasu

Hi,

ja, das eine Feld hatte ich aus "didaktischen" Gründen nicht auf unsichtbar gestellt: Damit erkennbar ist, dass der Detailbereich nicht komplett ausgeblendet wurde (was die einfachste Lösung gewesen wäre), sondern nur Teile ausgeblendet werden).

Die Bezeichnungsfeldern von den unsichtbar eingestellten Feldern sind ansonsten unsichtbar.


Eine Zeile mehr im VBA und es wird ausgeblendet.

Harald
Servus

Andrucha

Hi! 

Ich habe jetzt in dein Beispiel nochmals meinen Bericht Imortiert und angepasst !
<BEM_Restaurant>
Zu sehen ist, dass mein Bericht in vergleich zu deinem sich jedes mal Kompletten Detailbereich Platz reserviert.  Genau das was dein Bericht nicht macht.

Das soll bei mir genauso sein wie bei dir. Ist aber irgendwo ein Fehler, den ich nicht sehe :(

Kannst du mal reinschauen? vielleicht siehst du schnell was bei mir nicht stimmt ?

Danke dir vielmals für die Mühe !

bahasu

Hi,

beim Versuch, die Datei zu entzippen, erhalte ich die Fehlermeldung "ungültig oder beschädigt".

Harald
Servus

Andrucha

sekunde ich erstelle mal einen online zip !

Andrucha

Zitat von: bahasu am Januar 17, 2014, 11:52:41
Hi,

beim Versuch, die Datei zu entzippen, erhalte ich die Fehlermeldung "ungültig oder beschädigt".

Harald

bahasu

#11
Hi,

die Datei konnte ich laden und danach sehen, dass: .accdb

Ausnahmsweise gilt nicht der erste Teil meiner Fussnote.

Zwei Felder waren noch nicht auf verkleinerbar gestellt.
Habe alle Felder enger zusammengerückt.
ALternativ gibt eine Variante, bei der der Detailbereich ausgeblendet wird. (Ist dann sicherlich klein genug  ;D, kann aber sein, dass etwas noch nicht Bekanntes dann fehlt.

Harald
Servus

Andrucha

Das gibt es doch gar nicht ! Mal vor lauter Bäumen den Wald nicht gesehen!

Endlich funktioniert es :) Danke dir vielmals !

Mir fällt auf, dass das aber bei 2 Spalten aus Textfeldern nicht funktioniert, nur bei einer Spalte aus Textfeldern. Ist das richtig ?

Interessant ist natürlich auch die Alternative!  Wei kann man den Detailbereich ausblenden ?

THX
Andy

bahasu

#13
Hi Andy,

Zitat von: Andrucha am Januar 17, 2014, 14:35:24
Mir fällt auf, dass das aber bei 2 Spalten aus Textfeldern nicht funktioniert, nur bei einer Spalte aus Textfeldern. Ist das richtig ?
Werde ich mir mal anschauen.

Zitat
Wei kann man den Detailbereich ausblenden ?
Im Entwurfmodus des Berichtes auf die Eigenschaften vom Detailbereich gehen, dort das Ereignis "Beim Formatieren" anklicken => es werden rechts drei Punkte sichtbar, dort draufklicken => Du landest im VBA. Dort gibt es eine Anweisung in der Art:
me.detailbereich.visible = not me.vorhanden     ' wahlweise auch eine andere sinnvolle Bedingung

Siehe Bericht, den ich als Kopie angelegt hatte.

Harald
Servus

Andrucha

Hat super geklappt ! Danke für die Unterstützung.
Riesen Dank @bahasu