PDA

Vollständige Version anzeigen : Endlosformular Zeilen hervorheben


FMMarkus
12.05.2011, 09:28
Hallo,

ich habe in einem Endlosformular hinterlegt, dass alle ungeraden Zeilen grau sind und alle geraden weiß. Das löse ich durch eine Funktion und ein ungebundenes Feld, welches Hinter allen anderen Felder liegt. Durch bedingte Formatierung wird diese Funktion aufgerufen.
Nun wollte ich z.B. durch an klicken eines Kontrollkästchens dieses ungebundene Feld eine Farbe zuweisen. Um diese Zeile hervorzuheben.
Leider wird immer nur die oberste Zeile geändert egal in welcher man das Feld ankreuzt.
Geht das überhaupt das man in einer bestimmten Zeile die Farbe eines Feldes ändert? Weil normalerweise kennt Access die Position des Zeigers und man kann z.B. den Feldinhalt ermitteln.

Vielen Dank für eure Hilfe.

Maxel
12.05.2011, 10:10
Hallo,

ich habe mir mehrmals durchgelesen, was Du bereits gemacht hast und was Du noch machen möchtest und bin nicht recht schlau geworden.

Wenn Du schon mit der Bedingten Formatierung erfolgreich hantierst - woran scheitert die Änderung des Farbwertes?

Oder habe ich das Anliegen nicht verstanden?

FMMarkus
12.05.2011, 10:35
Hallo,
ich habe es gelöst, dass jede zweite Zeile eine Farbe erhält, damit man in den Zeilen beim Lesen nicht verrutscht.

Jetzt würde ich aber gerne noch eine Funktion hinzufügen, dass man z.B. Zeilen rot hervorheben kann durch klick auf ein Kontrollkästchen, damit diese Zeile z.B. nochmal geprüft wird.

Oder durch Klick auf ein anderes Kontrollkästchen gelb einfärben, um zu zeigen das eine Rückantwort erwartet wird.

Leider wird aber immer nur die 1. Zeile umgefärbt obwohl man in der 4.Zeile z.b. klickt.

Jetzt besser?

Maxel
12.05.2011, 10:45
Leider wird aber immer nur die 1. Zeile umgefärbt obwohl man in der 4.Zeile z.b. klickt.
Wie lautet denn der Code hinter dem Click?

FMMarkus
12.05.2011, 10:57
Dort steht bei Click

Hintergrundfeld.backcolor= RGB(255,255,0)

Es wird auch das Feld umgefärbt. Nur leider immer in der ersten Zeile obwohl man in der zweiten, dritten oder x.ten Zeile geklickt hat.

Maxel
12.05.2011, 11:03
So geht das natürlich auch nicht in einem Endlosformular.

Dazu wurde ja die Bedingte Formatierung erfunden, mittels der Du schon die Lösung eines anderen Problems erzielt hast.

Also: Warum wertest Du nicht den Wert des (hoffentlich gebundenen) Kontrollkästchens per Bedingter Formatierung aus?

Köbi
12.05.2011, 11:07
Hallo

Geht das nicht einfacher mit dieser Lösung bei donkarl?

http://www.donkarl.com?FAQ5.3

FMMarkus
12.05.2011, 11:08
Das habe ich auch schon versucht aber nicht wirklich hinbekommen wie der Ausdruck lauten muss.

Ich hatte mir dort überlegt, dass geprüft wird ob ein Wert anliegt und dann eine Funktion aufgerufen wird die dann die jeweilige Einstellung vornimmt.
Weil es gibt ja nur 3 Bedingte Formatierungen die man machen kann.
Es müssten aber ein paar mehr sein. Weil 1x ist die normalen Zeilenfarbe und dann weitere um diese für spezielle Sachen vorzuheben.

Kann man denn eine Art IF oder Wenn abfrage machen?

Maxel
12.05.2011, 11:33
Das habe ich auch schon versucht aber nicht wirklich hinbekommen wie der Ausdruck lauten muss.
Ausdruck ist [DeinKontrollkästchenSteuerelementinhalt] = TRUE
So müsste die Bedingte Formatierung des farblich hervorzuhebenden Formularfeldes formuliert werden; die Farbe des Hintergrunds kannst du dort einstellen.

Wie sieht denn Deine (konkrete!) Lösung, jede zweite Zeile per Bedingter Formatierung hervorzuheben, aus? Wenn Du das hinbekommen und verstanden hast, ist doch die gewünschte Lösung ein Kinderspiel...

FMMarkus
12.05.2011, 11:51
Also die Lösung das jede zweite Zeile fürs bessere Lesen eingefärbt ist klappt. Passiert automatisch.

Nun soll der Benutzer aber die Möglichkeit haben, bestimmte Zeilen zu Markieren, dass diese z.B. dringlich bearbeitet werden müssen. Also z.B. soll sie statt der normalen Zeilen farbe durch das klicken rot werden.

Oder die Zeile muss geprüft werden. Klickt er und diese wird gelb.

Dieses Ziel möchte ich erreichen. Und da sind 3. Formatierungen leider zu wenig.

Maxel
12.05.2011, 12:05
Also die Lösung das jede zweite Zeile fürs bessere Lesen eingefärbt ist klappt. Passiert automatisch.
Das glaube ich nicht!

Du windest Dich darum, Deine bisherige Lösung anzugeben, um darauf aufzubauen. Hast du sie etwa nicht verstanden?

Bei 3 Bedingungen plus Standard ist mit der Bedingten Formatierung unter A03 Schluss - da gibt's keine Tricks.

Allerdings kursieren verschiedene API-Versionen, z. B. die von Stephen Lebans (http://www.lebans.com/formatbycriteria.htm) mit untenstehendem Ergebnis.

Toast78
12.05.2011, 12:18
Ich halte von diesen vielen Kontrollkästchen nicht allzu viel. Das kann man doch auch über eine Combobox oder eine Optionsgruppe besser lösen.

Oh, das Thema wurd ja als gelöst abgehakt. Ob ich das jetzt so glauben kann? :D

Maxel
12.05.2011, 12:40
Oh, das Thema wurd ja als gelöst abgehakt. Ob ich das jetzt so glauben kann?
Der Haken bedeutet nicht gelöst, sondern erledigt.

Darunter fällt auch ungelöst erledigt...

Toast78
12.05.2011, 13:07
Hm, stimmt ja. Hatte ich völlig vergessen. Ich sehe mir meistens solche Beiträge gar nicht mehr an, weil ich den "erledigt"-Haken mit "Problem gelöst, erledigt" gleichsetze und nicht mit: "Ich bin jetzt beleidigt und hake das Thema ab".
Das scheint wohl so eine Macke von mehreren Mitgliedern zu sein. :rolleyes:

Lanz Rudolf
13.05.2011, 07:47
Hallo
ich weis nicht ob ich wirklich Dein Problem richtig verstanden habe,

doch sehe Dir einmal meine Muster MDB an.
http://cid-0838611f737bd3d9.office.live.com/self.aspx/ACC/EndlosFormMitMarkierung2000.zip

evtl. findest Du da was was dem entspricht was Du möchtest