Office: Eigenes Kalenderpopup

Helfe beim Thema Eigenes Kalenderpopup in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Nabend, ich beschäftige mich erst seit kurzem mit Klassen, Events und RaiseEvents... Ich habe in einem Formular mehrere Datumsfelder, die auch mit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Marsu65, 9. Oktober 2010.

  1. Eigenes Kalenderpopup


    Nabend,

    ich beschäftige mich erst seit kurzem mit Klassen, Events und RaiseEvents...

    Ich habe in einem Formular mehrere Datumsfelder, die auch mit dem KalenderPopUp gefüllt werden können.

    Ich muss jetzt aber nur bei einem Datumsfeld auf Änderungen reagieren, bei den anderen Feldern nicht. Wo kann ich denn dem RaiseEvent das Control mitgegen auf das reagiert werden soll?

    Besten Dank!

    Grüße
    Ingo

    PS: Werde morgen leider keine Zeit haben am Stammtisch teilzunehmen.

    Im Formular mit den Textfeldern:
    Code:
    ändern in:
    Code:
    Und zusätzlich eine Prozedur im Formular
    Code:
    Das sollte reichen. *Smilie
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  2. Hallo Ingo,

    die Kalenderklasse weiß ja welches Steuerelement das Popup aufruft.
    Das könnte man im Event auch wieder zurückgeben.
    Code:
    Wenn du die Kalenderklasse/das Popupup z.B. mittels Doppelklick direkt auf das Textfeld
    startest, reicht es wenn du im Formular guckst, ob das entspr. Datumsfeld den Focus hat.
    Code:
     
  3. Hallo Axel,

    vielen Dank für deine Antwort.
    Ich haben einen Button in Form eines kleinen Kalenders neben dem jeweiligen Datumsfeld platziert.
    Ich habe mir jetzt mit einer Hilfsvariable geholfen, die auf True gesetzt wird, sobald man den Kalenderassistent gestartet hat. Im Kal_DateChanged prüfe ich dann, ob die Variable True ist und reagiere dann darauf.

    Eigentlich wollte ich die Hilfsvariable vermeiden und dachte man könnte dem Public Event DateChanged das Control mitgeben. Ich kann aber keine Parameter übergeben. Ginge das evtl. mit Properties? Da kenne ich mich auch nicht aus.

    Außerdem wird das Event immer ausgelöst, auch wenn man das Datum nicht ändert, also auf den selben Tag des Jahres im Monat klickt, der auch angezeigt wird. Das wäre schön, wenn man da auch noch darauf reagieren könnte (oder eben nicht). In der Kalenderklasse ist ja das Datum bekannt, es ist aber außerhalb nicht verfügbar.

    Übrigens: In diesem Thread ist im Beitrag 11 der Kalenderassistent zu finden. Leider fehlen da ab einem bestimmten Label die Einträge für das Hover-Ereignis. Ich habe auch die Farben ein klein wenig angepasst und ich glaube auch das Flackern etwas reduzieren können.
    Da das deine Kalenderklasse ist, kann ich dir gerne die angepasste Beispiledatenbank zuschicken. Du kannst sie ja dann hier oder im Code-Archiv veröffentlichen.

    Grüße
    Ingo
     
  4. Eigenes Kalenderpopup

    Hallo Ingo,
    hab mich schon länger nicht mehr damit beschäftigt, jetzt aber mal kurz nachgeschaut.
    Das ist in der Demo ja auch so.
    Du übergibst der Kalenderklasse ja das entsprechende Textfeld.
    Code im Demo-Formular:
    Code:
    Das könnte man in einer Formularvariablen zwischenspeichern und im Kal_DateChanged()-Event auswerten.
    Im Popup wird in der Variablen m_DateOpen das ursprüngliche Datum abgelegt.
    Du kannst das Auslösen des Events also davon abhängig machen, dass sich das
    Datum tatsächlich geändert hat.
    Code:
    Allerdings sehe ich dafür keine Notwendigkeit, da man das Popup auch ohne ein Datum
    auszuwählen über das rote Kreuz oder einen Klick ausserhalb des Popups wieder
    verlassen kann. Wer etwas auswählt, sollte wissen, was er tut. *wink.gif*

    Bei mir flackert nichts. Flackert die originaldemo bei dir auch?
    Vlt. sollten wir uns bei Gelegenheit mal ansehen, wie du es eingebunden hast.

    Es steht dir frei, deine Version zu veröffentlichen. Ein Hinweis auf das Original im Code
    setze ich dabei voraus.
     
  5. Hallo Axel,

    ich möchte im PopUpKalender prüfen, ob das neue Datum
    a) nicht in der Zukunft liegt oder
    b) nicht in der Vergangenheit liegt oder
    c) vor oder noch einem anderen Datum im Formular liegt.

    Ich habe schon versucht das Raise Event zu erweitern. In der Klasse:
    Code:
    und in der Code:
    und im eigentlichen Form dann Code:
    Beim Eintrag des alten korrekten Datums komme ich nicht weiter. Wie kann ich denn an dieser Stelle einfluss auf das Datum nehmen, oder bin ich da an der falschen Stelle unterwegs?
    Danke!

    Grüße
    Ingo
     
    Claypool, 18. Oktober 2018
    #35
  6. Hallo Ingo,
    Korrekt, eine solche Prüfung gehört ins aufrufende Hauptformular.
    Da du scheints die Änderungen für Susann schon eingebaut hast, verzichte
    in der Kalenderklasse auf die Wertzuweisung an das Control.
    Code:
     
  7. Hallo Axel,

    hmm, so einfach ;-]

    Vielen Dank. Dann werde ich mich mal an die Arbeit machen und die Notwendigen Ereignisse und Fehlerbehandlungen programmieren.

    Grüße
    Ingo
     
    Claypool, 19. Oktober 2018
    #37
Thema:

Eigenes Kalenderpopup

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden