Farbschema: Hell
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Inhalt von Layoutbereichen im Designer festlegen

Inhalt von Layoutbereichen im Designer festlegen

Legen Sie im Designer des Layouts fest, was die Unterformulare eines WklDockLayout anzeigen, und fügen Sie dort einen neuen Bereich hinzu, statt Unterformularsteuerelemente zu zeichnen und deren Eigenschaftenblätter einzeln auszufüllen.

Voraussetzungen: WKL Forms Object Library 1.37 oder höher.

Lösungsüberblick

Die Designerseite Inhalte listet jedes Unterformularsteuerelement des Formulars mit seinem Herkunftsobjekt (SourceObject) auf: einem Formular, einer Tabelle oder einer Abfrage der Datenbank. Die Karte Neuer Bereich fügt ein Unterformularsteuerelement mit Namen, Zone und Herkunftsobjekt hinzu. Solange der Designer geöffnet ist, wird nichts geschrieben. Bei OK oder Übernehmen schließt sich der Designer, und danach ändert das Layout das Formular in dieser Reihenfolge: zuerst neue Unterformularsteuerelemente, dann die Herkunftsobjekte, dann – wenn Beim Übernehmen einrichten eingeschaltet ist – die Korrektur der Platzierung (Verankerungen, Reihenfolge und die in der Entwurfsansicht dorthin verschobenen Bereiche, wo die Formularansicht sie zeigt). Speichern Sie das Formular anschließend wie nach jeder Änderung in der Entwurfsansicht.

Umsetzung

  1. Öffnen Sie das Formular in der Entwurfsansicht, markieren Sie das Layout-Steuerelement, öffnen Sie das Eigenschaftenblatt, Registerkarte Andere, und klicken Sie in der Zeile Benutzerdefiniert auf [...].
  2. Wählen Sie die Seite Inhalte. Das Raster Herkunftsobjekte hat eine Zeile je Unterformularsteuerelement. Ändern Sie das Herkunftsobjekt in der Spalte Herkunftsobjekt. Die Liste bietet Formulare, dann Tabellen, dann Abfragen an, jeweils alphabetisch und so geschrieben wie im Eigenschaftenblatt (Tabelle.tblArtikel, Abfrage.qryOffen in einem deutschen Access). (leer) entfernt das Herkunftsobjekt.
  3. Um einen Bereich hinzuzufügen, füllen Sie die Karte Neuer Bereich aus:
    • Name – der Name des neuen Unterformularsteuerelements;
    • Zone – Links, Oben, Rechts, Unten oder Füllen;
    • Herkunftsobjekt – was das neue Unterformular anzeigt, oder (leer);

      und klicken Sie auf Bereich anlegen. Dadurch wird auch Beim Übernehmen einrichten (Seite Bereiche) eingeschaltet, sodass der neue Bereich bei OK mit den anderen angeordnet wird. Der Bereich erscheint sofort in der Liste auf der Seite Bereiche und in der Vorschau, mit seinem Herkunftsobjekt hinter dem Namen.

  4. Klicken Sie auf OK, und speichern Sie dann das Formular.

Dieselben Änderungen per Code, in der Entwurfsansicht, ohne den Designer:

' Design view of frmAdmin is open. A new subform at the right edge, and a query in sfInfo.
Dim c As Control
Set c = CreateControl("frmAdmin", acSubform, acDetail, , , 9000, 0, 2400, 5000)
c.Name = "sfAudit"
c.SourceObject = "frmAudit"
Forms!frmAdmin!sfInfo.SourceObject = "Query.qryOffen"
Forms!frmAdmin!Layout1.Object.Panes = "lstKunden=Left; sfAudit=Right; sfInfo=Fill"

Access akzeptiert im Code Table.<name> und Query.<name> für SourceObject und gibt beim Lesen der Eigenschaft die Schreibweise seiner eigenen Sprache zurück: Ein deutsches Access liefert Abfrage.qryOffen für Query.qryOffen. Vergleichen Sie gelesene Werte daher mit beiden Schreibweisen.

Hinweise

  • Die Seite listet nur Unterformularsteuerelemente auf; andere Bereiche (Listenfelder, WKL-Steuerelemente) behalten ihren Inhalt.
  • Ein neuer Bereich braucht einen freien Namen: Buchstaben, Ziffern und _, beginnend mit einem Buchstaben, höchstens 64 Zeichen, und kein anderes Steuerelement des Formulars (auch nicht das Layout selbst) darf ihn tragen. Die Infoleiste der Seite nennt den Grund, wenn ein Name abgewiesen wird.
  • Ein neuer Bereich wird innerhalb des Rechtecks des Layouts am Rand seiner Zone platziert: mit einem Viertel der Breite (links, rechts) bzw. der Höhe (oben, unten) des Layouts, mindestens 2 cm (1.134 Twips). Ein Füllbereich nimmt das Rechteck des Layouts ein. Das Layout ordnet ihn beim Öffnen des Formulars wie jeden anderen Bereich an.
  • Ist die Liste auf der Seite Bereiche leer (Bereiche werden über ihre Position gefunden), schreibt das Hinzufügen eines Bereichs zuerst die über ihre Position gefundenen Bereiche aus, sodass sich der neue in der Andockreihenfolge einreiht. Das Layout verwendet danach diese Liste, statt Bereiche über ihre Position zu finden.
  • Bereiche lassen sich nur in der Entwurfsansicht eines Access-Formulars hinzufügen und Inhalte nur dort festlegen. Auf einem UserForm weist die Seite darauf hin, und Bereich anlegen lehnt mit einer Meldung ab.
  • Wird auf der Seite Bereiche eine Zeile entfernt, die mit Bereich anlegen hinzugefügt und noch nicht geschrieben wurde, entfällt auch der neue Bereich.
  • Die Änderungen erfolgen, nachdem sich der Designer geschlossen hat, außerhalb des Eigenschaftenblatts. Lehnt Access eine davon ab, nennt ein Meldungsfeld über dem Access-Fenster den Grund, und das Formular behält die bis dahin vorgenommenen Änderungen.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/set-the-content-of-layout-areas.txt · Zuletzt geändert: von Wolfgang van der Stille