Barvna shema: Svetla
Trenutno dejavna stran: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » Status und Rückmeldung » WklBadge » Eine Zahl auf eine Schaltfläche setzen

Eine Zahl auf eine Schaltfläche setzen

In diesem Tutorial setzen Sie die Anzahl der offenen Sitzungen auf eine Schaltfläche eines Startformulars, zuerst per Code, dann gebunden an einen Ausdruck. Anschließend prüfen Sie, dass die Schaltfläche weiterhin auf einen Klick auf die Zahl reagiert.

Voraussetzungen

  • Microsoft 365 Access oder Access Runtime, in 32 oder 64 Bit, mit der WKL Forms Object Library 1.35 oder höher, installiert und für den aktuellen Windows-Benutzer registriert (Freigegebenes Paket installieren).
  • Eine neue oder vorhandene Datenbank an einem vertrauenswürdigen Speicherort.
  • Jedes WKL-Steuerelement öffnet seinen Designer auf dieselbe Weise: in der Entwurfsansicht im Eigenschaftenblatt (F4), Registerkarte Andere, Zeile Benutzerdefiniert, [...] (Designer eines Steuerelements öffnen).

Schritte

1. Beispieltabelle anlegen

Fügen Sie die Prozedur in ein Standardmodul ein und führen Sie sie einmal im Direktbereich aus (CreateBadgeSample):

Public Sub CreateBadgeSample()
    With CurrentDb
        .Execute "CREATE TABLE tblSitzung (ID LONG CONSTRAINT PK_Sitzung PRIMARY KEY, KundeID LONG, Offen YESNO)"
        .Execute "INSERT INTO tblSitzung VALUES (1, 1, True)"
        .Execute "INSERT INTO tblSitzung VALUES (2, 1, True)"
        .Execute "INSERT INTO tblSitzung VALUES (3, 2, False)"
    End With
End Sub

2. Formular mit Schaltfläche erstellen

Erstellen Sie in der Entwurfsansicht ein leeres Formular frmStart. Fügen Sie eine Befehlsschaltfläche hinzu, brechen Sie den Assistenten ab, nennen Sie die Schaltfläche cmdSitzungen und geben Sie ihr die Beschriftung &Sitzungen. Geben Sie ihr eine Ereignisprozedur für den Klick:

Private Sub cmdSitzungen_Click()
    MsgBox "Sitzungen öffnen"
End Sub

3. Badge einfügen

Wählen Sie Formularentwurf › Steuerelemente › ActiveX-Steuerelemente › WKL Badge und ziehen Sie es nahe der oberen rechten Ecke der Schaltfläche auf, etwa so groß wie ein kleines Quadrat. Nennen Sie es badSitzungen (Eigenschaftenblatt, Registerkarte Andere, Name).

4. Badge auf die Schaltfläche richten

Öffnen Sie den Designer: Eigenschaftenblatt, Registerkarte Andere, Zeile Benutzerdefiniert [...]. Wählen Sie auf der Seite Ziel cmdSitzungen als Ziel und „Oben rechts“ als Ecke, geben Sie als Gezähltes Offene Sitzungen ein und setzen Sie das Häkchen bei An Ziel ausrichten. Klicken Sie auf OK: Das Badge springt auf die Ecke der Schaltfläche.

5. Zahl per Code setzen

Fügen Sie dem Formularmodul hinzu und wechseln Sie in die Formularansicht:

Private Sub Form_Load()
    Me!badSitzungen.Object.Count = DCount("*", "tblSitzung", "Offen = True")
End Sub

Die Schaltfläche zeigt an ihrer Ecke eine rote „2“. Klicken Sie auf die „2“: Das Meldungsfenster der Schaltfläche erscheint, weil der Klick durch das Badge hindurch an die Schaltfläche geht.

6. Stattdessen binden

Entfernen Sie Form_Load und setzen Sie den Steuerelementinhalt des Badges (Eigenschaftenblatt, Registerkarte Daten) auf:

=DCount("*";"tblSitzung";"Offen = True")

Ein deutsches Access trennt die Argumente im Eigenschaftenblatt mit ;, ein englisches mit ,. Wechseln Sie in die Formularansicht: Die Zahl stammt aus dem Ausdruck, den Access wie bei einem berechneten Textfeld berechnet.

Erwartetes Ergebnis

  • Die Schaltfläche zeigt in der Formularansicht an ihrer oberen rechten Ecke „2“; in der Entwurfsansicht bleibt das Badge dort, wo Sie es aufgezogen haben.
  • Ein Klick auf die Zahl führt cmdSitzungen_Click aus; die Tabulatortaste hält nie am Badge.
  • Gibt es keine offene Sitzung (alle Offen = Nein), ist das Badge beim Öffnen des Formulars ausgeblendet.

Nächste Schritte

de/wiki/msaccess/comctl/status-and-feedback/badge/tutorial.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille