Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2009.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Zeigen Sie Seitenfüße nur auf der letzten Seite eine Berichts an, bekommen Sie die Z-Reihenfolge von Formularsteuerelementen in den Griff oder erfahren Sie die Geheimnisse von verwandten Text- und Bezeichnungsfeldern.

Techniken

Tabellen, VBA, Textfelder

Voraussetzungen

Access 2000 oder höher

Beispieldateien

Decompile.mdb

Shortlink

697

Tipps und Tricks

André Minhorst, Duisburg

Wollten Sie schon immer mal einen Seitenfuß nur auf der letzten Berichtsseite anzeigen? Oder dem Benutzer die Möglichkeit geben, Steuerelemente auf Formularen einfach per Tastenkombination zu betätigen? Und kennen Sie schon den Trick, wie Sie ein Bezeichnungsfeld über die Entwurfsansicht von Formularen an ein anderes Steuerelement anhängen können? Und vielleicht interessiert Sie auch, wie das per VBA geschieht? Und wie funktioniert überhaupt die Z-Reihenfolge von Steuerelementen und warum scheint diese manchmal zu spinnen? Nun, irgendeiner dieser oder der anderen in diesem Beitrag enthaltenen Tricks wird Sie schon begeistern. Lesen Sie einfach weiter!

Seitenfuß nur auf letzter Seite

Der große Unterschied zwischen dem Seitenfuß und dem Berichtsfuß in der Seitenansicht von Berichten ist, dass der Seitenfuß immer ganz unten landet und der Berichtsfuß direkt hinter den letzten Detail- oder Gruppenfußbereichen.

Wer im Fuß der letzten Seite Informationen unterbringen möchte, und nur dort, der wird um den Einsatz des Seitenfuß-Bereichs also nicht herumkommen.

Es gibt mehrere Varianten, dafür zu sorgen, dass bestimmte Informationen des Seitenfußbereichs nur auf der letzten Seite angezeigt werden. Welche Sie wählen, hängt davon ab, ob der Seitenfußbereich auch auf den anderen Seiten Informationen anzeigen soll.

Ist dies nicht der Fall, verwenden Sie eine Lösung, bei der Sie den Seitenfuß einfach auf allen Seiten außer auf der letzten Seite ausblenden.

Generell blenden Sie einen Bereich ganz einfach aus, indem Sie eine Ereignisprozedur für die Ereigniseigenschaft Beim Formatieren anlegen und dort den Parameter Cancel auf False einstellen - so bleibt der Seitenfuß unsichtbar:

Private Sub Seitenfußbereich_Format(Cancel As

Integer, FormatCount As Integer)

    Cancel = True

    End Sub

Dieses Ereignis wird für jeden Seitenfußbereich einmal aufgerufen, also auch für jede Seite einmal. Aktuell wird der Seitenfuß aber auf jeder Seite ausgeblendet, auch auf der letzten. Sie müssen also noch herausfinden, ob das Ereignis für den Seitenfuß der letzten oder einer anderen Seite ausgelöst wird. Dazu legen Sie zunächst ein einfaches Textfeld mit der Bezeichnung txtSeiten und dem Steuerelementinhalt =Pages an.

Dieses Steuerelement zeigt nun im Seitenfuß jeweils die Gesamtseitenzahl des Berichts an. Damit lässt sich etwas anfangen, denn diese Information erhalten Sie auch via VBA - genauso wie die Nummer der aktuellen Seite.

Sie brauchen also nur noch zu prüfen, ob die aktuelle Seite der Seitenzahl entspricht, und genau dann den Fußbereich einzublenden. Und das geht so:

Private Sub Seitenfußbereich_Format(Cancel

As Integer, FormatCount As Integer)

    Cancel = Not (Me.Page = Me.Pages)

    End Sub

