Datenblatt-Spaltenbreiten automatisch anpassen

Die Datenblattansicht ist die flexibelste Möglichkeit, um Daten in Tabellenform anzuzeigen. Dies geht sogar soweit, dass der Benutzer selbst die Spaltenbreiten anpassen kann, um jeweils den kompletten Inhalt der Felder einer Spalte anzuzeigen. Normalerweise brauchen Sie für das Einstellen der optimalen Breite jedoch zumindest einen Doppelklick je Spalte. Wir zeigen, wie Sie dies noch viel schneller und einfacher hinbekommen – bis hin zur vollautomatischen Lösung.

Bereits die Datenblattansicht einer Tabelle zeigt fast die kompletten Möglichkeiten dieser Ansicht bezüglich des Anpassens der Spaltenbreiten. Wenn Sie mit der linken Maustaste auf den schmalen Bereich zwischen zwei Spaltenüberschriften klicken und den Mauszeiger dann bei gedrückter Maustaste nach links oder rechts bewegen, ändern Sie die Spaltenbreite. Ein Doppelklick optimiert die Spaltenbreite, sodass nicht nur alle Inhalte eines Feldes sichtbar sind, sondern auch die komplette Spaltenüberschrift (s. Bild 1).

pic001.png

Bild 1: Eine Tabelle in der Datenblattansicht mit optimierten Spaltenbreiten

Allein bei Memofeldern funktioniert dies nicht richtig: Man hätte erwarten können, dass Access hier auch bei mehrzeiligen Inhalten die breiteste Zeile ermittelt und die Spaltenbreite entsprechend auslegt. Dies ist aber nicht der Fall: Access untersucht beim Doppelklick auf den Bereich zum Anpassen der Spaltenbreite nur die Zeichen bis zum ersten Zeilenumbruch, nicht aber eventuell folgende Zeilen. Die Datenblattansicht ist aber ohnehin kein besonders nettes Biotop für Memofelder, daher stört dies nicht weiter.

Anzumerken ist noch, dass sich die Optimierung immer nur auf die jeweils sichtbaren Datensätze bezieht. Wenn Sie also in den ersten Zeilen nur kurze Namen haben und die Spaltenbreite per Doppelklick optimieren, haben Sie nur wenig davon, wenn ein paar Zeilen weiter unten ein Müller-Schmidt-Meier kommt – Sie werden dann erneut doppelt auf den Spaltenkopf-Zwischenraum klicken müssen.

Automatisierungsmöglichkeit im Formular

Was in der Datenblattansicht einer Tabelle oder Abfrage nicht möglich ist, aber von Formularen durchaus verlangt werden kann, ist eine VBA-gesteuerte Optimierung der Spaltenbreiten. Für Beispielzwecke brauchen wir ein Haupt- und ein Unterformular, wobei das Hauptformular nur als Container für das Unterformular und eine Schaltfläche dient, deren Zwecke wir später erläutern.

Haupt- und Unterformular des Beispiels heißen frmAdressen und sfmAdressen, das Unterformular bezieht seine Daten aus der Tabelle tblAdressen und besitzt als Standardansicht den Wert Datenblatt. Die Schaltfläche aus Bild 2 können Sie bereits einfügen, wir werden sie aber erst später mit Code füllen.

pic002.png

Bild 2: Entwurfsansicht des Beispielformulars zum automatischen Optimieren der Spaltenbreiten

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar