Iedere Keuze een eigen kleur in keuzenlijst formulier.

Status
Niet open voor verdere reacties.

kuyt1

Gebruiker
Lid geworden
8 mrt 2012
Berichten
24
Hallo allemaal

Ik heb een formulier opgesteld met hierin een keuzelijst: "status". Hier zijn drie mogelijkheden om te kiezen: Klaar, Bezig of Gestopt.
Nu wil ik het zo hebben dat wanneer de status klaar is, de achtergrond kleur groen wordt. (Bij bezig: geel en bij gestopt: rood).
Nu is het echter zo wanneer ik de status bij 1 record op 'klaar' zet, dat access alle records in het formulier naar de kleur groen zet, terwijl er bij andere bezig of gestopt staat. Als ik het dus bij een record aanpas, past hij deze achtergrond bij alle records toe. De bedoeling is dat hij alleen de kleur van het betreffende record aanpast.

De volgende code heb ik:
Code:
Private Sub Status_AfterUpdate()
Select Case Me.Status & ""
Case "Klaar"
Me.Status.BackColor = vbGreen
Case "Bezig"
Me.Status.BackColor = vbYellow
Case "Gestopt"
Me.Status.BackColor = vbRed
End Select
End Sub

Iemand een oplossing dat de kleur alleen bij het betreffende record blijft en niet de kleuren status van alle overige records in het formulier aanpast??
 
Dat heb je zeker in een doorlopend formulier bedacht? Ik vrees dat je dan een probleem hebt, omdat je in je formulier weliswaar voor elk record een aparte keuzelijst ziet, maar er in je formulierontwerp maar één zit. En die geef je een kleur mee. De 'virtuele' kopieën krijgen die kleur automatisch ook. Je zult vermoed ik iets anders moeten verzinnen. (of het plan laten vallen, wat ik zou doen). Of een enkelvoudig formulier maken, dan werk het natuurlijk wel.
 
Heb ik geprobeerd, maar dat lukte mij niet iig. Dan maar geen kleuren;)
 
Da's vreemd, wat dat is ongeveer dezelfde techniek:
Code:
Private Sub Form_Current()
    Call FC
End Sub

Code:
Function FC()
Dim objFrc As FormatCondition
    
    Me.Datumgewenst.FormatConditions.Delete
    
    'create three format objects and add them to the FormatConditions collection
    Set objFrc = Me.Datumgewenst.FormatConditions.Add(acExpression, , " [Klaar]= -1 ")
    Set objFrc = Me.Datumgewenst.FormatConditions.Add(acExpression, , " ([klaar]= 0 ) AND (DateDiff(""d"",Date(),[datumgewenst]) >= 14 ) ")
    Set objFrc = Me.Datumgewenst.FormatConditions.Add(acExpression, , " ([Klaar] = 0 ) AND (DateDiff(""d"",Date(),[datumgewenst]) < 14 ) ")
    
    With Me.Datumgewenst
        .FormatConditions(0).BackColor = vbGreen
        .FormatConditions(1).BackColor = vbYellow
        .FormatConditions(2).BackColor = vbRed
    End With

End Function
 
Heb in de bijlage een voorbeeld geplaatst waarin precies wordt gedaan wat jij bedoeld dit is met voorwaardelijke opmaak opgezet... Succes
 

Bijlagen

Bedankt! Is er een mogelijkheid voor meer dan 3 opties in voorwaardelijke opmaak??
 
Voorwaardelijke opmaak was in het verleden beperkt tot een maximum aantal regels (opties), in Access 2010 heb ik nu 5 regels geprobeerd en dat werkt uitstekend. Je kunt dus meerdere kleuren maken als je dat zou willen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan