Supportnet Computer
Planet of Tech

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



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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: