Formularansichten von A-Z

Formular und die Möglichkeiten zum Einstellen der Ansichten

Bild 1: Formular und die Möglichkeiten zum Einstellen der Ansichten

In den aktuelleren Versionen von Access gibt es vier verschiedene Ansichten für Formulare. Während die Entwurfsansicht und die Layoutansicht ihren Nutzen bei der Entwicklung von Formularen unter Beweis stellen, sind die Datenblattansicht und die Formularansicht für die Datenanzeige und -bearbeitung sinnvoll. Aber sind dies alle Formularansichten Nein, denn es gibt auch noch die Endlosansicht. Wie Sie welche Ansichten einstellen und nutzen, zeigt der vorliegende Beitrag. Und Sie erfahren auch noch, wie Sie Formulare in den unterschiedlichen Ansichten öffnen und wie Sie den Benutzer davon abhalten, zu bestimmten Ansichten zu wechseln.

Ein neues Formular öffnen Sie in der Regel in der Entwurfsansicht. Von dort aus gelangen Sie dann mit dem Ribboneintrag Start|Ansichten und den dort enthaltenen Einträgen Formularansicht, Datenblattansicht, Layout-ansicht und Entwurfsansicht zu den verschiedenen Ansichten (siehe Bild 1).

Formular und die Möglichkeiten zum Einstellen der Ansichten

Bild 1: Formular und die Möglichkeiten zum Einstellen der Ansichten

Alternatives Umschalten

Was manche Leser vielleicht nicht wissen (ich selbst bin erst vor Kurzem darauf gestoßen): Es gibt noch eine weitere, schnellere Methode, gezielt eine der anderen Ansichten anzusteuern. Die dazu verwendeten Schaltflächen befinden sich ganz unten rechts in der Statusleiste des Access-Fensters (siehe Pfeil in der Abbildung). Hier brauchen Sie nicht erst zum passenden Ribbon-Tab zu wechseln und dann aus dem Popup-Menü die gewünschte Ansicht auszuwählen, wenn diese nicht zufällig gerade angeboten wird.

Sie klicken einfach auf die gewünschte Ansicht und das aktuelle Formular wird umgehend in dieser Ansicht angezeigt.

Noch schneller per Tastenkombination

Seit längerer Zeit hingegen arbeite ich jedoch mit den Tastenkombinationen zum Wechseln zwischen den Formularansichten.

Die Tastenkombinationen lauten:

  • Strg + . (Punkt): Wechselt in der Reihenfolge Entwurfsansicht – Formularansicht – Datenblattansicht zur jeweils nächsten Ansicht. Haben Sie die Datenblattansicht erreicht, benötigen Sie die nachfolgend vorgestellte Tastenkombination, um wieder zu den vorherigen Ansichten zu gelangen.
  • Strg + , (Komma): Wechselt in der Reihenfolge Datenblattansicht – Formularansicht – Entwurfsansicht zur jeweils nächsten Ansicht. Sind Sie bei der Entwurfsansicht angelangt, finden Sie über die zuvor beschriebene Tastenkombination wieder zu den anderen Ansichten.

Sie sehen hier, dass Sie die Layout-Ansicht nicht über diese Tastenkombinationen aktivieren können.

Formularansichten per VBA

Wenn Sie mit VBA arbeiten, möchten Sie Formulare in verschiedenen Ansichten öffnen. In der Regel ist die Ansicht, in der ein Formular angezeigt werden soll, jedoch schon über die Eigenschaft Standardansicht festgelegt.

Das heißt, dass wir in der Regel einfach nur das Formular in der Standardansicht öffnen, also etwa so:

DoCmd.OpenForm "frmTest", acNormal

Diesen Parameter brauchen Sie übrigens gar nicht anzugeben, weil es sich um den Standardwert handelt. Es geht also auch mit:

DoCmd.OpenForm "frmTest"

Wie Bild 2 zeigt, gibt es jedoch auch einige weitere Parameterwerte für die Festlegung der Formularansicht beim Öffnen mit der DoCmd.OpenForm-Methode:

Öffnen eines Formulars in den verschiedenen Ansichten per VBA

Bild 2: Öffnen eines Formulars in den verschiedenen Ansichten per VBA

  • acDesign: Entwurfsansicht
  • acFormDS: Datenblattansicht
  • acFormPivotChart: PivotChart-Ansicht, veraltet
  • acFormPivotTable: PivotTable-Ansicht, veraltet
  • acLayout: Layout-Ansicht
  • acNormal: Standardmäßig festgelegte Ansicht
  • acPreview: Vorschauansicht zum Drucken des Inhalts eines Formulars

Und was ist mit dem Endlosformular

Wenn Sie die Endlosansicht verwenden wollen, müssen Sie für die Eigenschaft Standardansicht den Wert Endlosformular einstellen (siehe Bild 3). Öffnen Sie das Formular danach per Doppelklick auf den Eintrag im Navigationsbereich oder mit der Methode DoCmd.OpenForm, wird das Formular in der Endlosansicht angezeigt.

Einstellen der Standardansicht eines Formulars

Bild 3: Einstellen der Standardansicht eines Formulars

Bei dieser Gelegenheit entdecken wir noch eine weitere Ansicht, nämlich die Ansicht Geteiltes Formular. Diese Ansicht ist ein Hybrid zwischen der Formularansicht und der Datenblattansicht. Beide Ansichten werden mit synchronen Daten in jeweils einem Bereich des Formulars angezeigt. Auch für diese Ansicht stellen Sie die Eigenschaft Standardansicht auf Geteiltes Formular ein und öffnen das Formular dann in der Formularansicht.

Formularansichten zulassen oder sperren

Direkt unter der Eigenschaft Standardansicht finden wir noch weitere interessante Eigenschaften:

  • Formularansicht zulassen: Legt mit Ja oder Nein fest, ob die Formularansicht zugelassen werden soll.
  • Datenblattansicht zulassen: Aktiviert oder sperrt die Datenblattansicht.
  • Layoutansicht zulassen: Aktiviert oder sperrt die Layoutansicht.

Sie können die Ansichten nur in den folgenden Kombi-nationen sperren:

  • Formularansicht und Layoutansicht
  • Datenblattansicht und Layoutansicht

Sie können nicht gleichzeitig die Formularansicht und die Datenblattansicht deaktivieren. Interessant ist, wie sich die Sperrung verschiedener Ansichten auf die Anzeige der Schaltflächen zum Auswählen der Formularansicht in der Statusleiste auswirkt. Wenn Sie die Formularansicht deaktivieren, wird nur noch die Schaltfläche für die Datenblattansicht angezeigt – ein Wechsel in die Layoutansicht ist dann auch nicht mehr möglich. Deaktivieren Sie die Datenblattansicht, bleiben die Schaltflächen für die Formularansicht und die Layoutansicht erhalten.

Deaktivieren Sie die Layoutansicht, wird nur diese Schaltfläche ausgeblendet.

Die Anzeige der Layoutansicht können Sie auch anwendungsweit deaktivieren, indem Sie die entsprechende Option in den Access-Optionen deaktivieren (siehe Bild 4).

Deaktivieren der Layoutansicht

Bild 4: Deaktivieren der Layoutansicht

Entwurfsansicht sperren

Es stellt sich allerdings die Frage, wie wir einen Wechsel in die Entwurfsansicht verhindern können Eine passende Eigenschaft finden wir im Eigenschaftsfenster jedenfalls nicht.

Der einfachste Weg, die Entwurfsansicht zu sperren, ist die Erstellung einer .accde-Datenbank. Diese enthält weder Entwurf noch Quellcode und schützt beides vor dem Benutzer.

Sie können auch dafür sorgen, dass alle Steuerelemente verschwinden, mit denen der Benutzer zur Entwurfsansicht wechseln könnte. Dazu nehmen Sie die folgenden Änderungen vor:

  • Deaktivieren Sie die Option Navigationsbereich anzeigen in den Access-Optionen.
  • Deaktivieren Sie außerdem die Optionen Vollständige Menüs zulassen und Standardkontextmenüs zulassen – ebenfalls in den Access-Optionen (siehe Bild 5).
  • Anpassen der Access-Optionen, um die Anzeige der Entwurfsansicht zu verhindern

    Bild 5: Anpassen der Access-Optionen, um die Anzeige der Entwurfsansicht zu verhindern

