Office: (Office 2007) Kontrollkästchen aktualisiert nicht ad hoc

Helfe beim Thema Kontrollkästchen aktualisiert nicht ad hoc in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe in einem Form mehrere Kontrollkästchen mit entsprechenden Bezeichnungsfeldern. Ich möchte es so realisieren, dass, wenn der... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von WST, 18. Dezember 2019.

  1. Kontrollkästchen aktualisiert nicht ad hoc


    Hallo zusammen,

    ich habe in einem Form mehrere Kontrollkästchen mit entsprechenden Bezeichnungsfeldern. Ich möchte es so realisieren, dass, wenn der Haken in das Kästchen gesetzt wird, dass dazugehörige Bezeichnungsfeld sofort die Schriftfarbe ändert und nicht erst dann, wenn ich zum nächsten Datensatz und dann wieder zurück gehe. Also: Haken setzen und sofort sehen*wink.gif*

    Ich verwende folgende Ereignisprozedur:

    Private Sub Datenschutzerklärung_Click()
    If IsNull(Me!Vorname) Then
    Me!BezAktivesMitglied.Caption = "Neuer Datensatz!"
    Me!Infofeld.Caption = "Bitte alle mit * gekennzeichneten Felder ausfüllen." & vbNewLine & "(Weitere Felder können optional gefüllt werden)"
    Me.BezAktivesMitglied.FontUnderline = True
    Me!BezAktivesMitglied.ForeColor = vbBlack
    Me.Requery 'Anzeige "Datenschutzerklärung" wird aktualisiert
    Else
    Me!Infofeld.Caption = ""
    Me.Requery 'Anzeige "Datenschutzerklärung" wird aktualisiert
    End If
    End Sub


    Wenn ich den ersten Datensatz aufrufe, kein Problem. Rufe ich andere Datensätze auf und klicke das Kontrollkästchen an, springt Access wieder zurück auf den ersten Datensatz. Der zuvor bearbeiteten Datensatz wurde zwar aktualisiert, ich sehe es aber erst dann, wenn ich wieder zu dem Datensatz wechsle.
    Wo ist mein Gedankenfehler?*eek.gif*

    :)
     
  2. Überlege mal laut, was Requery so macht.

    Wäre da das AfterUpdate des Controls nicht geeigneter als ein Klick irgendwo?
     
  3. Hallo Eberhard,

    vielen Dank für Deine Reaktion.
    Ich habe die Prozedur (mit Refresh, Repaint und Requery) als erstes über das AfterUpdate des Controls laufen lassen.
    Nur mit Requery habe ich überhaupt eine Reaktion erkennen können. Allerdings war das Resultat das gleiche wie beim Ereignis "Click" des Controls.

    Frage:
    Warum aktualisiert Access bspw. andere Steuerelemente (Bilder nach Eingabe des Pfades sofort) und die Eingabe ins Control nicht?

    Da ich Autodidakt bin, alt und "blond" *wink.gif* suche ich über das Forum nach einer Lösung.
    Klar, was das "Requery" macht, ist hier kontraproduktiv, nur im Internet habe ich sonst nichts aussagekräftigeres gefunden.
    Wäre toll, wenn Du oder jemand anderes hier im Forum, mir hier einen Lösungsansatz oder gerne auch eine Lösung für mein Problem aufzeigen könnte.

    An dieser Stelle wünsche ich allen "Forumlern" eine schöne Weihnachtszeit, viel Gesundheit und damit natürlich auch einen guten Start ins neue Jahr.

    Viele Grüße aus dem schönen Münsterland
    Winni
     
  4. Kontrollkästchen aktualisiert nicht ad hoc

    Gegenfrage: Du behauptest, beim Klick in eine Checkbox wird der Haken nicht eingetragen bzw. entfernt?
     
  5. Hallo Winni,
    Wenn die Checkbox "Datenschutzerklärung" heisst (i.Ü. sollte man, auch wie bei Objektnamen,
    im Code keine Sonderzeichen in Prozedur- und Variablennamen verwenden) dann ist der Code
    hier z.T. an der falschen Stelle (Pflichtfelder werden beim Ereignis Form_BeforeUpdate geprüft).
    IMO reicht hier
    Code:
    Der Rest in
    Code:
    gruss ekkehard
     
    Beaker s.a., 21. Dezember 2019
    #5
  6. #gelöscht#
     
  7. Hallo WST,

    also irgendwie wird nicht ganz klar, was du da vorhast. Wenn du eine Checkbox aktivierst bzw. deaktivierst, folgt die Anzeige natürlich direkt dem Ereignis. Dieses trifft ebenso auf Änderungen an der Darstellung von Steuerelementen im AfterUpdate Ereignis zu.

    Validierungsregeln gehören in ein BeforeUpdate Event.

    Und warum muß überhaupt ein Refresh/Requery auf das Formular angewendet werden?

    Vielleicht kannst du mal ein passenden Beispiel hier hochladen?

    Gruß Ulrich
     
    knobbi38, 21. Dezember 2019
    #7
  8. Kontrollkästchen aktualisiert nicht ad hoc

    SORRY,

    habe mich wohl missverständlich ausgedrückt.

    wenn ich das Control anklicke erscheint natürlich der Haken!*cool.gif*

    Mit dem Anklicken möchte ich erreichen, dass sich z.B. die Textfarbe in einigen Steuerelementen oder Bezeichnungsfeldern dieses Formulares ändert und das diese Farbänderung sofort erkennbar wird
    und nicht erst dann, wenn ich ich den Datensatz speicher, beende und dann dann erneut aufrufe.
    Quasi zeitgleich mit dem Setzen des Haken die Änderungen sofort sichtbar werden.
    Ich hoffe, dass es so verständlicher rüberkommt.*Smilie

    Wenn einer von euch mir hier einen passenden Tip geben kann wäre ich sehr dankbar
     
  9. Hallo,
    den passenden Tip gab es schon in der Antwort #2.
    Der Code gehört in das Ereignis "Nach Aktualisiierung" des Hakenfeldes.
    Auf das Requery kann dann verzichtet werden.
     
    gpswanderer, 22. Dezember 2019
    #9
  10. Wie gesagt, dann musst Du auch diese Maßnahmen per AfterUpdate der Checkbox veranlassen.
    (Ich hoffe, der Satz ist nicht zu lang, um inhaltlich in Gänze wahrnehmbar zu sein.)
     
  11. Hallo zusammen,

    nochmals "mea culpa"*wink.gif* , dass ich das Problem so missverständlich beschrieben habe.
    Ich habe eine Lösung (nachfolgend beschrieben) für mich gefunden *Smilie

    Mein Problem: Beim Anklicken des Kontrollkästchen soll sich die Textfarbe des zugehörigen Bezeichnungsfeldes ändern und umgekehrt.
    Des weiteren sollen, wenn ein neuer Datensatz angelegt wird, die Bezeichnungsfelder: "BezAktivesMitglied" und "Infofeld" entsprechende Texte anzeigen.

    Hier meine Lösung:

    Private Sub Datenschutzerklaerung_Click()
    'Me.Dirty = False
    End Sub

    Private Sub Datenschutzerklaerung_AfterUpdate()
    If Me!Datenschutzerklaerung = True Then
    Me!BezDatenschutzerklaerung.ForeColor = vbRed
    Me.BezDatenschutzerklaerung.FontBold = True
    End If
    If Me!Datenschutzerklaerung = False Then
    Me!BezDatenschutzerklaerung.ForeColor = RGB(127, 127, 127)
    Me.BezDatenschutzerklaerung.FontBold = False
    End If
    End Sub

    Private Sub Form_Current()
    If Me.NewRecord Then
    Me!BezAktivesMitglied.Caption = "Neuer Datensatz!"
    Me.BezAktivesMitglied.FontUnderline = True
    Me!BezAktivesMitglied.ForeColor = vbBlack
    Me!Infofeld.Caption = "Bitte alle mit * gekennzeichneten Felder ausfüllen." & vbNewLine & "(Weitere Felder können optional gefüllt werden)"
    Cancel = True
    Else
    Me!BezAktivesMitglied.Caption = "Aktives Mitglied!"
    Me.BezAktivesMitglied.FontUnderline = True
    Me!BezAktivesMitglied.ForeColor = RGB(127, 127, 127)
    Me!Infofeld.Caption = ""
    Cancel = True
    End If

    If Me!Datenschutzerklaerung = True Then
    Me!BezDatenschutzerklaerung.ForeColor = vbRed
    Me.BezDatenschutzerklaerung.FontBold = True
    End If
    If Me!Datenschutzerklaerung = False Then
    Me!BezDatenschutzerklaerung.ForeColor = RGB(127, 127, 127)
    Me.BezDatenschutzerklaerung.FontBold = False
    End If

    End Sub


    Wahrscheinlich gibt es elegantere Lösungen, aber diese funktioniert super.
    Sollte euch irgendetwas auffallen, was unsinnig ist, schreibt es mir gerne.

    Viele Dank an alle, die versucht haben, mich auf den rechten Pfad zu führen*wink.gif*
    Schöne Feiertage und liebe Grüße aus dem schönen Münsterland*winken

    Winni
     
  12. Hallo Winni,
    Beim letzten Codeblock kannst du auch Else verwenden.
    Code:
    gruss ekkehard
     
    Beaker s.a., 23. Dezember 2019
    #12
  13. Kontrollkästchen aktualisiert nicht ad hoc

    \@ekkehard:
    wenn der Wert direkt vom Ausdruck der If-Bedingung abhängt, gehört er nicht unbedingt in die IF-THEN-ELSE Anweisung, sondern kann direkt zugewiesen werden: Code:
    und die Prüfung Me!Datenschutzerklaerung = True ist bei IF doppelt gemoppelt und genauso wäre das mit Me!Datenschutzerklaerung = False, was bei IF dann einfach als NOT Me!Datenschutzerklaerung geschrieben werden würde. Ich weiß auch nicht, wieso das immer wieder auftaucht. *rolleyes.gif*

    Hallo Winni,

    ich habe mir mal erlaubt, deinen Code etwas umzuschreiben und die Berücksichtigung des UNDO-Ereignisses noch mit eingebaut:
    Code:
    Gruß Ulrich
     
  14. Hallo Ulrich,
    So ist es natürlich am Einfachsten; - mach' ich ja normalerweise auch so.
    Hier habe ich einfach nicht dran gedacht (Schnellschuss *wink.gif* ).
    gruss ekkehard
     
    Beaker s.a., 23. Dezember 2019
    #14
  15. Hallo Ekkehard, hallo Ulrich, hallo Beaker und alle anderen auch hallo *Smilie

    SUPER! Vielen Dank für die vielen Informationen. Ich werde in einer ruhigen Minute, ab dem 1 Jan. 2020 bin ich in der Altersrente, mal versuchen, dass alles nach zu vollziehen.*Smilie
    Ich bin, was Access angeht, Autodidakt und habe versucht, mir das Wissen über das Internet, NorthWind, Don Karl, aber vor allem über dieses Forum, an zu eignen.
    Ohne solch' tolle Unterstützung, wie ich sie gerade hier im Forum wahrnehme, hätte ich Access sehr frühzeitig von meiner Festplatte geputzt.*mrcool

    Mein Wunsch zu Weihnachten?
    Bleibt so hilfsbereit, ich werde sicherlich irgendwann wieder eine, für manche blöde Frage an die große Runde stellen.
    Ich wünsche Euch allen ein schönes Weihnachtsfest und ein erfolgreiches, mit viel Gesundheit gespicktes, Neues Jahr 2020.*bye
     