Sie mögen nun berechtigterweise fragen, warum wir ein Textfeld namens txtSeiten anlegen, um die Seitenzahl anzuzeigen, wenn wir doch per VBA die Seitenzahl ermitteln? Ganz einfach: Pages liefert nur dann die richtige Seitenzahl, wenn diese zuvor berechnet wurde - und das geschieht nur durch das Hinzufügen eines Steuerelements mit dem Steuerelementinhalt =Pages. Anderenfalls liefert Me.Pages immer den Wert 0.

Wenn Sie den Seitenfuß auch auf den übrigen Seiten verwenden möchten, um Informationen wie etwa die Seitenzahl anzuzeigen, und nur auf der letzten Seite sollen weitere Informationen erscheinen, haben Sie noch leichteres Spiel: Sie brauchen dann nur die Sichtbarkeit der entsprechenden Steuerelemente über die oben genannte Bedingung einzustellen, also etwa so:

Me.txtDatum.Visible = Me.Page = Me.Pages

Steuerelemente direkt per Tastatur ansprechen

Vielleicht haben Sie dies schon einmal bei anderen Anwendungen gesehen und sich gefragt, wie Sie das auch in Access-Formularen hinbekommen: Da findet man Schaltflächen und ähnliche Steuerelemente, bei denen ein bestimmter Buchstabe unterstrichen ist.

Wenn Sie den Buchstaben dann bei gedrückter Alt-Taste drücken, aktiviert oder betätigt Access das betroffene Steuerelement.

Bei einer Schaltfläche ist dies ganz einfach: Hier brauchen Sie nur die Beschriftung anzupassen, indem Sie vor das Zeichen, das unterstrichen dargestellt werden soll, ein Kaufmanns-Und (&) setzen - schon können Sie diese Schaltfläche per Tastatur steuern (s. Abb. 1).

pic003.png

Abb. 1: Verschiedene Beispiele für Steuerelemente, die Sie per Tastenkombination ausführen oder aktivieren können

Bei Beschriftungsfeldern von Steuerelementen gelingt dies ebenso schnell. Sie müssen nur beachten, dass Sie nicht das eigentliche Steuerelement, sondern das Beschriftungsfeld anpassen.

Dies aktiviert jeweils das mit dem Bezeichnungsfeld verknüpfte Steuerelement. Aufpassen müssen Sie, wenn Sie das Bezeichnungsfeld etwa eines Textfelds einmal ausgeschnitten und woanders eingefügt haben, um beispielsweise Spaltenüberschriften in einem Endlosformular zu erzeugen.

Dann sind Bezeichnungsfeld und Textfeld nicht mehr miteinander verknüpft und das Ausführen der Tastenkombination führt nicht mehr zum Erfolg. Das Bezeichnungsfeld verfügt dann aber über ein eigenes Beim Klicken-Ereignis, das Sie mit einer entsprechenden Ereignisprozedur füllen könnten, das wiederum das betroffene Steuerelement aktiviert.

Leider funktioniert dies aber in der Praxis nicht: Zwar führt ein Klick auf ein so ausgestattetes Bezeichnungsfeld tatsächlich zum Aktivieren des Steuerelements, aber die Tastenkombination hilft nicht weiter.

Die Beispiele zu diesem Tipp finden Sie im Formular frmSteuerelementPerTastatur der Beispieldatenbank.

Gebundene und ungebundene Bezeichnungsfelder

Es gibt nur eine Art von Bezeichnungsfeldern. Oder etwa doch nicht? Wenn wir die Bezeichnungsfelder, die automatisch mit anderen Steuerelementen wie Text-, Kombinations- oder Listenfeldern zum Formular hinzugefügt werden, mit denen vergleichen, die als eigenes Steuerelement im Formular oder Bericht landen, stellen wir zumindest einen großen Unterschied fest: Die allein stehenden Bezeichnungsfelder verfügen über fünf Ereigniseigenschaften, mit denen Sie beispielsweise einen Mausklick auf ein Bezeichnungsfeld abfangen können. Die gebundenen Bezeichnungsfelder besitzen gar keine Ereigniseigenschaften.

