Farbschema: Hell
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Zahl mit Pfeilen und Einheit eingeben

Zahl mit Pfeilen und Einheit eingeben

Mit WklSpinEdit in einem Formular oder mit einer Drehfeldspalte in einer Liste stellt der Benutzer eine Zahl innerhalb von Grenzen ein, etwa die Laufzeit eines Schlüssels in Tagen oder die Dauer einer Sitzung in Stunden.

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

Lösungsüberblick

  • Binden Sie es wie ein Textfeld: Steuerelementinhalt (ControlSource) nennt ein Zahlenfeld.
  • Legen Sie die Regeln fest: MinValue, MaxValue, Step, DecimalPlaces und Unit für den Text hinter der Zahl – auf der Designerseite Zahl oder per Code in der Entwurfsansicht.
  • Teilen Sie dem Benutzer in InvalidEntry mit, warum eine Eingabe abgelehnt wurde; das Steuerelement zeigt kein Meldungsfenster.
  • In einer Liste: eine Spalte mit Editor = wedSpin, MinValue, MaxValue, Step und Unit.

Umsetzung

Ein Formular frmKey, gebunden an tblKey, mit einem WklSpinEdit spnDays, gebunden an das Feld LaufzeitTage, und einem Bezeichnungsfeld lblHint:

' Once, in design view (or on the designer's page Zahl); saved with the form.
With Forms!frmKey!spnDays
    .ControlSource = "LaufzeitTage"
    .Object.MinValue = 1
    .Object.MaxValue = 3650
    .Object.Step = 30
    .Object.Unit = "Tage"
End With
' Module of frmKey: say why an entry was refused, and clear the hint after a valid change.
Private Sub spnDays_InvalidEntry(ByVal Text As String, ByVal Message As String)
    Me!lblHint.Caption = "„" & Text & "“: " & Message
End Sub
 
Private Sub spnDays_Change()
    Me!lblHint.Caption = ""
End Sub

Dieselben Regeln als Spalte eines WklGrid namens Grid1:

With Me!Grid1.Object.Columns("LaufzeitTage")
    .Editor = wedSpin
    .MinValue = 1
    .MaxValue = 3650
    .Step = 30
    .Unit = "Tage"
End With

Hinweise

  • Dezimalstellen. Im Formular rundet DecimalPlaces die Zahl und zeigt sie entsprechend an; Value ist dann ein Double. In einer Spalte richten sich die Dezimalstellen nach der Schrittweite (eine Schrittweite von 0,25 zeigt zwei).
  • Tippen. Eine gültige Zahl wird Access schon während des Tippens gemeldet; Zwischenwerte auf dem Weg zu einer abgelehnten Zahl (400 auf dem Weg zu 4000 bei MaxValue = 3650) werden zurückgenommen, wenn der Benutzer das Feld verlässt.
  • Werte außerhalb der Grenzen, die aus dem Datensatz oder aus dem Code stammen, werden unverändert angezeigt.
  • Locked und AllowEdits. Ein gesperrtes Steuerelement oder ein Formular mit AllowEdits = False reagiert nicht auf Pfeile, Tasten und Eingaben.
  • Nicht im Detailbereich eines Endlosformulars: Access legt dort nur eine Instanz an; verwenden Sie in einer Liste eine Drehfeldspalte von WklGrid.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/enter-a-number-with-arrows.txt · Zuletzt geändert: von Wolfgang van der Stille