Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

optellen aantal aangevinkte check boxen

254 views
Skip to first unread message

erik

unread,
Feb 19, 2004, 2:19:59 PM2/19/04
to
Ik wil graag in een sub form controleren hoeveel check boxen zijn
aangevinkt.
Het mag er namelijk maar 1 zijn.
Ik dacht optellen in de footer en dan controleren of er meer dan 1 is
aangevinkt.
Maar optellen is volgens mij niet mogelijk of....

wie weet raad..
Erik


Marnix Vande Kerkhove

unread,
Feb 19, 2004, 6:21:28 PM2/19/04
to
Waarom gebruik je geen keuzerondjes?
mvg
Marnix
"erik" <wal...@hotmail.com> schreef in bericht
news:40350bde$0$41765$5fc...@dreader2.news.tiscali.nl...

Erik

unread,
Feb 20, 2004, 3:38:57 AM2/20/04
to
Marnix,

bedankt voor je voorstel maar helaas werkt dit open een
sub form niet.
In een sub form kan je een keuzerondje gewoon 2 maal
aanklikken.

Ik haal uit een 2 de tabel alle records waar het item
gelijk is aan het item op het parent form.
Er zijn dus meerdere regels in het sub form.

De vraag blijft dus ..

Kan ik het aantal check boxen of keuse rondjes optellen.

>-----Oorspronkelijk bericht-----

>.
>

anon...@discussions.microsoft.com

unread,
Feb 20, 2004, 3:54:01 AM2/20/04
to

>-----Oorspronkelijk bericht-----

>De vraag blijft dus ..
>
>Kan ik het aantal check boxen of keuse rondjes optellen.
>
>

Een checkbox kan de waarde 0 (niet aangevinkt) of -1
hebben (de waarde null even er buiten laten)
Je kunt dus gewoon de Som berekenen.
Als de som 0 is: niets aangevinkt, bij -1: één aangevinkt
bij -2: twee aangevinkt enz

XPS35

unread,
Feb 20, 2004, 11:41:33 AM2/20/04
to

Tellen kan Access uiteraard voor je doen. Neem dan een niet-afhankelijk veld
op je form en zet bij "Besturingselementbron" iets in de trant van:
=DCount("*";"T1";"Indicatie = True AND ID = " & [ID])