Desweiteren fehlen bei den gebundenen Bezeichnungsfeldern die beiden Eigenschaften Hyperlink-Adresse und Hyperlink-Unteradresse, und eine Kontextmenüleiste lässt sich auch nur bei ungebundenen Bezeichnungsfeldern über die gleichnamige Eigenschaft einstellen.

Dafür lassen sich gebundene Bezeichnungsfelder zusammen mit dem jeweiligen Steuerelement verschieben.

Wenn Sie einem gebundenen Bezeichnungsfeld eine Ereignisprozedur zuweisen möchten oder die übrigen beim gebundenen Bezeichnungsfeld fehlenden Eigenschaften nutzen möchten, erreichen Sie dies nur, wenn Sie die Bindung zwischen Bezeichnungsfeld und Steuerelement aufheben. Dies ist natürlich auch unbedingt nötig, wenn Sie das Bezeichnungsfeld als Spaltenüberschrift im Formularkopf und die eigentlichen Steuerelemente in der Endlosansicht im Detailbereich anzeigen möchten.

Wie aber heben Sie die Bindung auf? Ganz einfach: Sie schneiden das Bezeichnungsfeld mit Strg + X oder dem entsprechenden Kontextmenübefehl aus und fügen es im gewünschten Bereich mit Strg + V wieder ein.

Die Beziehung zwischen Bezeichnungsfeld und dem zu beschriftenden Steuerelement können Sie nur wieder herstellen, wenn Sie das Bezeichnungsfeld erneut ausschneiden, das Zielsteuerelement markieren und das Bezeichnungsfeld dann einfügen.

Steuerelemente mit und ohne Bezeichnungsfelder

Wenn Sie ein Steuerelement wie ein Textfeld in ein Formular einfügen, fügt Access immer automatisch ein Bezeichnungsfeld hinzu. Wirklich immer? Nein, Sie können diese Funktion auch deaktivieren.

Dazu öffnen Sie ein Formular in der Entwurfsansicht und klicken auf ein Steuerelement der Symbolleiste mit den Steuerelementen (Toolbox), zum Beispiel ein Textfeld. Fügen Sie das Textfeld aber noch nicht in das Formular ein!

Das Eigenschaftsfenster zeigt nun wie üblich die Eigenschaften des Steuerelements an. Aber auch nur anscheinend, denn es enthält auch einige Eigenschaften, die ein bereits angelegtes Textfeld-Steuerelement nicht aufweist.

Dazu gehört die Eigenschaft Mit Bezeichnungsfeld aus Abb. 2. Wenn Sie diese Eigenschaft auf den Wert Nein einstellen und die Einstellung mit Strg + S speichern, wird Access innerhalb dieses Formulars fortan nur noch Textfelder ohne Bezeichnungsfelder einfügen - aber nur für dieses Formular, nicht für andere.

pic004.png

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Auswahlfelder im Ribbon

Access-FAQ: Rund um Access

Gruppensummen ohne Gruppen im Berichtsfuß

Zugriff auf Daten in Formularen und Steuerelementen

Termine in Berichten darstellen

Das Optionsgruppen-Steuerelement

Berichte manuell füllen

Registersteuerelemente von A-Z

Flexible Datumstextfelder

TreeView-Elemente im Griff

Access 2007: Bilder und Schaltflächen

Listenfeld und Details in einem Formular

TreeView-Konfigurator

Lookup-Daten verwalten

Das Append-Only-Memofeld

Steuerelemente zur Laufzeit verschieben

Listenfelder von A-Z

Unterformulare im Gleichschritt

Mehrsprachige Anwendungen

Tipps und Tricks

Benutzerdefinierte Formatierung

HTML-Editor-Steuerelement

© 2003-2015 André Minhorst Alle Rechte vorbehalten.