Office: (Office 2019) Im Endlosformular aktiven Datensatz hervorheben

Helfe beim Thema Im Endlosformular aktiven Datensatz hervorheben in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Mitglieder. Eigentlich benötige ich was ganz einfaches... Ich lasse mir meine Datensätze (Filme) in einem Endlosformular anzeigen. Jeder... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Genusstaucher2, 13. März 2023.

  1. Im Endlosformular aktiven Datensatz hervorheben


    Hallo liebe Mitglieder.
    Eigentlich benötige ich was ganz einfaches...

    Ich lasse mir meine Datensätze (Filme) in einem Endlosformular anzeigen.
    Jeder Datensatz hat diverse Buttons.
    Klicke ich auf einen dieser Buttons, möchte ich auch optisch besser sehen, welchen Datensatz ich gerade bearbeite.

    Mit der klassischen "bedingten Formatierung' funktioniert es (Datensatz hat Focus). Und jetzt brauche ich das VBA Pendant dazu. Ich dachte ja an...

    Sub bt_HierPassiertWas_Click()

    Dim t As TextBox
    Set t = Me!Titel 'Das ist eine Textbox mit dem Namen Titel
    t.FormatConditions.Delete
    t.FormatConditions.Add (acFieldHasFocus)

    With t
    .BackColor = RGB(0, 255, 0)
    End With

    End Sub


    Nun erwarte ich eigentlich, dass beim Klick auf den Button bt_HierPassiertWas die Textbox Titel des aktuellen Satzes grün leuchtet. Aber es passiert gar nix...

    Ich stehe auf dem Schlauch.
     
    Genusstaucher2, 13. März 2023
    #1
  2. Doming
    Doming hat Ahnung
    Hallo,
    alles halb so wild.
    Du baust Dir, wenn nicht schon vorhanden, in die Zeile Deines Endlosformulars ein Textfeld (z.B. TxID), welches den aktuellen Primärschlüssel der dem Formular zugrunde liegenden Abfrage enthält. Desweiteren stellst Du bei allen Textfeldern im Detailbereich den Hintergund auf "transparent"
    Als nächstes nimmst Du ein ungebundenes Textfeld, welches die Höhe und die Breite Deiner ganzen Zeile im Detailbereich hat. Bei dem muss der Hintergrund auf "normal" stehen. In der Bedingten Formatierung dieses Textfelds schreibst Du in die Bedingung als Ausdruck: [TxID] = [TxAktivID] und füllst den Hintergrund mit Deiner Lieblingsfarbe. Dann gehst Du ins Menü Anordnen und wählst den Punkt "In den Hintergrund".
    In Deinen Formularkopf setzt Du Dir ein ungebundenes Textfeld, z.B. TxAktivID
    Jetzt schreibst Du in den VBA-Code des Formulars in das Ereignis "Beim Anzeigen":
    Code:
    Private Sub Form_Current()
       Me!TxAktivID = Me!TxID
    End Sub
    Das wars schon. Jetzt gehst Du in die Formularansicht und klickst auf eine Zeile.
    Und dann schreibst Du hier her, was ich bei meinen Erläuterungen vergessen habe.
    Gruß
    Doming
     
    Doming, 13. März 2023
    #2
  3. andyfau
    andyfau Erfahrener User
    Toll! Das ist ja mal ein Workaround. (mein ich ernst ;-)
    Werde ich die Tage mal ausprobieren, denn bei den FormConditions gibt es immer wieder Probs mit "Eigenschaft schreibgeschützt".
    Aber eigentlich bin ich bisher immer mit der bedingten Formatierung klar gekommen, vor allem seit man, ich glaube seit 2010, auch Ausdrücke eingeben kann.
     
    andyfau, 13. März 2023
    #3
  4. Doming
    Doming hat Ahnung

    Im Endlosformular aktiven Datensatz hervorheben

    Naja, mein Vorschlag beinhaltet ja die farbliche Markierung der gesamten Zeile.
    Man kann das natürlich bei jedem einzelnen Textfeld als Bedingung hinterlegen, aber ich habe schon einige Male Nicht-Textfelder in der Zeile gehabt, die durch den eingefärbten Hintergrund dann auch hervorgehoben werden.
    Das Problem ist ja, dass man in Endlosformularen gerne mal alle Zeilen gleichzeitig bearbeitet, deswegen muss es eine Unterscheidung der Zeilen untereinander und gleichzeitig ein "formularglobal gültiges" Feld geben.
     
    Doming, 13. März 2023
    #4
    2 Person(en) gefällt das.
  5. Hallo Doming, hallo alle anderen Mitglieder, die sich des Problems angenommen haben. Danke für Eure Zeit.
    Ja, also den Workaround werde ich mir bestimmt auch mal ansehen.
    Im Augenblick denke ich an meinen Plan B, ein stilles Feld zu machen und ihm einen Wert zuzuweisen. Ggf. reagiert Access ja eher auf acEqual oder so etwas, statt auf acFieldHasFocus.
    Plan C wäre halt ein eigenes Unterfomular mit eigenen Buttons 'bt_HierPassiertWas'.
    Plan D ist dann der Workaround von Dir und Plan D ist: Pass' auf, wo Du hinklickst :D
    Ich habe das Thema mal bei mir 'im Speicher' und sobald ich einen Plan umgesetzt habe, postet ich das hier.
     
    Genusstaucher2, 14. März 2023
    #5
  6.  
    Genusstaucher2, 14. März 2023
    #6
  7. Ich habe tatsächlich ein sehr kleinen Workaround gefunden, sozusagen Plan "F":
    Gehe ins Endlosformular, wähle z.B. eine Textbox, gehe auf 'bedingte Formatierung', setze auf 'Feld hat Focus' und speichern.
    Die VBA Programmierung für meinen Button lautet unglaublich komplex:

    Sub bt_HierPassiertWas_click()
    Titel.SetFocus 'Titel heißt meine Textbox, ich weiß, sollte txtTitel heißen...
    End Sub

    Wenn ich auf meinen Button klicke, wird das Textfeld so wie unter 'bedingte Formatierung' angezeigt. Man kann sich ja auch stressen...
     
    Genusstaucher2, 16. März 2023
    #7
  8. andyfau
    andyfau Erfahrener User

    Im Endlosformular aktiven Datensatz hervorheben

    Naja, die Lösung hattest Du ja schon im ersten Satz. Wo ich aber dachte, dass Du das unbedingt in VBA lösen wolltest.
    Egal, Hauptsache es läuft.
     
    andyfau, 16. März 2023
    #8
Thema:

Im Endlosformular aktiven Datensatz hervorheben

Die Seite wird geladen...
  1. Im Endlosformular aktiven Datensatz hervorheben - Similar Threads - Endlosformular aktiven Datensatz

  2. Endlosformular "on-the-fly" filtern

    in Microsoft Access Hilfe
    Endlosformular "on-the-fly" filtern: Zuerst mal meine Aufgabenstellung: Aus einer Tabelle mit Mitgliederdaten sollen „on-the-fly“, d.h. bei Eingabe eines Teils des Namens, die Datensätze der Mitglieder gefiltert werden. Basis ist...
  3. Access gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben

    in Microsoft Access Hilfe
    Access gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben: Hallo Zusammen, ist es möglich, aus einem gefilterten Endlosformular die ID (Autowert) in eine Abfrage zu übergeben? Das habe ich schon ausprobiert: In der Abfrage als Kriterium eingegeben...
  4. Listenfeld im Endlosformular

    in Microsoft Access Hilfe
    Listenfeld im Endlosformular: Hallo in die Runde! Ich stehe gerade furchtbar auf dem Schlauch und hoffe, ihr könnt mir helfen: Problemkind ist eine Art Zimmerverwaltung: - jedes Zimmer hat eine ID und ist einem Objekt...
  5. Endlosformular aktualisieren, auch optisch

    in Microsoft Access Hilfe
    Endlosformular aktualisieren, auch optisch: Hallo, ich versuche in einem Endlosformular mit einem Kontrollkästchen alle Datensätze zu markieren. Dazu gibt es ein binäres Feld, welches auch im Formular angezeigt wird. Im Formularkopf habe...
  6. Endlosformular mit Abfrage-neue Datensätze

    in Microsoft Access Hilfe
    Endlosformular mit Abfrage-neue Datensätze: Hallo ich erarbeite im Moment im Rahmen eines Projektes eine Datenbank zur Bestellerstellung. Nun habe ich für die Bestellpositionen ein Endlosformular. Erstellt. Als Basis für diese habe ich...
  7. Ansicht Endlosformular

    in Microsoft Access Hilfe
    Ansicht Endlosformular: Hallo ihr Lieben, eine einfache Frage,> weil sie so einfach ist finde ich trotzdem nirgends eine Antwort. Habe nun wie vielleicht bekannt, einige DB's im Einsatz. Was mich jedoch immer noch stört...
  8. Größe Pop-Up Endlosformular wird ignoriert

    in Microsoft Access Hilfe
    Größe Pop-Up Endlosformular wird ignoriert: Hi allerseits, ich habe ein Pop-Up Endlosformular mit einer festen geringen Anzahl von Datensätzen, so dass ich alle Datensätze im Formular anzeigen könnte. Öffne ich das Formular direkt, wird...
  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