Thema:

Kontrollkästchen aktualisiert nicht ad hoc

Die Seite wird geladen...
  1. Kontrollkästchen aktualisiert nicht ad hoc - Similar Threads - Kontrollkästchen aktualisiert hoc

  2. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  3. word 2024 Kontrollkästchen ankreuzen

    in Microsoft Word Hilfe
    word 2024 Kontrollkästchen ankreuzen: Hi! Ich habe ein Dokument, in dem ich die Kontrollkästchen bisher ankreuzen konnte, indem ich auf "Dokument schützen" gegangen bin. Jetzt in der word 2024 Version, gehe ich auf Dokument schützen...
  4. Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben

    in Microsoft Excel Hilfe
    Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben: Hallo zusammen, ich arbeite gerade an einer Vereinfachung für Bestellungen. Ich habe es hingekriegt, dass Kontrollkästchen an zu wählen sind und dann bestimmte Informationen kopiert werden. Jetzt...
  5. Kontrollkästchen ( Formularsteuerelement)

    in Microsoft Excel Hilfe
    Kontrollkästchen ( Formularsteuerelement): Guten Morgen zusammen, Kann man in einer Tabelle (Strg-T) und in Kontrollkästchen einfügen, welches beim entsprechenden Filtern der Tabelle in der entsprechenden Zelle mit verschwindet oder...
  6. Wenn Kontrollkästchen aktiviert dann Textfeld einblenden

    in Microsoft Word Hilfe
    Wenn Kontrollkästchen aktiviert dann Textfeld einblenden: Guten Tag zusammen, ich habe ein vermutlich recht simples Anliegen, das mich allerdings als Word Anfänger verzweifeln lässt. Und zwar möchte ich gerne sobald ein Kontrollkästchen angegreuzt wird,...
  7. Serienbrief mit Kontrollkästchen

    in Microsoft Word Hilfe
    Serienbrief mit Kontrollkästchen: Guten Morgen zusammen, Ich habe folgendes Problem.... Ich wuerde meine Frau gerne Ihre Arbeit etwas vereinfachen. Sie ist Grundschullehrerin und ist momentan dabei die Zeugnisse zu erstellen.Ich...
  8. Kontrollkästchen und Schrift größer Darstellen

    in Microsoft Excel Hilfe
    Kontrollkästchen und Schrift größer Darstellen: Ich habe eine Arbeitsmappe, auf der eine Seite quasi als Ausdruck formatiert ist, denen ich den Kollegen in die Hand drücken kann, also ein Arbeitsauftrag. Der Einfachheit halber habe ich dort...
  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