Color scheme: Light
You are here: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Prikaz stanja iz polja zapisa

Prikaz stanja iz polja zapisa

Stanje trenutnega zapisa – „teče“, „ustavljeno“, „napaka“ – prikažite kot barvno stanje v eni vrstici na posamičnem obrazcu ali v glavi obrazca, z oznako stanja WklStatusLabel, vezano na polje.

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

Pregled rešitve

  • Vežite jo kot polje z besedilom: Vir kontrolnika (ControlSource) navede polje ali izraz. Access ob vsaki menjavi zapisa vpiše vrednost trenutnega zapisa v oznako; oznaka nikoli ne zapisuje nazaj.
  • Vrednosti postanejo besedilo in vrsta prek vnosov (AddStatusItem): en vnos za vsako vrednost, s prikazanim besedilom in vrsto (wskOk, wskWarn, wskBad, wskInfo, wskNeutral), ki določa barve. Vrednosti brez vnosa prikažejo vrednost, oblikovano s Format, v vrsti Kind, nastavljeni v načrtu.
  • Ali pa vrsto vzemite iz drugega polja (KindField), kadar jo zapis hrani: število od 0 do 5 ali ime, kot sta ok ali bad.
  • Videz izberete z Display: kapsula (wsdPill), pika (wsdDot) ali simbol (wsdSymbol) pred besedilom; Caption doda pred njim navadno besedilo („Storitev“).

Izvedba

Obrazec frmStoritve, vezan na tblStoritve, katerega polje Stanje vsebuje 0, 1 ali 2, z oznako stanja stStanje. Vnosi se dodajo enkrat v pogledu načrta in shranijo z obrazcem:

' Once, in design view (for example from the Immediate window); saved with the form.
DoCmd.OpenForm "frmStoritve", acDesign
With Forms!frmStoritve!stStanje
    .ControlSource = "Stanje"
    With .Object
        .Caption = "Storitev"
        .Display = wsdPill
        .ClearStatusItems
        .AddStatusItem 0, "ustavljeno", wskNeutral
        .AddStatusItem 1, "teče", wskOk
        .AddStatusItem 2, "napaka", wskBad
        .NullText = "neznano"
    End With
End With
DoCmd.Close acForm, "frmStoritve", acSaveYes

Če zapis hrani vrsto v lastnem polju (Vrsta: ok, warn, bad …) in besedilo v drugem (Sporocilo), vežite besedilo in navedite polje z vrsto:

With Forms!frmStoritve!stSporocilo
    .ControlSource = "Sporocilo"
    .Object.KindField = "Vrsta"
End With

Medtem ko teče dolgo dejanje, ga prikažite z utripom zasedenosti:

Me!stStanje.Object.Busy = True
' ... the action ...
Me!stStanje.Object.Busy = False

Opombe

  • Kje je lahko: na posamičnih obrazcih, v glavah in nogah obrazcev ter na uporabniških obrazcih (UserForm) v Excelu in Wordu. Ne v odseku s podrobnostmi neprekinjenega obrazca: Access tam ustvari en primerek, vezana oznaka pa prepreči, da bi Access obrazec odprl. Stanje za vsak zapis seznama sodi v stolpec stanja kontrolnika WklGrid (wedStatus), ki sprejme enake vnose.
  • Spremembe s kodo na istem zapisu: oznaka menjavam zapisov sledi sama; kadar koda spremeni polje z vrsto, ne da bi se premaknila na drug zapis, pokličite Refresh.
  • Barva nikoli sama: besedilo je vedno prikazano, visok kontrast se upošteva; bralniki zaslona slišijo napis, besedilo in vrsto.

Sorodne teme

sl/wiki/msaccess/comctl/how-to/show-a-status-from-a-field.txt · Last modified: by Wolfgang van der Stille