Ik ga ervan uit dat je het over access hebt ?
Afhankelijk van in welk soort formulier je dit wil doen is het antwoord ja of nee. Dit zeg ik uit ervaring met office 2003, het kan zijn dat office 2007 net iets anders werkt.
Het werkingsprincipe is altijd hetzelfde : op basis van de waarde in het vinkje (0 of -1, false of true, ja of nee, ...) kan je een ander veld of bijschrift, of heel uw formulier een andere kleur laten aannemen. Er zijn daar verschillende mogelijkheden voor, de eenvoudigste is voorwaardelijke opmaak (zoals in excel). Iets moeilijker, maar efficienter en met meer mogelijkheden is een klein programmaatje dat aangeroepen wordt bij het aanklikken van het vinkje, en dat de waarde van het vinkje controleert, en daarmee de andere velden een andere kleur geeft. Dit programmaatje is van de vorm :
if [control] = true then
control1.interior.colorindex = 15
else control1.interior.colorindex = 22
end if
(nb.syntax is zeker niet 100% OK, dus niet letterlijk overnemen)
Dit alles gaat heel goed, zolang je met enkelvoudige formulieren werkt, en zolang je ook het programmaatje weer oproept bij iedere vernieuwing van het formulier, want anders blijft de "oude" waarde behouden (dus de waarde van de vorige record, en die is uiteraard niet noodzakelijk dezelfde als die van de nieuwe record).
Op doorlopende formulieren werkt dit niet, t.t.z. het werkt telkens voor heel het formulier. Dus als je 20 records ziet, en je klikt op het vinkje van de 3e, dan veranderen ze alle 20 in het nieuwe kleur. Hier werkt alleen de voorwaardelijke opmaak, maar daar ben je gebonden (tenminste in office 2003) aan maximum 3 voorwaarden, dus maximum 4 waarden of 4 verschillende kleuren. Voor een ja/nee veld is dit dus bruikbaar, voor veel verschillende waarden niet.
Wil je meerdere kleuren, en op basis van een programma, dan zal je verschillende voorwaarden moeten opnemen in je programmacode, en die voorwaarden kunnen verschillende vinkjes zijn, of combinaties van vinkje met een waarde. Ik zeg maar iets:
vinkje aan en waarde kleiner dan 100 = rood
vinkje aan en waarde groter dan 100 = groen
vinkje uit en waarde kleiner dan 100 = geel
vinkje uit en waarde groter dan 100 = blauw.
als je zo 3 voorwaarden definieert, kan je 8 verschillende kleuren bekomen, of anderzijds als je met waardenreeksen werkt, kan je alle kanten op (bijvoorbeeld 0-100, 101-200, 201-300, >300) Natuurlijk is het altijd maar meer en meer programmeerwerk (en controlewerk om te zien of alles juist verloopt)
Ik denk dat je wel voorbeelden van voorwaardelijke opmaak kan vinden op microsoft sites, indien je enige ervaring hebt met vba, dan is dat zeker de efficientste methode, en zou ik eens rondneuzen in andere subfora hier bij helpmij.nl.
succes!