Je moet er wel met een gebeurtenis "na bijwerken" voor zorgen dat als je een
vinkje aan- of uitzet het veld herberekend wordt. Dus:
Private Sub Indicatie_AfterUpdate()
Me.Refresh
Forms![T1 (Tellen)]![Teller].Requery
End Sub
Idem dito als je een regel toevoegt ("voor invoegen") of verwijdert ("bij
verwijderen") op het subform. Niet echt handig dus als er altijd maar één
vinkje aan mag staan.

Handiger lijkt het me dan ook om zodra je een vinkje aanzet, je alle andere
op het subform automatisch uitzet. Dus:
Private Sub Indicatie_AfterUpdate()
If Me.Indicatie Then
DoCmd.RunSQL "UPDATE T1 SET Indicatie = False WHERE ID = " & Me.ID & _
" AND Volgnummer <> " & Me.Volgnummer
End If
End Sub

Veldnamen e.d. vanzelfsprekend wel ff aanpassen aan de eigen situatie.


Groet,

Peter


erik

unread,
Feb 20, 2004, 2:34:19 PM2/20/04
to
Dit is inderdaad precies wat ik bedoel....en dus ook niet voor elkaar krijg.
misschien zou jij mij nog even willen bijstaan met de update statement.

de tabel = QF_prijs ( jouw T1 )
de checkbox = besteprijs ( jouw indicatie )
het autonummer = ID ( jouw ID )
alleen volgnummer kan ik niet plaatsen..

Private Sub besteprijs_AfterUpdate()
If Me.besteprijs Then
DoCmd.RunSQL "UPDATE QF_prijs SET besteprijs = False WHERE ID = " & Me.ID
& _
" AND ..?.. <> " & Me...?..End If
End Sub

wat ik uit het volgende begrijp :
als me. actief is dus checked update ik de tabel QF_prijs en uncheck alle
velden waar ID = mijn ID ?

Ik hoor graag van je

Erik

"XPS35" <xp...@hotmail.com> wrote in message
news:eitByC99...@TK2MSFTNGP09.phx.gbl...

XPS35

unread,
Feb 20, 2004, 3:27:41 PM2/20/04
to
> Dit is inderdaad precies wat ik bedoel....en dus ook niet voor elkaar
krijg.
> misschien zou jij mij nog even willen bijstaan met de update statement.
>
> de tabel = QF_prijs ( jouw T1 )
> de checkbox = besteprijs ( jouw indicatie )
> het autonummer = ID ( jouw ID )
> alleen volgnummer kan ik niet plaatsen..
>
> Private Sub besteprijs_AfterUpdate()
> If Me.besteprijs Then
> DoCmd.RunSQL "UPDATE QF_prijs SET besteprijs = False WHERE ID = " &
Me.ID
> & _
> " AND ..?.. <> " & Me...?..End If
> End Sub
>
> wat ik uit het volgende begrijp :
> als me. actief is dus checked update ik de tabel QF_prijs en uncheck alle
> velden waar ID = mijn ID ?
>
> Ik hoor graag van je
>
> Erik
>

Je had het over een veld op een sub-form. Er moet dus ook sprake zijn van
een hoofd-form. Ik ben ervan uitgegaan dat er dus ook sprake is van twee
tabellen, met een een-op-veel relatie.
ID is de sleutel van de tabel (T1) op het hoofd-form.
Volgnummer is een autonummer veldje dat ik gebruik om de records in tabel
aan de veel-kant (T2) uniek te maken. Je moet weten bij welk record je het
vinkje aan laat staan, vandaar de conditie <> Me.Volgnummer (kan als je geen
uniek veld in T2 hebt eventueel ook anders opgelost worden denk ik).
Ik heb een fout gemaakt bij het overnemen van de codes in mijn bericht. In
de update moet je in mijn geval T2 updaten en niet T1.

In mijn geval was het dus:
If Me.Indicatie Then
DoCmd.RunSQL "UPDATE T2 SET Indicatie = False WHERE ID = " & Me.ID & _


" AND Volgnummer <> " & Me.Volgnummer
End If

Peter


erik

unread,
Feb 20, 2004, 5:49:45 PM2/20/04
to

"XPS35" <xp...@hotmail.com> wrote in message
news:eqWqJB$9DHA...@tk2msftngp13.phx.gbl...
Ik heb de volgende aanpassingen gemaakt:
er is inderdaad sprake van een master detail form, met een 1 op veel
relatie.
als ik de update wil uitvoeren krijg ik een popup met het label van de
artikel_code en de melding
enter parameter value, ik neem aan dat er een onbekende waarde is ?
daarom voeg ik een msgbox toe waar ik vraag de waardes te tonen.
Hier zijn beide bekend.

Nog enige idee..

Erik.

Private Sub besteprijs_AfterUpdate()

If Me.besteprijs Then
MsgBox "waardes: " & factual_ID & " voor " & artikel_code
DoCmd.RunSQL "UPDATE factual_prijslijst SET besteprijs = False WHERE
artikel_code = " & Me.artikel_code & _
" AND factual_ID <> " & Me.factual_ID
End If

>


XPS35

unread,
Feb 21, 2004, 3:17:29 AM2/21/04
to
> >
> Ik heb de volgende aanpassingen gemaakt:
> er is inderdaad sprake van een master detail form, met een 1 op veel
> relatie.
> als ik de update wil uitvoeren krijg ik een popup met het label van de
> artikel_code en de melding
> enter parameter value, ik neem aan dat er een onbekende waarde is ?
> daarom voeg ik een msgbox toe waar ik vraag de waardes te tonen.
> Hier zijn beide bekend.
>
> Nog enige idee..
>
> Erik.
>
> Private Sub besteprijs_AfterUpdate()
>
> If Me.besteprijs Then
> MsgBox "waardes: " & factual_ID & " voor " & artikel_code
> DoCmd.RunSQL "UPDATE factual_prijslijst SET besteprijs = False WHERE
> artikel_code = " & Me.artikel_code & _
> " AND factual_ID <> " & Me.factual_ID
> End If
>
> >
>
>

Geen idee.
Zijn artikel_code en factual_ID allebei numeriek? Bij tekstvelden is de
opbouw van de conditie iets anders (moet je rekeninghouden met
aanhalingstekens ).

Peter


erik

unread,
Feb 21, 2004, 3:00:53 PM2/21/04
to

"XPS35" <xp...@hotmail.com> wrote in message
news:%23BK1yNF%23DHA...@TK2MSFTNGP10.phx.gbl...

Wederom heb je helemaal gelijk, het artikel_code is een text veld.
kan je mij nog een beetje op weg helpen met die aanhalingstekens....

het schijnt maar niet te willen lukken.

Erik


XPS35

unread,
Feb 22, 2004, 4:59:12 AM2/22/04
to

erik <wal...@hotmail.com> schreef in berichtnieuws
4037b86f$0$41751$5fc...@dreader2.news.tiscali.nl...

artikel_code = '" & Me.artikel_code & "'" & _

walgoos

unread,
Feb 22, 2004, 5:10:22 AM2/22/04
to
Dit werkt inderdaad perfect, ontzettend bedankt.

Alleen krijg ik wel een melding dat ik meerdere regels ga updaten, en dit
moet worden bevestigd.
Is dit iets wat we kunnen uitzetten ?

"XPS35" <xp...@hotmail.com> wrote in message

news:OcabEqS%23DHA...@tk2msftngp13.phx.gbl...

XPS35

unread,
Feb 22, 2004, 5:19:15 AM2/22/04
to

> Dit werkt inderdaad perfect, ontzettend bedankt.

Moet ergens bij Extra -> Opties zitten. Heb hier nu geen Access.

Peter

Erik

unread,
Feb 22, 2004, 6:39:17 AM2/22/04
to
Gevonden

Bedankt
Erik

"XPS35" <xp...@hotmail.com> wrote in message

news:uqZkR1S%23DHA...@TK2MSFTNGP10.phx.gbl...

0 new messages