Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Preklop pogleda s segmenti

Preklop pogleda s segmenti

Obrazec s seznamom ponudi obdobja „Dan“, „Teden“ in „Mesec“ drugo ob drugem, tako kot gumbi za preklop pogleda v Officeu, in svoje zapise filtrira po izbranem obdobju.

Zahteva WKL Forms Object Library 1.27 ali novejšo različico.

Pregled rešitve

WklButton vrste wbkSegment prikaže svoje segmente (AddSegment) drugega ob drugem; eden je izbran (SelectedKey), izbira uporabnika pa sproži Change. Segmenti in izbor, nastavljeni v pogledu načrta, se shranijo z obrazcem, zato za njihovo nastavitev ni potrebna koda; Change le uporabi filter.

Izvedba

V oblikovalniku (vrstica Po meri [...]): vrsta Segmenti, napis „Obdobje“ (ime, ki ga preberejo bralniki zaslona), na strani Segmenti pa vrstice dan / Dan, teden / Teden, mesec / Mesec, pri čemer je za dan nastavljeno Izbrano. Nato:

Private Sub Form_Load()
    ApplyPeriod Me!btnObdobje.Object.SelectedKey
End Sub
 
Private Sub btnObdobje_Change()
    ApplyPeriod Me!btnObdobje.Object.SelectedKey
End Sub
 
Private Sub ApplyPeriod(ByVal period As String)
    Select Case period
        Case "dan": Me.Filter = "Datum = Date()"
        Case "teden": Me.Filter = "Datum >= Date() - Weekday(Date(), 2) + 1"
        Case "mesec": Me.Filter = "Year(Datum) = Year(Date()) And Month(Datum) = Month(Date())"
    End Select
    Me.FilterOn = True
End Sub

Opombe

  • Change ne nastopi, ko SelectedKey nastavi koda; zato Form_Load filter uporabi sam.
  • Klik na izbrani segment ne spremeni ničesar, tako kot v skupini možnosti. Z MultiSelect se vsak segment vklaplja in izklaplja; tedaj preberite SelectedKeys.
  • Tipkovnica doseže segmente z enim tabulatorskim mestom; puščici levo in desno izbereta sosednji segment.
  • Segment onemogočite s SegmentEnabled; tipkovnica ga preskoči.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/switch-a-view-with-segments.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille