Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: huith am Januar 27, 2017, 18:44:51

Titel: Formularhöhe bei Endlosformular
Beitrag von: huith am Januar 27, 2017, 18:44:51
Hallo zusammen,
folgendes Problem:
dem Endlosformular wird erst beim Öffnen das Recordset zugewiesen. Das führt dazu, dass das Formular immer nur einen Datensatz hoch angezeigt wird.
Wie kann ich die Gesamthöhe z.B. auf Formularkopf + 20 Datensätze + Formularfuß zwingen?

Danke für Tipps
Michael
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: MzKlMu am Januar 27, 2017, 18:50:25
Hallo,
ZitatDas führt dazu, dass das Formular immer nur einen Datensatz hoch angezeigt wird.
Das kann ich mit nicht vorstellen. Wenn das Formular an das Recordset gebunden ist (über den Steuerlementinhalt der Felder) werden automatisch alle Datensätze angezeigt.
Hast Du das Formular auch auf Endlosformular stehen ?
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: huith am Januar 27, 2017, 19:32:56
Ja, das Formular ist als Endlosformular gekennzeichnet. Es werden natürlich alle Datensätze angezeigt, aber der Detailbereich ist nur 1 Datensatz hoch.
Wenn ich das ganze Formular weiter aufziehe und speichere, ist es trotzdem beim erneuten Öffnen wieder so klein. Docmd.movesize ist nicht möglich, weil ich ja nur die Detailbereichhöhe ändern könnte, was aber nicht erwünscht ist.

Gruß
Michael
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: MzKlMu am Januar 27, 2017, 19:39:47
Hallo,
der Detailbereich ist immer ein Datensatz hoch, wenn Du den höher machst, ist trotzdem nur ein Datensatz im Detailbereich.
Die Detailbereichshöhe kann man nur im Formularentwurf ändern und speichern. Änderungen während der Datensicht gehen verloren.

Erkläre mal den Hintergrund des Vorhabens genauer.
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: Lachtaube am Januar 27, 2017, 21:05:14
Ich rate, dass die Formulareigenschaft AutoResize (Größe anpassen) auf Ja steht.
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: huith am Januar 28, 2017, 16:01:58
Ob autoresize auf ja oder nein steht, macht keinen Unterschied.
Nochmals zur Erläuterung:
Die Datenbasis wird erst beim Öffnen zugewiesen, weil das Formular je nach Situation verschiedenen recordsets zugewiesen wird.
Das Problem liegt offensichtlich darin, dass zu dem Zeitpunkt, an dem die Formulargröße (oder auch Detailbereichhöhe) eingestellt wird, noch kein Datensatz vorhanden ist.
Die Frage ist also: wie kann ich in einem offenen Formular die Höhe per VBA ändern (per VBA nachvollziehen was ich manuell mit der Maus mache)?

Gruß
Michael
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: huith am Januar 28, 2017, 16:06:54
Ich habe das Problem jetzt etwas unschön gelöst:
Eine  Tabelle mit 20 leeren Datensätzen als permanente Datenquelle, die dann beim Öffnen durch die eigentliche Datenquelle ersetzt wird.
Weiß jemand eine elegantere Lösung?

Gruß
Michaeö
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: MzKlMu am Januar 28, 2017, 16:13:35
Hallo,
mir ist nach wie vor unklar wo das Problem ist. Der Detailbereich ist immer ein Datensatz hoch.
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: DF6GL am Januar 28, 2017, 16:26:53
Hallo,

vielleicht führt ja die Einstellung der Form-Eigenschaft "Rahmenart" auf "dünn" zum Ziel, das ich aber auch nicht so genau
erkennen kann.
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: huith am Januar 28, 2017, 17:01:20
Ja, das ist klar, dass der Detailbereich immer nur einen Datensatz hoch ist. Die Frage ist aber, wie viele Datensätze beim Öffnen angezeigt werden, also: Höhe Formularkopf + x mal Höhe Dateilbereich + Höhe Formularfuß.
Wenn das Formular ohne Recordset geöffnet wird, wird immer nur der Detailbereich = 1 Datensatz angezeigt, aber nach Zuweisung eines Recordsets mit mehreren Datensätzen wird das Formular nicht automatisch vergrößert; ich muss es manuell machen.
Deshalb die Frage, ob das auch per VBA erfolgen könnte.

Gruß
Michael
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: Beaker s.a. am Januar 28, 2017, 17:10:48
Hallo Michael,
Versuche es Mal mit den Eigenschaften "vergrösser-" und "verkleinerbar"
des Detailbereichs.
gruss ekkehard
Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: markusxy am Januar 30, 2017, 20:58:37
Weist du das Recordset im Load oder Open Event zu, oder wie machst du das?
Die Größe des Forms kannst du jedenfalls per Form.move Methode festlegen.
Oder auch WindowHeight wenns nur um die Höhe geht.

Titel: Re: Formularhöhe bei Endlosformular
Beitrag von: Joss am Januar 31, 2017, 15:06:40
Hallo Michael,

vielleicht geht's so:

DoCmd.OpenForm "MeinFormular"
DoCmd.MoveSize , , , 567 * 15


Gruß
Josef