2016-08-25 3 views
0

Ich habe ein Problem mit dem Laden von Wert von Beschriftung Überschrift Spinbutton Wert und zurück. Ich habe einige Daten vom Bericht, aber ich brauche nur 6-8 Stunden vom Bericht, also machte ich Form, wo ich Anfangszeit und Endzeit (JJJJ, MM, TT HH: Millimeter) einstellen und dann löschen möchte Zeilen, wo ist nicht meine Zeit, so lade ich Jahr, Monat, Tag, Stunde und Minute als Now() zu Beschriftungen, dann brauche ich Beschriftung der Beschriftung zu Wert von SpinButton und dann muss ich ändern Beschriftung zu Wert, wie hat Drehknopf. Vielen Dank für Ihre Beiträge und sorry für mein Englisch;) Hier ist mein Code:Beschriftung Beschriftung zu Drehknopf Wert

Sub spust() 

formtime.lblrok1.Caption = Format(Now, "yyyy") 
formtime.lblmes1.Caption = Format(Now, "mm") 
formtime.lblden1.Caption = Format(Now, "dd") 
formtime.lblhod1.Caption = Format(Now, "hh") 
formtime.lblmin1.Caption = Minute(Now) 

If Len(formtime.lblmin1.Caption) = 1 Then 
    formtime.lblmin1.Caption = "0" & Minute(Now) 
End If 

formtime.lblrok2.Caption = Format(Now, "yyyy") 
formtime.lblmes2.Caption = Format(Now, "mm") 
formtime.lblden2.Caption = Format(Now, "dd") 
formtime.lblhod2.Caption = Format(Now, "hh") 
formtime.lblmin2.Caption = Minute(Now) 

If Len(formtime.lblmin2.Caption) = 1 Then 
    formtime.lblmin2.Caption = "0" & Minute(Now) 
End If 

With formtime.spbutrok1 
    'my problem -> .Value = CInt(formtime.lblrok1.Caption) 
    .Min = 2010 
    .Max = 2030 

End With 

formtime.lblrok1.Caption = CStr(formtime.spbutrok1.Value) 

formtime.Show 
End Sub 

Antwort

0

die SpinButton kann ziemlich schwierig sein

Ihr Problem auf die Tatsache zurückzuführen ist, dass Standard SpinButton Steuergrenzen sind 0 (Min Eigentum) und 100 (Max Eigenschaft) und Sie versuchen, seine Value Eigenschaft auf einige 20XX Nummer (auf die zuvor lblrok1.Caption wurde initialisiert worden), die deutlich übersteigt es!

könnte es scheinen, die Lösung, die Einstellung zu verschieben:

With formtime.spbutrok1 
    .Min = 2010 
    .Max = 2030 
    .Value = CInt(formtime.lblrok1.Caption) 
End With 

aber es kommt in einem anderen SpinButton Ausgabe:

  • die Label Beschriftung auf den SpinButton Wert verknüpfen Sie den Code muss Benutzerformular Codefenster etwas wie:

    Private Sub spbutrok1_Change() 
        With Me 
         .lblrok1.Caption = .spbutrok1.value 
        End With 
    End Sub 
    
  • auf Definition eines SpinButton Grenzen, wenn seine aktuelle Value nicht bereits zwischen ihnen dann wird es zwischen seinen aktuellen Min und Max Werte

  • , wenn diese Bedingung erfüllt und verursacht eine auf Minimum eingestellt ist Änderung des SpinButtonValue), als es seine auslösen werde ‚Change()‘ Ereignis, das wieder Etikettenbeschriftung auf einen Wert ändert, der nicht derjenige ist, bist du

    in Ihrem Fall erwartet das Ergebnis wäre beide SpinButtonValue und entsprechenden LabelCaption Satz bis 2010 ...

so möchten Sie vielleicht eine solche Sequenz zu übernehmen:

With formtime.spbutrok1 
    .max = 2030'<--| this may trigger SB 'Change()' event handler that, via appropriate event handler coding, changes corresponding label capition accordingly 
    .min = 2011'<--| this may trigger SB 'Change()' event handler that, via appropriate event handler coding, changes corresponding label capition accordingly 
    .value = Format(Now, "yyyy"),'<-- set SB value to wanted value. And if this results in an actual change of the preceding value, then it'll trigger its 'Change()' event also that changes corresponding label capition accordingly 
End With 

Anders als das Datum Fragen (Monate Grenzen abweichen und Schaltjahr wirft etwas mehr Verwirrung) kann Ihnen mehr Codierungs-Kopfschmerzen geben: Sollte das der Fall sein, möchten Sie vielleicht andere Beiträge machen ...

+0

Danke für Ihre Antwort - Ich bin Begginer, also so dumme Fehler;) –

Verwandte Themen