Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Ansicht mit Segmenten umschalten

Ansicht mit Segmenten umschalten

Ein Listenformular bietet die Zeiträume „Tag“, „Woche“ und „Monat“ nebeneinander an, wie die Ansichtsumschalter von Office, und filtert seine Datensätze nach dem gewählten Zeitraum.

Voraussetzungen: WKL Forms Object Library 1.27 oder höher.

Lösungsüberblick

Ein WklButton der Art wbkSegment zeigt seine Segmente (AddSegment) nebeneinander. Eines ist ausgewählt (SelectedKey), und die Wahl des Benutzers löst Change aus. Die in der Entwurfsansicht festgelegten Segmente und die Auswahl werden mit dem Formular gespeichert; zum Einrichten ist daher kein Code nötig, Change wendet nur den Filter an.

Umsetzung

Im Designer (Zeile Benutzerdefiniert [...]): Art „Segmente“, Beschriftung „Zeitraum“ (der Name, den Sprachausgaben vorlesen), und auf der Seite Segmente die Zeilen tag / Tag, woche / Woche, monat / Monat, mit „Gewählt“ für tag. Dann:

Private Sub Form_Load()
    ApplyPeriod Me!btnZeitraum.Object.SelectedKey
End Sub
 
Private Sub btnZeitraum_Change()
    ApplyPeriod Me!btnZeitraum.Object.SelectedKey
End Sub
 
Private Sub ApplyPeriod(ByVal period As String)
    Select Case period
        Case "tag": Me.Filter = "Datum = Date()"
        Case "woche": Me.Filter = "Datum >= Date() - Weekday(Date(), 2) + 1"
        Case "monat": Me.Filter = "Year(Datum) = Year(Date()) And Month(Datum) = Month(Date())"
    End Select
    Me.FilterOn = True
End Sub

Hinweise

  • Change tritt nicht ein, wenn Code SelectedKey setzt; deshalb wendet Form_Load den Filter selbst an.
  • Ein Klick auf das ausgewählte Segment ändert nichts, wie bei einer Optionsgruppe. Mit MultiSelect lässt sich jedes Segment ein- und ausschalten; lesen Sie dann SelectedKeys.
  • Die Tastatur erreicht die Segmente mit einem einzigen Tabstopp; Nach-links und Nach-rechts wählen das benachbarte Segment.
  • Deaktivieren Sie ein Segment mit SegmentEnabled; die Tastatur überspringt es.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/switch-a-view-with-segments.txt · Zuletzt geändert: von Wolfgang van der Stille