Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access Endlosformular - farbige Zeilen

Begonnen von TomTom2903, Februar 04, 2013, 16:43:57

⏪ vorheriges - nächstes ⏩

TomTom2903

Hallo,
hatte das gleiche Problem wie Karin und es mit dem Code von Harald und Franz gelöst.

-> Bezug Forumseintrag: http://www.access-o-mania.de/forum/index.php?topic=13794.0

Jetzt habe ich allerdings das Problem das jede Zeile die gleiche Farbe erhält.

Bei mir ist das Kriterium nach dem sich die Zeilenfarbe unterscheiden soll der Wochentag. Montag bis Freitag im wechsel grau und weiß, Samstag blau und Sonntag rot.

Ich durchlaufe für jede einzelne Zeile also den Code (Hier ist jetzt Mittwoch bis Freitag nicht berücksichtigt.

Code:
Function Datensatzdurchlaufen()
   Dim db As DAO.Database
   Dim rst As DAO.Recordset2
   Dim oFmtC As FormatCondition
   Dim ctl As Control
   
   Set db = CurrentDb
   Set rst = db.OpenRecordset("qry_sfrm_HausUmsatz", dbOpenDynaset)
   Do While Not rst.EOF
       For Each ctl In Me.Controls
           'Stop
           If ctl.ControlType >= acTextBox And ctl.ControlType <= acComboBox Then
               Me(ctl.Name).FormatConditions.Delete

               Set oFmtC = Me(ctl.Name).FormatConditions.Add(acExpression, , [Wochentag] = "Montag")  'Bedingung
               Me(ctl.Name).FormatConditions(0).BackColor = 16777215           'grau
               Set oFmtC = Me(ctl.Name).FormatConditions.Add(acExpression, , [Wochentag] = "Dienstag")  'Bedingung
               Me(ctl.Name).FormatConditions(1).BackColor = 13285815           'weiß
               Set oFmtC = Me(ctl.Name).FormatConditions.Add(acExpression, , [Wochentag] = "Samstag")  'Bedingung
               Me(ctl.Name).FormatConditions(0).BackColor = 33023              'orange
               Set oFmtC = Me(ctl.Name).FormatConditions.Add(acExpression, , [Wochentag] = "Sonntag")  'Bedingung
               Me(ctl.Name).FormatConditions(1).BackColor = 65280              'grün
           End If
       Next ctl

       rst.MoveNext
   Loop
   rst.Close
   Set rst = Nothing
   Set db = Nothing
End Function


Momentan ist alles Grün. :-)

Was mache ich falsch? Kann jmd helfen? ???
Grüße
Tom

daolix

Hallo

die bedingte Formatierung wird nur einmal festgelegt, und nicht für jeden Datensatz. Auch im von dir gelinkten Post wird diese nur einmal beim öffnen des Formulars festgelegt.

TomTom2903

Hallo daolix,
danke für deine Antwort. Ist leider unbefriedigend. ::)
Gibt es den eine andere Möglichkeit für mein Problem?
Gruß
Tom

daolix

Hallo

anbei ein bsp, ohne Code



[Anhang gelöscht durch Administrator]

bahasu

Hi,

und hier ein zweites Beispiel: siehe Anhang
{mit Code und dummen Sprüchen}

Harald

[Anhang gelöscht durch Administrator]
Servus

TomTom2903

Zitat von: daolix am Februar 04, 2013, 18:15:36
Hallo

anbei ein bsp, ohne Code



Hallo,
danke für dein Bsp. Mit dem Schaltet ist klar - würde auch bei mir funktionieren.
Was ich jetzt nur nicht gefunden habe ist, wo du die Farben zuweist.

Könntest du mir das noch beschreiben.

Danke & Gruß

TomTom2903

Zitat von: bahasu am Februar 04, 2013, 18:28:39
Hi,

und hier ein zweites Beispiel: siehe Anhang
{mit Code und dummen Sprüchen}

Harald

Hallo Harald,
den Code hatte ich heute auch so mal ausprobiert. Werde das morgen gleich nochmal probieren!
Danke auf jeden Fall mal.

Mit den Sprüchen stimme ich übrigens überein :-) Es lebe der Freitag Nachmittag!
Grüße
Tom

daolix

Hallo

im entwurfsmodus das Textfeld anklicken was genausogross ist wie der Detailbereich, dann auf Menuleiste --> Format --> Bedingte Formatierung klicken.

TomTom2903

Zitat von: daolix am Februar 04, 2013, 18:45:23
Hallo

im entwurfsmodus das Textfeld anklicken was genausogross ist wie der Detailbereich, dann auf Menuleiste --> Format --> Bedingte Formatierung klicken.


Die Bedingte Formatierung hab ich gesucht wie bl***. Jetzt hab ich sie gefunden.
Hab gedacht die wäre im Eigenschaftsblatt... :-(

THX