Nach einem Neustart der Anwendung können Sie die Entwurfsansicht nicht mehr über die Benutzeroberfläche anzeigen. Allerdings fällt so auch ein Großteil der eingebauten Elemente der Benutzeroberfläche weg. Und schließlich lässt sich die Benutzeroberfläche immer noch über die Tastenkombination Strg + , anzeigen – die der Benutzer normalerweise aber nicht kennt.

Ansichten per VBA aktivieren und deaktivieren

Wenn Sie per VBA eine oder mehrere Ansichten eines Formulars aktivieren oder deaktivieren möchten, verwenden Sie die folgenden Eigenschaften des Form-Objekts:

  • AllowDatasheetView: Erlaubt oder sperrt die Datenblattansicht.
  • AllowFormView: Erlaubt oder sperrt die Formularansicht.
  • AllowLayoutView: Erlaubt oder sperrt die Layoutansicht.

Diese Eigenschaften können Sie jedoch nur setzen, wenn das Formular in der Entwurfsansicht geöffnet ist. Von einer VBA-Prozedur in einem Standardmodul aus erledigen Sie das beispielsweise wie folgt:

Public Sub AnsichtenAnpassen()
     Dim frm As Form
     DoCmd.OpenForm "frmAnsichtenAktivieren", acDesign
     Set frm = Forms!frmAnsichtenAktivieren
     frm.AllowFormView = False
     'frm.AllowDatasheetView = False
     frm.AllowLayoutView = False
     DoCmd.Close acForm, frm.Name, acSaveYes
End Sub

Die Prozedur öffnet ein Formular in der Entwurfsansicht (Parameter acDesign), weist dieses der Objektvariablen frm des Typs Form zu und stellt dann die Eigenschaften für frm ein. Danach schließt sie das Formular mit der DoCmd.Close wieder, wobei der dritte Parameter angibt, das Änderungen ohne Rückfrage gespeichert werden.

Die Zuweisung des Wertes False an die Eigenschaft AllowDatasheetView ist auskommentiert, weil Sie nicht gleichzeitig die Formularansicht und die Datenblattansicht deaktivieren dürfen.

Spannend ist an dieser Stelle folgendes: Wenn Sie wie im Beispielcode oben für ein Formular die Formularansicht und die Layoutansicht deaktivieren und das Formular dann einfach per Doppelklick über den Navigationsbereich öffnen, erscheint dieses dennoch in der Formularansicht. Um zu verhindern, dass diese Ansicht angezeigt wird, müssen Sie also zusätzlich noch über die Eigenschaft Standardansicht festlegen, dass das Formular auch direkt in der Datenblattansicht geöffnet wird. Erst dann hilft das Verbieten der Ansichten Formularansicht und Layoutansicht, die Anzeige dieser Ansichten zu verhindern.

Die entsprechenden Elemente der Benutzeroberfläche sind nun ebenfalls deaktiviert – sowohl im Ribbon, im Kontextmenü als auch in der Statusleiste (siehe Bild 6).

Deaktivierte Ansichten sind auch nicht mehr über die Benutzeroberfläche verfügbar.

Bild 6: Deaktivierte Ansichten sind auch nicht mehr über die Benutzeroberfläche verfügbar.

Aktuelle Ansicht per VBA ermitteln

Wenn Sie die aktuelle Ansicht eines Formulars per VBA ermitteln wollen, können Sie das mit der Eigenschaft CurrentView des Form-Objekts erledigen. Diese Aufgabe führen wir mit der folgenden Anweisung im Direktbereich des VBA-Editors durch:

Debug.Print Forms(0).CurrentView
   0

Diese Eigenschaft liefert die folgenden Konstanten (in Klammern die Zahlenwerte) mit diesen Bedeutungen:

  • acNormal (0): Formularansicht
  • acDesign (1): Entwurfsansicht
  • acPreview (2): Vorschauansicht
  • acFormDS (3): Datenblattansicht
  • acLayout (6): Layoutansicht

Schreibe einen Kommentar