waardes controleren per record in een doorlopend formulier

Status
Niet open voor verdere reacties.

kenzootje

Gebruiker
Lid geworden
22 aug 2016
Berichten
37
In een formulier wil ik op basis van gegevens van een query : de lijnen aanduiden waar de stock minder dan een vooropgestelde waarde komt. vb met een gekleurde rechthoek

stock.JPG
Nu had ik geprobeerd om dit in de load-event te doen van mijn formulier, maar dit lukt dus niet ( zoals ik dacht )

Code:
Private Sub Form_Load()
If stock < Min Then
    Me.box_bestellen.BackColor = vbRed
Else
    
Me.box_bestellen.BackColor = vbGreen

End If

End Sub
Hoe zou ik dit kunnen doen?
 
Dat kun je prima met Voorwaardelijke opmaak doen. Je voorbeeldcode doet sowieso niks, omdat de Load procedure maar één maal wordt uitgevoerd, bij het laden van het formulier. Daarna niet meer. Dat kun je ondervangen door de code te verplaatsen naar de gebeurtenis <Bij Aanwijzen> (<Form_Current>) maar daar schiet je niks mee op, want een doorlopend formulier heeft een vervelende eigenschap: je hebt maar één kopie van een veld op het formulier staan, en je ziet dat een aantal keer herhaald worden. Maar een (kleur)aanpassing op een veld geldt dus voor alle kopieën van dat veld op dat formulier. Dus je controleert één veld, en alle velden krijgen, afhankelijk van het gekozen record, een andere kleur. Dus daar schiet je ook niks mee op. Zoals ik al zei: je kunt dat prima oplossen met Voorwaardelijke Opmaak.
 
iNDERDAD,
had dit ook reeds geprobeerd via voorwardelijke opmaak, en is onder tussen opgelost.
Bedankt voor de reactie alvast
stock.JPG

groetjes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan