Color scheme: Light
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Startseite mit Kennzahlen aufbauen

Startseite mit Kennzahlen aufbauen

Zeigen Sie auf der ersten Seite einer Anwendung, was Aufmerksamkeit braucht – Kennzahlen mit einem Status, eine Messanzeige für eine Auslastung –, und öffnen Sie die passende Liste mit einem Klick.

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

Lösungsüberblick

  • Je Kennzahl eine WklKpiCard, die eine Handlung erfordern kann. StatusText und StatusKind zeigen an, ob das der Fall ist; Compare und DeltaKind zeigen die Veränderung seit der letzten Aktualisierung.
  • Eine WklGauge für eine Auslastung gegenüber Grenzwerten, mit Bereichen für ok, Warnung und schlecht.
  • Ein Zeitgeber aktualisiert die Werte (Form_Timer). Nichts ist gebunden; die Seite funktioniert daher mit jeder Datenquelle, auch mit einer verknüpften OData-Menge.
  • Click(Key) öffnet die Liste. Jede Karte hat einen Key; eine einzige Prozedur öffnet die Liste mit dem Filter für diesen Schlüssel.

Umsetzung

Das Formular frmStart mit den Karten kpiLocked und kpiExpiring und der Messanzeige gauLoad (fügen Sie sie mit den Steuerelementbausteinen oder über das Dialogfeld ActiveX-Steuerelement einfügen ein), TimerInterval 5000:

Private Sub Form_Load()
    With Me!kpiLocked.Object
        .Title = "Gesperrte Personen"
        .Key = "locked"
        .Clickable = True
        .StatusKind = wskBad
    End With
    With Me!kpiExpiring.Object
        .Title = "Laufen in 30 Tagen ab"
        .Key = "expiring"
        .Clickable = True
        .StatusKind = wskWarn
    End With
    With Me!gauLoad.Object
        .Caption = "Anmeldungen je Minute"
        .Max = 200
        .AddRange 0, 120, wskOk
        .AddRange 120, 170, wskWarn
        .AddRange 170, 200, wskBad
    End With
    Form_Timer
End Sub
 
Private Sub Form_Timer()
    ShowCount Me!kpiLocked.Object, DCount("*", "tblPerson", "Status = 'gesperrt'"), "Handlung nötig"
    ShowCount Me!kpiExpiring.Object, DCount("*", "tblPerson", "Ablauf Between Date() And Date() + 30"), "Hinweis"
    Me!gauLoad.Object.Value = DLookup("PerMinute", "qryLogonRate")
End Sub
 
Private Sub ShowCount(ByVal card As Object, ByVal count As Long, ByVal needsAction As String)
    card.Compare = card.Value
    card.Value = count
    card.StatusText = IIf(count > 0, needsAction, "")
    card.AddPoint count
End Sub
 
Private Sub kpiLocked_Click(ByVal Key As String)
    OpenList Key
End Sub
 
Private Sub kpiExpiring_Click(ByVal Key As String)
    OpenList Key
End Sub
 
Private Sub OpenList(ByVal key As String)
    Select Case key
        Case "locked": DoCmd.OpenForm "frmPeople", , , "Status = 'gesperrt'"
        Case "expiring": DoCmd.OpenForm "frmPeople", , , "Ablauf Between Date() And Date() + 30"
    End Select
End Sub

Hinweise

  • Bei der ersten Aktualisierung gibt es noch keinen Vergleichswert (Compare ist bis zur zweiten Null), daher wird noch keine Abweichung angezeigt.
  • Die Sparkline braucht Platz unter dem Wert; auf einer niedrigen Karte entfällt sie.
  • In einer Shell mit einer WklNavBar öffnen Sie die Liste nicht in einem eigenen Fenster, sondern als Seite des Unterformulars: Setzen Sie SourceObject des Seiten-Unterformulars und SelectedKey der Navigationsleiste, und übergeben Sie den Filter in einer Modulvariablen, die Form_Load der Seite liest. Das WKL Administration Shell Template geht so vor.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/build-a-start-page-with-key-figures.txt · Last modified: by Wolfgang van der Stille