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.StatusTextundStatusKindzeigen an, ob das der Fall ist;CompareundDeltaKindzeigen die Veränderung seit der letzten Aktualisierung. - Eine
WklGaugefü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 einenKey; 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 (
Compareist 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 SieSourceObjectdes Seiten-Unterformulars undSelectedKeyder Navigationsleiste, und übergeben Sie den Filter in einer Modulvariablen, dieForm_Loadder 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