Supportnet / Forum / Datenbanken
Kalendersteuerelement
Frage
Hallo an alle,
ich verwende ein Kalendersteuerelemnt.
Wie kann ich erreichen, das nach Clicken auf ein beliebiges Datum im Kalender dieser wert in ein Textfeld übernommen wird.
Wer weiß Rat, vielen Dank.
Antwort 1 von struppi
Hi johny
Eine Möglichkeit:
Kalendersteuerelement zB Kalender nennen
Im Ereignis bei Zeitgeber des Formulares
schreibst Du:
me.Textfeld = Kalender.value
Timerintervall auf 1000 stellen.
Oder Du benutzt das Ereignis bei Focusverlust des Kalenders folgendes eintragen:
Kalender.Requery
me.textfeld = Kalender.Value
Dann trägt sich das Datum aber erst ein wenn Du in das nächste Steuerelement des Formulares springst/gehst/klickst wie auch immer
gruß struppi
Eine Möglichkeit:
Kalendersteuerelement zB Kalender nennen
Im Ereignis bei Zeitgeber des Formulares
schreibst Du:
me.Textfeld = Kalender.value
Timerintervall auf 1000 stellen.
Oder Du benutzt das Ereignis bei Focusverlust des Kalenders folgendes eintragen:
Kalender.Requery
me.textfeld = Kalender.Value
Dann trägt sich das Datum aber erst ein wenn Du in das nächste Steuerelement des Formulares springst/gehst/klickst wie auch immer
gruß struppi
Antwort 2 von PotzBlitz
Hallo johny,
wenn man sich die Eigenschaften des Kalender-Steuerelements im Eigenschaftsfenster anschaut, dann fehlen dort einige der gewohnten Ereignisse. Glücklicherweise sind viele der Standardereignisse trotzdem vorhanden, sie erscheinen aber nur bei der Ereignisauswahl im Modulfenster.
Demnach kann auch das NachAktualisierung-Ereignis problemlos verwendet werden. Im folgenden Code wird ein Kalendersteuerelement ctlCalendar vorausgesetzt:
-----------------------------
Private Sub Form_Load()
′Das Kalender-Steuerelement auf das heutige Datum voreinstellen
Me.ctlCalendar = Date
MsgBox "Der Kalender zeigt das heutige Datum an."
′Anschliessend den 1. des aktuellen Monats festlegen
With Me.ctlCalendar
.Day = 1
End With
End Sub
Private Sub ctlCalendar_AfterUpdate()
′Das vom Benutzer neu ausgewählte Datum wird dem Textfeld txtDate zugewiesen
Me.txtDate = Me.ctlCalendar.Value
With Me.ctlCalendar
′Demonstration der Eigenschaften Day, Month und Year, welche den _
jeweiligen Teil des Datums zurückgeben oder festlegen
MsgBox "Sie wählten den " & .Day & ". Tag des Monats " & _
Format(.Month, "mmmm") & " im Jahr " & .Year & ".", vbInformation
End With
End Sub
Private Sub ctlCalendar_BeforeUpdate(Cancel As Integer)
′Eine einfache Datenprüfung durchführen und ggfs. Auswahl abbrechen
If Me.ctlCalendar.Year = 2001 Then
MsgBox "Dieses Jahr ist vorbei, sie dürfen es nicht auswählen.", vbExclamation
Cancel = True
End If
End Sub
Private Sub ctlCalendar_NewMonth()
′Ein anderer Monat wurde ausgewählt
MsgBox "Der Monat hat sich geändert.", vbInformation
End Sub
Private Sub ctlCalendar_NewYear()
′Ein anderes Jahr wurde ausgewählt
MsgBox "Das Jahr hat sich geändert.", vbInformation
End Sub
-----------------------------
Gruss
PotzBlitz
wenn man sich die Eigenschaften des Kalender-Steuerelements im Eigenschaftsfenster anschaut, dann fehlen dort einige der gewohnten Ereignisse. Glücklicherweise sind viele der Standardereignisse trotzdem vorhanden, sie erscheinen aber nur bei der Ereignisauswahl im Modulfenster.
Demnach kann auch das NachAktualisierung-Ereignis problemlos verwendet werden. Im folgenden Code wird ein Kalendersteuerelement ctlCalendar vorausgesetzt:
-----------------------------
Private Sub Form_Load()
′Das Kalender-Steuerelement auf das heutige Datum voreinstellen
Me.ctlCalendar = Date
MsgBox "Der Kalender zeigt das heutige Datum an."
′Anschliessend den 1. des aktuellen Monats festlegen
With Me.ctlCalendar
.Day = 1
End With
End Sub
Private Sub ctlCalendar_AfterUpdate()
′Das vom Benutzer neu ausgewählte Datum wird dem Textfeld txtDate zugewiesen
Me.txtDate = Me.ctlCalendar.Value
With Me.ctlCalendar
′Demonstration der Eigenschaften Day, Month und Year, welche den _
jeweiligen Teil des Datums zurückgeben oder festlegen
MsgBox "Sie wählten den " & .Day & ". Tag des Monats " & _
Format(.Month, "mmmm") & " im Jahr " & .Year & ".", vbInformation
End With
End Sub
Private Sub ctlCalendar_BeforeUpdate(Cancel As Integer)
′Eine einfache Datenprüfung durchführen und ggfs. Auswahl abbrechen
If Me.ctlCalendar.Year = 2001 Then
MsgBox "Dieses Jahr ist vorbei, sie dürfen es nicht auswählen.", vbExclamation
Cancel = True
End If
End Sub
Private Sub ctlCalendar_NewMonth()
′Ein anderer Monat wurde ausgewählt
MsgBox "Der Monat hat sich geändert.", vbInformation
End Sub
Private Sub ctlCalendar_NewYear()
′Ein anderes Jahr wurde ausgewählt
MsgBox "Das Jahr hat sich geändert.", vbInformation
End Sub
-----------------------------
Gruss
PotzBlitz

