Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wenn Sie Formulare nicht aus speziellen Vorlagen oder aus bereits existierenden über Kopien erstellen, so ist einige Fleißarbeit im Entwurf angesagt, bis die Voreinstellungen von Access für neue Formulare durch Ihre eigenen Designvorstellungen ersetzt sind. Das unterbleibt oft, und so fristet auch die unscheinbare Eigenschaft Verschiebbar häufig ein Schattendasein. Schade, denn sie eröffnet ganz neue Gestaltungsmöglichkeiten für Ihre Datenbank!
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1606_FixedForms.accdb.
Verschiebbarkeit deaktivieren
Um unteren Bereich des Eigenschaftenblatts eines Formulars finden Sie den Eintrag Verschiebbar, den Access zunächst auf den Wert Ja einstellt. ändern Sie das auf Nein (siehe Bild 1), so kann das Formular zur Laufzeit weder über Maus und Titelzeile auf dem MDI-Arbeitsbereich von Access verschoben werden, noch über Tastenkombinationen oder Tools. Es bleibt an Ort und Stelle. Das funktioniert auch bei Formularen, bei denen die Eigenschaft Popup auf Ja steht. Popup-Formulare sind eigene Fenster, die nicht der Verwaltung des MDI-Arbeitsbereichs unterliegen, und dennoch kann Access sie anweisen, am Desktop festzukleben. Sie sind etwas schwieriger zu handhaben, weil sie leicht durch andere geöffnete Anwendungen oder Access selbst in den Hintergrund geraten.
Bild 1: Die Eigenschaft Verschiebbar eines Formulars
Das Formular frmFix der Beispieldatenbank öffnet sich gleich nach deren Start (Bild 2). In seinem Code Beim Laden blendet es zusätzlich den Navigationsbereich aus und außerdem den Ribbon. Von Access bleibt somit nur dessen Rahmen und Titelzeile übrig, und im Arbeitsbereich befindet sich das Formular in der linken oberen Ecke, aus der es auch nicht herausgeholt werden kann. Das Formular schaltet nach 5 Sekunden den Ribbon und Navigationsbereich wieder ein, womit sich die Darstellung aus Bild 3 ergibt. Gibt es nützliche Anwendungsgründe für diese Einstellung
Bild 2: Am fixierten Modus des Formulars ändert sich auch bei eingeblendetem Ribbon und Navigationsbereich nichts
Bild 3: Das Formular frmFix ist nicht über dessen Titelleiste verschiebbar
Die in der Regel verschiebbaren Formulare von Access werden spätestens dann unerfreulich, wenn mehrere Formulare in der Oberfläche geöffnet sind. Sie überlappen sich dann unter Umständen, oder ein Maximieren des einen überdeckt das andere. Das kann beim Anwender zu Irritationen führen – vor allem dann, wenn die Daten des einen mit denen das anderen in irgendeiner Weise verknüpft sind. Derlei Missverständnisse räumen Sie aus, wenn Sie Formulare an einem vorbestimmten Ort öffnen lassen und gegebenenfalls nebeneinander oder untereinander positionieren.
Sehr praktisch ist, dass die Eigenschaft Verschiebbar sich auch über VBA steuern lässt (Form.Moveable), und das auch noch zur Laufzeit des Formulars! Sie können also die Modi jederzeit ändern. Das Beispielformular frmFix wartet nach Einblenden des Ribbon nochmals 5 Sekunden und schaltet dann die Eigenschaft Verschiebbar auf Ja, worüber zusätzlich der Schriftzug in ihm informiert:
Me.Moveable = True
Me!LblInfo.Caption = _
"Sie können mich jetzt verschieben!"
Falls Sie interessiert, wie der Code zum Ausblenden von Ribbon und Navigationsbereich aussieht, so sehen Sie sich die Prozedur in Listing 1 an. übergeben Sie keinen Parameter für UnHide, wodurch der Wert der Variablen automatisch False beträgt, so werden die beiden Elemente ausgeblendet. Bei übergabe von True werden sie wieder eingeblendet.
Sub ShowNavigationPane(Optional UnHide As Boolean) On Error Resume Next DoCmd.SelectObject acTable, , True If UnHide Then RunCommand acCmdWindowUnhide DoCmd.ShowToolbar "Ribbon", acToolbarYes Else RunCommand acCmdWindowHide DoCmd.ShowToolbar "Ribbon", acToolbarNo End If End Sub
Listing 1: Ein- und Ausblenden des Ribbon und Navigationsbereichs
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo