Selektionen speichern

Mit den Möglichkeiten der Datenblattansicht können Sie bereits umfassende Filter einsetzen und Sortierungen anwenden. Dazu brauchen Sie nur die Steuerelemente zu nutzen, die bei einem Mausklick auf die Schaltfläche mit dem Pfeil nach unten im Spaltenkopf auftauchen. Aber was, wenn Sie immer wieder die gleichen Selektionen benötigen Sollen Sie dann etwa immer wieder manuell die gleichen Einstellungen vornehmen Nein, das wäre nicht die Idee von Access im Unternehmen. Wir zeigen Ihnen im vorliegenden Beitrag, wie Sie die Auswahl in Unterformularen in der Datenblattansichten speichern und einfach wiederherstellen können!

Beispieldatenbank zum Speichern von Selektionen

Ausgangssituation ist ein Hauptformular, das in einem Unterformular die Daten einer Tabelle oder Abfrage in der Datenblattansicht anzeigt. Um dies zu reproduzieren, legen Sie als Erstes ein neues, leeres Formular an und speichern es beispielsweise unter dem Namen frmSelektionenSpeichern. Lassen Sie das Formular gleich in der Entwurfsansicht geöffnet und stellen Sie die Eigenschaften Datensatzmarkierer, Navigationssteuerelemente, Bildlaufleisten und Trennlinien auf den Wert Nein und Automatisch zentrieren auf Ja ein.

Dann erstellen Sie ein weiteres neues Formular und speichern dieses unter dem Namen sfmSelektionenSpeichern. Dieses Formular soll die Daten der gewünschten Tabelle oder Abfrage in der Datenblattansicht anzeigen. Dazu tragen Sie den Namen der Tabelle oder Abfrage als Wert der Eigenschaft Datensatzquelle ein. Wir wollen die Tabelle tblArtikel unserer altbekannten Beispieldatenbank Südsturm verwenden. Anschließend ziehen Sie alle Felder der Datenquelle aus der Feldliste in den Detailbereich der Entwurfsansicht des Formulars. Eine weitere wichtige Einstellung ist die der Eigenschaft Standardansicht auf den Wert Datenblatt. Der Entwurf des Unterformulars sieht anschließend wie in Bild 1 aus. Das Unterformular können Sie nun speichern und schließen.

Entwurf des Unterformulars

Bild 1: Entwurf des Unterformulars

Unterformular einfügen

Nun ziehen Sie das Unterformular sfmSelektionenSpeichern aus dem Navigationsbereich in den Detailbereich des Entwurfs des Hauptformulars und richten es etwa wie in Bild 2 aus.

Einfügen des Unterformulars in das Hauptformular

Bild 2: Einfügen des Unterformulars in das Hauptformular

Genau wie dort dargestellt legen Sie für die beiden Eigenschaften Horizontaler Anker und Vertikaler Anker die Eigenschaft Beide fest.

Selektionen und Sortierungen vornehmen

Wenn Sie nun das Hauptformular in der Formularansicht anzeigen, können Sie mit den Elementen, die nach einem Klick auf die Schaltfläche mit dem nach unten zeigenden Dreieck erscheinen, verschiedene Selektionen und Sortierungen definieren.

Im Beispiel aus Bild 3 zeigen wir, wie Sie einen Textfilter anlegen. Dazu wählen Sie den Eintrag Textfilter des Popups mit den verschiedenen Befehlen aus und dann den gewünschten Vergleichsoperator wie beispielsweise Gleich… oder Enthält…

Einstellen von Filter- und Sortierkriterien

Bild 3: Einstellen von Filter- und Sortierkriterien

Filter- und Sortierausdruck ermitteln

Anschließend zeigt das Unterformular nur noch die den Kriterien entsprechenden Einträge an. Wenn Sie aber nun die gewünschte Sortierung hergestellt haben, wie können Sie diese dann speichern und wieder abrufen

Um diese zu speichern, müssen wir erst einmal herausfinden, wie wir die Sortierung und den Filter auslesen können. Dazu stellt ein Formular die beiden Eigenschaften OrderBy und Filter zur Verfügung. Zum Ausprobieren können wir den aktuellen Wert der Eigenschaft Filter über den Direktbereich erfragen. Dazu geben Sie dort eine Anweisung wie die folgende ein:

  Forms!frmSelektionenSpeichern!sfmSelektionenSpeichern. Form.Filter

Im vorliegenden Beispiel haben wir das Unterformular nach allen Datensätzen gefiltert, deren Feld Artikelname mit C beginnt. Deshalb liefert die Anweisung im Direktbereich die folgende Ausgabe:

([tblArtikel].[Artikelname] Like "c*")

Wenn Sie noch eine weitere Selektion beispielsweise nach der Kategorie Getränke vornehmen, erhalten Sie den folgenden, schon etwas komplizierteren Filterausdruck für das Datenblatt:

((([tblArtikel].[Artikelname] Like "c*"))) AND ([Lookup_KategorieID].[Kategoriename]="Getränke")

Auch Sortierungen können Sie so ermitteln. Wenn Sie gleichzeitig über die Benutzeroberfläche eine Sortierung nach dem Feld Artikelname definieren, finden wir die Sortierung wie folgt heraus:

  Forms!frmSelektionenSpeichern!sfmSelektionenSpeichern.Form.OrderBy

Das Ergebnis lautet dann:

[tblArtikel].[Artikelname]

Eine absteigende Sortierung nach dem gleichen Feld liefert folgenden Sortierausdruck:

[tblArtikel].[Artikelname] DESC

Tabelle zum Speichern der Sortier- und Filterausdrücke

Nun benötigen wir einen Ort, um den aktuell eingestellten Filter- und Sortierausdruck zu speichern. Unter Access bietet sich dazu eine Tabelle an. Bevor wir diese gestalten, klären wir noch, welche Daten wir darin speichern wollen.

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

TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar