waarde checkbox1 afhankelijk van waarde andere checkboxen

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Beste forumleden,
Graag zou ik de waarde van de CheckBox_ongezond_voedingspatroon op true zetten als een van de onderliggende checkboxen wordt aangevinkt. Nu gebruik ik daarvoor de onderstaande code, maar dat komt mij wat bewerkelijk over. kan dit effficienter?

Private Sub CheckBox_geen_groenten_Click()
CheckBox_ongezond_voedingspatroon.Value = True
End Sub

Private Sub CheckBox_geen_fruit_Click()
CheckBox_ongezond_voedingspatroon.Value = True
End Sub

Private Sub CheckBox_geen_vettevis_Click()
CheckBox_ongezond_voedingspatroon.Value = True
End Sub

gr Jackfish
 
Die CheckBox_ongezond_voedingspatroon wordt dan ook op True gezet als je 1 van die 3 boxen uitvinkt. Is dat de bedoeling?
Anders zoiets:

Code:
Private Sub CheckBox_geen_groenten_Click()
    Call WijzigVoeding(CheckBox_geen_groenten.Value)
End Sub

Private Sub CheckBox_geen_fruit_Click()
    Call WijzigVoeding(CheckBox_geen_fruit.Value)
End Sub

Private Sub CheckBox_geen_vettevis_Click()
    Call WijzigVoeding(CheckBox_geen_vettevis.Value)
End Sub 

Private Sub WijzigVoeding(AanUit As Boolean)
    CheckBox_ongezond_voedingspatroon.Value = AanUit
End Sub
 
Laatst bewerkt:
Je moet de waarden van de checkboxen optellen, en kijken of de uitkomst daarvan 0 is (alles uit) of kleiner (minstens één aan):
Code:
    Me.CheckBox_ongezond_voedingspatroon = IIf(Me.CheckBox_geen_fruit + Me.CheckBox_geen_groenten + Me.CheckBox_geen_vettevis < 0, -1, 0)
 
Da's nog veel mooier! :D
 
Ik heb de code zojuist getest maar loop tegen een (hopelijk) klein probleem aan; Ongeldig gebruik van null. Met onderstaande regel wilde ik bij een positieve waarde van de checkbox een tekstregel wegschrijven. Wat maakt het conflict?

ActiveDocument.Variables("Checkbox_ongezond_voedingspatroon") = IIf(Checkbox_ongezond_voedingspatroon, "Er ontbreken producten aan de voeding zoals: ", " ")
 
Je kunt dit eens proberen:
Code:
IIf(Checkbox_ongezond_voedingspatroon = -1, "Er ontbreken producten aan de voeding zoals: ", " ")
 
Nu geen foutmelding meer Ocatafish, maar wel een ander interessant iets. Er wordt nu dus een vinkje gezet in de checkbox_ongezond_voedingspatroon, maar die is wat uitgegrijsd. Pas als je er op klikt is die 'echt' aangevinkt. Maar als ik op de CMD-button klik wordt de regel "er ontbreken producten aan de voeding zoals: " niet weggeschreven maar wordt de checkbox weer uitgegrijsd?

Gr jackfish

Bekijk bijlage userform en checkboxen.zip
 
Laatst bewerkt:
Haal het minteken voor de -1 weg in de code van Octafish.
 
1. je hebt de userform_initialize code in de verkeerde module staan. Die werkt daardoor niet.
2. het vinkvak 'ongezonde levensstijl' in het userform lijkt me overbodig
3. in de bijlage hoe ik het zou doen. (zie ook de opmaak van de documentvariablen in het Word document
 

Bijlagen

Dank voor de reacties mensen. Het viel mij op dat in de code van snb het wisselen van de tekst goed werkt als je de volgorde: groente fruit vis aanhoudt. Als je begint met vis klopt het resultaat niet (gezond met ontbrekende producten) totdat je bij groente bent.

Kan het digibeet- en idioot-proof? Ofwel, ongeacht op welk selectievak er geklikt wordt, dan verschijnt de tekstregel dat er producten ontbreken.

Gr jackfish
 
dit kan al helpen:

Code:
        .Variables("checkbox_ongezond_voedingspatroon") = IIf(CheckBox_geen_groenten + CheckBox_geen_fruit + CheckBox_geen_vettevis = 0, "Dit is een gezond voedingspatroon", "Er ontbreken producten aan de voeding zoals: ")
 
Laatst bewerkt:
Dat was het snb, allen wederom dank. Voor iedereen een digitaal vers geperst vruchtensapje :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan