{"id":55001393,"date":"2022-12-01T00:00:00","date_gmt":"2022-12-01T11:15:49","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1393"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Dynamische_Bereichshoehe_im_Endlosformular","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Dynamische_Bereichshoehe_im_Endlosformular\/","title":{"rendered":"Dynamische Bereichsh&ouml;he im Endlosformular"},"content":{"rendered":"<p><b>Ein Leser stellt mir neulich die Frage, ob und wie man die H&ouml;he der einzelnen Bereiche im Endlosformular dynamisch so einstellen kann, dass beispielsweise immer drei Datens&auml;tze angezeigt werden &#8211; auch, wenn der Benutzer die H&ouml;he des Endlosformulars w&auml;hrend der Anzeige &auml;ndert. Dieser Beitrag zeigt, wie das m&ouml;glich ist. Dabei behelfen wir uns einer Ereignisprozedur, die immer beim &Auml;ndern der Gr&ouml;&szlig;e eines Formulars ausgel&ouml;st wird &#8211; und eines kleinen Tricks, der wegen der enthaltenen Steuerelemente n&ouml;tig wurde.<\/b><\/p>\n<h2>Aufgabenstellung<\/h2>\n<p>Zum besseren Verst&auml;ndnis hilft der Screenshot aus Bild 1. Wenn der Benutzer die H&ouml;he des Formulars &auml;ndert, dann sollen die drei angezeigten Detailbereiche ihre H&ouml;he automatisch so &auml;ndern, dass sie immer jeweils 1\/3 des verf&uuml;gbaren Platzes einnehmen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_05\/screenshot.png\" alt=\"So soll die H&ouml;he der Detailbereiche angepasst werden, wenn der Benutzer die H&ouml;he des Formulars &auml;ndert.\" width=\"524,559\" height=\"442,7386\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: So soll die H&ouml;he der Detailbereiche angepasst werden, wenn der Benutzer die H&ouml;he des Formulars &auml;ndert.<\/span><\/b><\/p>\n<p>1\/3 deshalb, weil wir f&uuml;r das Beispiel in diesem Beitrag dazu entschieden haben, dass das Endlosformular immer drei Datens&auml;tze anzeigen soll (au&szlig;er nat&uuml;rlich, es enth&auml;lt weniger als drei Datens&auml;tze oder der Benutzer scrollt ganz nach unten).<\/p>\n<h2>Beispielformular<\/h2>\n<p>Als Beispiel verwenden wir das Formular <b>frmEndlosformularHoehe<\/b>. Es verwendet die Tabelle <b>tblInhalte <\/b>als Datensatzquelle. Diese Tabelle enth&auml;lt nur die beiden Felder <b>ID <\/b>und <b>Inhalt <\/b>(Felddatentyp <b>Langer Text<\/b>).<\/p>\n<p>Wir ziehen nur das Feld <b>Inhalt<\/b> aus der Feldliste in den Detailbereich und passen H&ouml;he von Detailbereich und Textfeld einander an. Au&szlig;erdem stellen wir die Eigenschaft <b>Standardansicht <\/b>auf <b>Endlosformular <\/b>ein und aktivieren die in Endlosformularen h&auml;ufig sichtbaren Bereiche <b>Formularkopf <\/b>und <b>Formularfu&szlig; <\/b>(siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_05\/pic_1393_002.png\" alt=\"Entwurf des Formulars\" width=\"524,559\" height=\"318,2821\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Entwurf des Formulars<\/span><\/b><\/p>\n<h2>Umsetzung mit dem Ereignis &#8222;Bei Gr&ouml;&szlig;en&auml;nderung&#8220;<\/h2>\n<p>Wer schon ein wenig mit Formularen programmiert hat, der wei&szlig;: Wir werden vermutlich mit dem Ereignis <b>Bei Gr&ouml;&szlig;en&auml;nderung <\/b>arbeiten, um das gew&uuml;nschte Ergebnis zu erreichen.<\/p>\n<p>Und wir ben&ouml;tigen einige Kenntnisse &uuml;ber die Eigenschaften, mit denen wir die H&ouml;hen verschiedener Bereiche des Formulars und des Formulars selbst ermitteln k&ouml;nnen.<\/p>\n<h2>H&ouml;he der verschiedenen Bereiche<\/h2>\n<p>Man mag vermuten, dass man die H&ouml;he eines Formulars mit einer Eigenschaft wie <b>Me.Height <\/b>ermitteln kann. Weit gefehlt: Diese Eigenschaft bietet das Formular gar nicht an. Die <b>Height<\/b>-Eigenschaft finden wir allerdings f&uuml;r die verschiedenen Bereiche des Formulars vor &#8211; f&uuml;r den Detailbereich, den Formularkopf und den Formularfu&szlig; beispielsweise. Wenn wir allerdings ermitteln wollen, wie hoch der Detailbereich sein darf, damit genau drei Datens&auml;tze im Bereich zwischen Formularkopf und Formularfu&szlig; sichtbar sind, ben&ouml;tigen wir eine Information &uuml;ber die gesamte H&ouml;he des Formulars.<\/p>\n<p>Ein genauerer Blick in das Objektmodell liefert schnell die Eigenschaft <b>InsideWidth<\/b>. InsideWidth liefert genau die H&ouml;he des sichtbaren Bereichs innerhalb des Formularrahmens. Damit k&ouml;nnen wir die H&ouml;he des Detailbereichs f&uuml;r drei Datens&auml;tze nach der Formel <b>(Gesamth&ouml;he &#8211; Formularkopf &#8211; Formularfu&szlig;) \/ 3<\/b> berechnen.<\/p>\n<p>In einem ersten, naiven Ansatz k&ouml;nnten wir also die folgende Anweisung in die Ereignisprozedur schreiben, die durch das Ereignis <b>Bei Gr&ouml;&szlig;en&auml;nderung<\/b> ausgel&ouml;st wird:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Resize()\r\n     Me.Detailbereich.Height = (Me.InsideHeight - _\r\n         Me.Formularkopf.Height - Me.Formularfu&szlig;.Height) \/ 3\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit kommen wir schon erstaunlich weit. Gleich beim &Ouml;ffnen zeigt das Formular so drei Detailbereiche an, die genau den Platz zwischen Formularkopf und Formularfu&szlig; einnehmen. Wenn wir die H&ouml;he des Formulars vergr&ouml;&szlig;ern, passt sich die H&ouml;he der Detailbereiche automatisch an. Wenn wir die H&ouml;he des Formulars allerdings so weit verkleinern, dass die im Entwurf eingestellte H&ouml;he der Detailbereiche unterschritten wird, verkleinert die Prozedur die H&ouml;he der Detailbereiche nicht mehr (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_05\/pic_1393_003.png\" alt=\"Die Detailbereiche werden nur bis zur Entwurfsh&ouml;he verkleinert.\" width=\"524,559\" height=\"271,6132\" \/><\/p>\n<p><!--30percent--><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Die Detailbereiche werden nur bis zur Entwurfsh&ouml;he verkleinert.<\/span><\/b><\/p>\n<p>Warum ist das der Fall? Der Grund ist schnell gefunden: Die enthaltenen Textfelder &auml;ndern ihre H&ouml;he nicht analog zu der H&ouml;he der Detailbereiche. Auch die Einstellung der Eigenschaft <b>Horizontaler Anker <\/b>auf den Wert <b>Beide <\/b>bewirkt keine &Auml;nderung. Die erste alternative Idee hierzu ist, die H&ouml;he des Textfeldes <b>Inhalt <\/b>einfach auf die gleiche H&ouml;he einzustellen wie den Detailbereich:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Resize()\r\n     Me.Detailbereich.Height = (Me.InsideHeight - _\r\n         Me.Formularkopf.Height - Me.Formularfu&szlig;.Height) \/ 3\r\n     Me!Inhalt.Height = Me.Detailbereich.Height\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das klappt auch, solange man die H&ouml;he des Formulars nur vergr&ouml;&szlig;ert. Sobald wir die H&ouml;he verkleinern, tut sich nichts mehr &#8211; weder die H&ouml;he des Detailbereichs noch die des Textfeldes &auml;ndert sich. Auch daf&uuml;r gibt es einen guten Grund. Wir versuchen hier, zuerst die H&ouml;he des Detailbereichs zu &auml;ndern und dann erst die des Textfeldes. Beim Vergr&ouml;&szlig;ern gelingt das, weil wir erst die H&ouml;he des Detailbereichs vergr&ouml;&szlig;ern und dann die des Textfeldes. Andersherum gelingt es nicht: Wir k&ouml;nnen den Detailbereich nicht verkleinern, wenn das enthaltene Textfeld nicht kleiner ist.<\/p>\n<h2>Verkleinern oder vergr&ouml;&szlig;ern?<\/h2>\n<p>Also m&uuml;ssen wir noch pr&uuml;fen, ob der Benutzer gerade die H&ouml;he des Formulars vergr&ouml;&szlig;ert oder verkleinert. Wenn er vergr&ouml;&szlig;ert, muss erst der Detailbereich angepasst werden und dann das Textfeld, wenn er das Formular verkleinert, m&uuml;ssen wir erst das Textfeld verkleinern und dann den Detailbereich. Um herauszufinden, ob das Formular gerade vergr&ouml;&szlig;ert oder verkleinert wird, m&uuml;ssen wir die vorherige H&ouml;he in einer Variablen speichern und beim Ausf&uuml;hren der Prozedur <b>Form_Resize <\/b>pr&uuml;fen, ob die neue H&ouml;he gr&ouml;&szlig;er oder kleiner als die vorherige H&ouml;he ist.<\/p>\n<p>Die H&ouml;he speichern wir in der folgenden Variablen:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>lngVorherigeHoehe<span style=\"color:blue;\"> As Long<\/span><\/pre>\n<p>Wir setzen diese erstmalig gleich beim Laden des Formulars in der dort ausgel&ouml;sten Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     lngVorherigeHoehe = Me.InsideHeight\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die Prozedur <b>Form_Resize<\/b> erweitern wir wie in Listing 1. Hier ermitteln wir &uuml;ber die bekannte Formel zuerst die gew&uuml;nschte H&ouml;he des Detailbereichs und auch des enthaltenen Textfeldes und speichern diese in der Variablen <b>lngHoheDetailbereich<\/b>.<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Resize()\r\n     <span style=\"color:blue;\">Dim <\/span>lngHoeheDetailbereich<span style=\"color:blue;\"> As Long<\/span>\r\n     lngHoeheDetailbereich = (Me.InsideHeight - Me.Formularkopf.Height - Me.Formularfu&szlig;.Height) \/ 3\r\n     <span style=\"color:blue;\">If <\/span>Me.InsideHeight &lt; lngVorherigeHoehe<span style=\"color:blue;\"> Then<\/span>\r\n         Me!Inhalt.Height = lngHoeheDetailbereich\r\n         Me.Detailbereich.Height = lngHoeheDetailbereich\r\n     <span style=\"color:blue;\">Else<\/span>\r\n         Me.Detailbereich.Height = lngHoeheDetailbereich\r\n         Me!Inhalt.Height = lngHoeheDetailbereich\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     lngVorherigeHoehe = Me.InsideHeight\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b><span style=\"color:darkgrey;\">Listing 1: Anpassung der Prozedur f&uuml;r das Vergr&ouml;&szlig;ern und Verkleinern<\/span><\/b><\/p>\n<p>Dann pr&uuml;fen wir, ob die neue H&ouml;he aus <b>Me.InsideHeight <\/b>kleiner als die vorherige H&ouml;he aus <b>lngVorherigeHoehe <\/b>ist. Ist das der Fall, stellen wir zuerst die H&ouml;he des Textfeldes und dann die des Detailbereichs ein. Falls die neue H&ouml;he gr&ouml;&szlig;er als die vorherige H&ouml;he ist, passen wir zuerst den Detailbereich an und dann die H&ouml;he des Textfeldes.<\/p>\n<h2>Fehler bei zu kleiner Formularh&ouml;he<\/h2>\n<p>Es gibt noch einen m&ouml;glichen Fehler bei normaler Benutzung, den wir ausschlie&szlig;en wollen. Dabei schiebt der Benutzer das Formular so weit zusammen, dass dieses gar keinen Detailbereich mehr anzeigt. Dies ruft den Fehler mit der Nummer <b>2100 <\/b>und dem Text <b>Das Steuerelement oder Unterformular ist zu gro&szlig; f&uuml;r die gew&uuml;nschte Position <\/b>hervor (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_05\/pic_1393_004.png\" alt=\"Fehler, wenn die H&ouml;he zu klein wird\" width=\"674,559\" height=\"348,0897\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Fehler, wenn die H&ouml;he zu klein wird<\/span><\/b><\/p>\n<p>Klicken wir hier auf Debuggen, sehen wir, dass die Zeile zum Einstellen der H&ouml;he des Textfeldes den Fehler ausl&ouml;st. <\/p>\n<p>&Uuml;berfahren wir die Variable mit dem zugewiesenen Wert, sehen wir, dass diese sich im negativen Bereich befindet (siehe Bild 5). Diesen Wert kann Access nicht zuweisen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_05\/pic_1393_005.png\" alt=\"Markierung der fehlerausl&ouml;senden Zeile\" width=\"674,559\" height=\"263,6303\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Markierung der fehlerausl&ouml;senden Zeile<\/span><\/b><\/p>\n<p>Wir m&uuml;ssen also pr&uuml;fen, ob <b>lngHoeheDetailbereich <\/b>einen negativen Wert enth&auml;lt und diesen gegebenenfalls auf <b>0 <\/b>einstellen.<\/p>\n<p>Dazu verwenden wir eine einfache <b>If&#8230;Then<\/b>-Bedingung mit einer Anweisung. Aber wo platzieren wir diese? Im <b>If<\/b>-Abschnitt der <b>If&#8230;Else&#8230;Then<\/b>-Bedingung?<\/p>\n<p>Das behebt den Fehler zumindest beim Verkleinern des Formulars auf eine H&ouml;he, in der kein Detailbereich mehr sichtbar ist.<\/p>\n<p>Beim Vergr&ouml;&szlig;ern aus dem negativen Bereich heraus kann der Fehler allerdings immer noch auftreten. Also f&uuml;gen wir die Korrektur der einzustellenden H&ouml;he direkt hinter die Zeile zur Ermittlung des Wertes von <b>lngHoeheDetailbereich<\/b> ein:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Resize()\r\n     <span style=\"color:blue;\">Dim <\/span>lngHoeheDetailbereich<span style=\"color:blue;\"> As Long<\/span>\r\n     lngHoeheDetailbereich = ...\r\n     <span style=\"color:blue;\">If <\/span>lngHoeheDetailbereich &lt; 0<span style=\"color:blue;\"> Then<\/span>\r\n         lngHoeheDetailbereich = 0\r\n     <span style=\"color:blue;\">End If<\/span>\r\n     ...<\/pre>\n<p>Damit gelingt nun auch das Verkleinern auf eine beliebige H&ouml;he ohne Fehlermeldung.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Die in diesem Beitrag vorgestellte Technik zeigt, wie man eine bestimmte Anzahl von Detailbereichen in einem Endlosformular anzeigen kann &#8211; unabh&auml;ngig von der H&ouml;he des Formulars. Auf diese Weise kann der Benutzer die Detailbereiche so vergr&ouml;&szlig;ern, dass diese alle gew&uuml;nschten Inhalte vollst&auml;ndig anzeigen.<\/p>\n<p>Wenn Sie die Breite des Textfeldes <b>Inhalt <\/b>analog zur Breite des Formulars anpassen wollen, reicht es &uuml;brigens aus, wenn Sie die Eigenschaft <b>Horizontaler Anker <\/b>auf den Wert <b>Beide <\/b>einstellen. Nicht vergessen, die dabei automatisch auf <b>Rechts <\/b>eingestellte Eigenschaft f&uuml;r das Beschriftungsfeld wieder auf <b>Links <\/b>einzustellen!<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>EndlosformularDetailbereichhoehe.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/75EA7759-A342-4301-95FE-9B483CAC05D2\/aiu_1393.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein Leser stellt mir neulich die Frage, ob und wie man die H&ouml;he der einzelnen Bereiche im Endlosformular dynamisch so einstellen kann, dass beispielsweise immer drei Datens&auml;tze angezeigt werden &#8211; auch, wenn der Benutzer die H&ouml;he des Endlosformulars w&auml;hrend der Anzeige &auml;ndert. Dieser Beitrag zeigt, wie das m&ouml;glich ist. Dabei behelfen wir uns einer Ereignisprozedur, die immer beim &Auml;ndern der Gr&ouml;&szlig;e eines Formulars ausgel&ouml;st wird &#8211; und eines kleinen Tricks, der wegen der enthaltenen Steuerelemente n&ouml;tig wurde.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662022,66062022,44000023],"tags":[],"class_list":["post-55001393","post","type-post","status-publish","format-standard","hentry","category-662022","category-66062022","category-Mit_Formularen_arbeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dynamische Bereichsh&ouml;he im Endlosformular - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/?p=55001393\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamische Bereichsh&ouml;he im Endlosformular\" \/>\n<meta property=\"og:description\" content=\"Ein Leser stellt mir neulich die Frage, ob und wie man die H&ouml;he der einzelnen Bereiche im Endlosformular dynamisch so einstellen kann, dass beispielsweise immer drei Datens&auml;tze angezeigt werden - auch, wenn der Benutzer die H&ouml;he des Endlosformulars w&auml;hrend der Anzeige &auml;ndert. Dieser Beitrag zeigt, wie das m&ouml;glich ist. Dabei behelfen wir uns einer Ereignisprozedur, die immer beim &Auml;ndern der Gr&ouml;&szlig;e eines Formulars ausgel&ouml;st wird - und eines kleinen Tricks, der wegen der enthaltenen Steuerelemente n&ouml;tig wurde.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/?p=55001393\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-01T11:15:49+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Dynamische Bereichsh&ouml;he im Endlosformular\",\"datePublished\":\"2022-12-01T11:15:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393\"},\"wordCount\":1482,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"articleSection\":[\"2022\",\"6\\\/2022\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393\",\"name\":\"Dynamische Bereichsh&ouml;he im Endlosformular - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"datePublished\":\"2022-12-01T11:15:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?p=55001393#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamische Bereichsh&ouml;he im Endlosformular\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dynamische Bereichsh&ouml;he im Endlosformular - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/?p=55001393","og_locale":"de_DE","og_type":"article","og_title":"Dynamische Bereichsh&ouml;he im Endlosformular","og_description":"Ein Leser stellt mir neulich die Frage, ob und wie man die H&ouml;he der einzelnen Bereiche im Endlosformular dynamisch so einstellen kann, dass beispielsweise immer drei Datens&auml;tze angezeigt werden - auch, wenn der Benutzer die H&ouml;he des Endlosformulars w&auml;hrend der Anzeige &auml;ndert. Dieser Beitrag zeigt, wie das m&ouml;glich ist. Dabei behelfen wir uns einer Ereignisprozedur, die immer beim &Auml;ndern der Gr&ouml;&szlig;e eines Formulars ausgel&ouml;st wird - und eines kleinen Tricks, der wegen der enthaltenen Steuerelemente n&ouml;tig wurde.","og_url":"https:\/\/access-im-unternehmen.de\/?p=55001393","og_site_name":"Access im Unternehmen","article_published_time":"2022-12-01T11:15:49+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/?p=55001393#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/?p=55001393"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Dynamische Bereichsh&ouml;he im Endlosformular","datePublished":"2022-12-01T11:15:49+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/?p=55001393"},"wordCount":1482,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"articleSection":["2022","6\/2022","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/?p=55001393#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/?p=55001393","url":"https:\/\/access-im-unternehmen.de\/?p=55001393","name":"Dynamische Bereichsh&ouml;he im Endlosformular - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"datePublished":"2022-12-01T11:15:49+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/?p=55001393#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/?p=55001393"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/?p=55001393#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Dynamische Bereichsh&ouml;he im Endlosformular"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001393"}],"version-history":[{"count":1,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001393\/revisions"}],"predecessor-version":[{"id":88073155,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001393\/revisions\/88073155"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}