Dynamische Layouts

Es ist sehr praktisch, in einer Datenblattansicht die Spalten selber anordnen zu können. Ein so geändertes Layout speichert Access sogar dauerhaft, so dass es beim nächsten Aufruf der Tabelle oder des Formulars bereits eingestellt ist. Das allerdings führt in Mehrbenutzerumgebungen unweigerlich zu Missstimmung, denn jeder überschreibt des anderen Lieblings-Layout. Die hier vorgestellte Lösung zeigt, wie Sie solche Layouts clever verwalten.

In einem Layout sollen ein beliebiger Name sowie eine Auflistung der vorhandenen Spalten mit ihren wesentlichen Eigenschaften wie Position, Breite und so weiter enthalten sein. Das ist also eine klassische 1:n-Beziehung zwischen den Tabellen tblLayouts und tblSpalten.

Allerdings kann nicht jedes Layout überall aufgerufen werden, weil ja unterschiedliche Spalten enthalten sind. Daher muss der Name des Formulars beziehungsweise der Tabelle auch gespeichert werden.

Wegen der Mehrbenutzerumgebung sollen die Layouts zudem in allgemeine und persönliche unterteilt werden. Allgemeine Layouts können zwar von allen benutzt, aber nicht verändert werden, während persönliche Layouts nur vom jeweiligen Ersteller gespeichert, aufgerufen und gelöscht werden können.

Dazu wird außer dem Formular-/Tabellen-Namen auch der Benutzername gespeichert. Für allgemeine Layouts wird dieser Eintrag einfach manuell in tblLayouts gelöscht, um den Aufwand hier zu Demozwecken gering zu halten.