Uporaba stikala za polje Da/Ne
Polje Da/Ne prikažite kot preklopno stikalo, ki učinkuje takoj, tako kot stikala v nastavitvah sistema
Windows: na obrazcu s kontrolnikom WklToggleSwitch, na seznamu pa kot stolpec v WklGrid ali
WklTreeList.
Zahteva WKL Forms Object Library 1.32 ali novejšo različico.
Pregled rešitve
- Na obrazcu: vstavite WKL Toggle Switch (kontrolnik ActiveX) in njegov Vir kontrolnika (
ControlSource) nastavite na polje Da/Ne, tako kot pri potrditvenem polju.Caption,OnTextinOffTextnastavite na strani oblikovalnika Stikalo ali v listu z lastnostmi. - Takojšen učinek: preklop, ki ga izvede uporabnik, spremeni zapis kot vsako urejanje; shranite ga v dogodku
ChangezMe.Dirty = False. - Urejanje ni mogoče:
Locked(zaklenjeno) = Da na kontrolniku aliAllowEdits(dovoli urejanje) = Ne na obrazcu – stikala tedaj ni mogoče preklopiti. - Na seznamu: stolpec z
Editor = wedToggleizriše enako stikalo;OnTextinOffTextstolpca dodata besedilo stanja (privzeto prazno, ker je na seznamu malo prostora). Klik ali preslednica preklopi in shrani kot vsako urejanje celice na seznamu.
Izvedba
Obrazec frmUporabnik, vezan na tblUporabnik, s stikalom tglAktiven, vezanim na polje Aktiven:
' Once, in design view (or on the designer's pages); saved with the form.
With Forms!frmUporabnik!tglAktiven
.ControlSource = "Aktiven"
.Object.Caption = "Račun"
.Object.OnText = "Aktiven"
.Object.OffText = "Zaklenjen"
End With
' Form module of frmUporabnik: every switch is saved at once.
Private Sub tglAktiven_Change()
Me.Dirty = False
End Sub
Seznam uporabnikov z enakim stikalom kot stolpcem:
With Me!lstUporabniki.Object
.RecordSource = "tblUporabnik"
.KeyField = "UporabnikID"
With .Columns.Add("Aktiven", "Račun")
.Editor = wedToggle
.OnText = "Aktiven"
.OffText = "Zaklenjen"
End With
End With
Opombe
- Pred shranjevanjem se ne zanašajte na polje. Access ob preklopu označi zapis kot spremenjen in vrednost stikala v polje zapiše najpozneje ob shranjevanju zapisa. V
Changein do shranjevanja lahko polje (Me!Aktiven) vrne še staro ali že novo vrednost. VChangenovo stanje preberite iz kontrolnika (Me!tglAktiven) ali najprej shranite. - Razveljavitev (Esc,
Me.Undo) stikalo vrne skupaj z zapisom. Value, nastavljen s kodo, le prikaže stanje in ne zapiše ničesar; namesto tega spremenite polje (Me!Aktiven = True).- Null – polje brez vrednosti, na primer stolpec bit v SQL Serverju, ki dovoljuje Null – prikaže sivo stikalo z gumbom na sredini in brez besedila stanja; prvi preklop ga vklopi.
- Bralniki zaslona napovejo gumb z vzorcem Toggle: napis (ali ime kontrolnika) in stanje vklopljeno, izklopljeno ali nedoločeno.
- Na uporabniških obrazcih (UserForm) v Excelu in Wordu stikalo deluje nevezano:
Valuenastavite s kodo in ga preberite vChange. - Ne v odseku s podrobnostmi neprekinjenega obrazca: Access tam ustvari en primerek kontrolnika ActiveX, ki prikazuje le trenutni zapis, z virom kontrolnika v odseku s podrobnostmi pa Access obrazca ne odpre do konca. Če potrebujete stikalo pri vsakem zapisu, uporabite stolpec seznama.
Sorodne teme
sl/wiki/msaccess/comctl/how-to/use-a-toggle-switch.txt · Zuletzt geändert: von Wolfgang van der Stille