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
Changene nastopi, koSelectedKeynastavi koda; zatoForm_Loadfilter uporabi sam.- Klik na izbrani segment ne spremeni ničesar, tako kot v skupini možnosti. Z
MultiSelectse vsak segment vklaplja in izklaplja; tedaj preberiteSelectedKeys. - 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.