Steuerelement Kalender

Hallo

Bin hier neu und bitte sorry falls ich hier irgendwelche Regeln missachtet habe. Bin in der Lernphase.

Ich habe ein Formular in diesen befindet sich ein registerfeld und in diesen ein Unterformular mit dem Textfeld Datum.

Nun möchte ich in diesen Textfeld Datum mittels Steuerelement Kalender das Datum einfügen.

Ich hätte da so einen Code aber der funkt nicht.

Private Sub Form_DblClick(Cancel As Integer)

Forms!Formular!Unterformular!Datum.Value = Kalender.Value

End Sub

Formular und Unterformular habe ich mit den richtigen Namen geschrieben hier nur in der Form um zu zeigen wie ich den weg zur zeit habe.

Vielleicht hat ja wer die Lösung für mich.

Danke

Hallo,

bau das Kalender-Steuerelement in das Unterform ein und benutz eine Ereignisprozedur ähnlich dieser:

Private Sub Kalender1_DblClick()
Me!Datum = Me!Kalender1
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

Nun möchte ich in diesen Textfeld Datum mittels Steuerelement
Kalender das Datum einfügen.

bei Doppelklick auf das Feld mit dem Datum, öffnest du eine neues Fenster, oder befindet sich das Kalender-Objekt neben dem Feld?

Private Sub Form_DblClick(Cancel As Integer)

Doppelklick auf das Formular macht keinen Sinn!
Überlege wann das Datum aus dem Kalender übertragen werden soll, erstelle ggf. dafür eine extra Taste.

Forms!Formular!Unterformular!Datum.Value = Kalender.Value

Me.Datum = me.Kalender sollte reichen

Hier in den FAQs findest du reichlich Links mit Beispielen, die du in deinen Code übernehmen kannst.

Schau dir die knowhow3 mal an, da ist u.a. auch ein Beispiel drin.
(man muss ja nicht immer das Rad neu erfinden :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

hallo

danke mal für die schnelle antwort, aber…

ich glaub ich muß es näher erklären.

Formular
darin ein Registersteuerelement
darin ein Unterformular in Datenblattansicht.

daher kann ich den kalender nicht in das Unterformular setzen.

der Vorgang sollte sich so abspielen.

wenn ich in das textfeld Datum zweimal klicke geht der kalender auf (das geht auch schon bei mir)
danach möchte ich das Datum im Kalender aussuchen und auch mit doppelklick in das Textfeld Datum schicken(doppelklick darum- da sich der Kalender danach automatisch schließt)

ich habe einen versuch wo alles in einem formular ist, da geht es auch. nur wenn ich wie in diesen formular ein unterformular habe geht es leider nicht.

Hallo

vorab- mein unterformular wo das datum textfeld ist ist in datenblatt ansicht.

ja wenn ich auf das feld datum doppelklick mache öffne ich ein neues formular mit dem kalender(hat den grund da ich noch funktionen zum kalender hinzufüge)

der doppelklick im kalender hat den sinn das es nicht gleich beim ersten klick in das feld schreibt sonder erst dann wenn wirklich das richtige datum im kalender ausgesucht habe. und danach wird der kalender mit der close funktion gleich mitgeschloßen.

Hallo

vorab- mein unterformular wo das datum textfeld ist ist in
datenblatt ansicht.

damit geht das auch nicht!
Wähle Endlosformular. Änderungen an den Datensätzen führst du dann im Formularfuss/-Kopf durch.

füge in das Kalender-Formular zwei Tasten (Button) hinzu:
[übernehmen] und [Abbruch].

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

hallo

ich kann es leider nicht in ein endlos formular umstellen da ich gebundene felder habe.

naja dann muß ich es halt händisch eingeben das datum, habe es ja auch bis jetzt so gemacht. wäre ein netter aufputz gewesen.

aber ich sage recht schönen dank das gleich so schnell eine antwort kommt.

Hallo,

schreib mal bei Doppelklick-Ereignis des Kalender(formulares) (oder bei einem anderen geeigneten Ereignis):

Screen.ActiveControl.Text= Me!Kalender1
oder
Screen.PreviousControl.Text= Me!Kalender1
evtl.dabei .Text auch weglassen.

je nachdem, wie Deine „Cursorsteuerung“ aussieht.

„Screen.ActiveControl“ wirkt auch auf Unterformularfelder.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

hallo

aber wie kann es sich hierbei auf das textfeld beziehen. bei diesem code gibt es keinen pfad? wie findet er den weg zu meinem textfeld datum?

hallo

ich kann es leider nicht in ein endlos formular umstellen da
ich gebundene felder habe.

doch, gerade dann wenn gebundene Felder vorhanden sind!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo,

aber wie kann es sich hierbei auf das textfeld beziehen. bei
diesem code gibt es keinen pfad? wie findet er den weg zu
meinem textfeld datum?

probier es doch einfach…

Wenn Du das Kalenderform mit z. B. Doppelklick auf das Feld „Datum“ öffnest, dann zeigt Screen.ActiveControl auf dieses Feld.

hallo

so ich bin leider einer von den ganz dummen,

hier habe ich den code wenn ich auf das textfeld Datum doppelklicke!

Private Sub Datum_DblClick(Cancel As Integer)
DoCmd.OpenForm „Kalender“
End Sub

damit mache ich per doppelklick auf textfeld datum den kalender auf,

danach mit doppelklick auf das richtige datum im Formular Steuerelement kalender

Private Sub Form_DblClick(Cancel As Integer)
Screen.ActiveControl.Text = Me!Kalender
End Sub

was mache ich falsch?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Private Sub Datum_DblClick(Cancel As Integer)
DoCmd.OpenForm „Kalender“
End Sub

du musst dem Formular „Kalender“ schon sagen, von welchem Feld es aufrufst:

DoCmd.OpenForm "Kalender", acNormal, , , , acDialog, Screen.ActiveControl

siehe dazu die Access-Hilfe zu DOCMD & Openform

Private Sub Form_DblClick(Cancel As Integer)
Screen.ActiveControl.Text = Me!Kalender
End Sub
was mache ich falsch?

nun musst du die Information die übergeben wurde auswerten:
(siehe dazu die Access-Hilfe für OpenArg

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then me.DATUMSFELD = Me.OpenArgs
end sub

D.h. du musst ein zusätzliches, ungebundenes Feld auf deinem Kalender erstellen (sichtbar = nein), das diese Information aufnimmt. Hier im Beispiel das Feld mit der Bezeichnung: DATUMSFELD

Private Sub Form_DblClick(Cancel As Integer)
Dim SAC as Control
Set SAC = Me.DATUMSFELD
SAC = Me!Kalender

'ggf. hier noch das Kalender-Formular schließen

End Sub

(nicht getestet, solle aber funktionieren :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo,

etwa so im Modul von Form „Kalender“:

Option Compare Database
Option Explicit
Dim ctl As Control

Private Sub Form_Close()
ctl.Text = Me!Calendar0
Set ctl = Nothing
End Sub

Private Sub Form_Open(Cancel As Integer)
Set ctl = Screen.ActiveControl
End Sub

und Aufruf kann so bleiben (besser wäre modal zu öffnen mit acDialog):

Private Sub Datum_DblClick(Cancel As Integer)
DoCmd.OpenForm „Kalender“, , , , , acDialog
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!