Selectie dmv vinkjes

Status
Niet open voor verdere reacties.

terbeest

Gebruiker
Lid geworden
8 sep 2000
Berichten
437
Ik probeer het volgende te bereiken:

Ik wil een forumulier maken met 6 vinkboxjes erop. Ik heb al een tabel met corresponderende velden die overigens ook Ja/Nee-velden zijn.

Nu wil ik dat mensen vinkjes kunnen aanzetten en op een knop kunnen drukken waarna er een lijst tevoorschijn komt met de records die hieraan voldoen.

Voorbeeld:

tabel:
ID, Naam, Adres, vinkje1, vinkje2, vinkje3
1, Janssen, bla bla, JA, JA, NEE
2, Pietersen, bla bla, JA, NEE, NEE

Op het formulier staan ook de vinkjes1 t/m 3
als iemand dan vinkje 1 en 2 aankiest moet ie alleen record 1 in beeld krijgen. Als iemand vinkje 1 aanzet beide records...

Ik hoop dat het zo duidelijk genoeg is.
 
In een query kun je eenvoudig verwijzen naar de waarden van de vinkvakjes op het formulier. Dat doe je m.b.v. de volgende syntax: [Form1]![Vinkvakje1]

Als je alle vinkvakjes in dezelfde regel plaatst geldt er een EN functie tussen alle vinkvakjes.

Zorg ervoor dat je formulier open staat als je het rapport opent, anders zijn de waarden van de vinkvakjes verdwenen. Zorg er ook voor dat de standaard waarde van de vinkvakjes bijv. "Nee" is. Anders gaan er rare dingen gebeuren omdat de waarde dan standaard "NULL" is.


Grtz,
 
Ik heb de vinkboxjes nu zover maar ik kom er niet helemaal uit.

Als ik een query maak kan ik wel een criteria opgeven maar als ik zeg [formulier]![vinkboxje]=Ja bij criteria geeft ie het alleen maar weer als de waarde is aangevinkt.

Kun je me even opweg helpen met de formule?
 
Je moet bij Criteria =[formulier]![vinkboxje] opgeven. Daarmee geef je aan dat de waarde in de tabel moet overeenkomen met de waarde zoals die op het formulier op dat moment staat.

Zoals je het nu hebt staan controleert ie of op het formulier het boxje aangevinkt is, zo ja dan laat ie alles zien, zo nee, dan laat ie niets zien.


Grtz,
 
Voor het geval iemand anders dit nog nodig heeft, dit is de correcte syntax hiervoor:

[Forms]![formuliernaam]![vinkboxnaam]
 
Ik zit nog met het volgende: Als ik geen vinkje heb staan op het formulier wil ik daar niet op controleren. voorbeeldje:

Record 1: veld1=JA veld2=JA

Als ik nu op het formulier alleen veld1 aankies dan laat ie niks zien. Alleen als ik beide aankies. Ik wil dus dat ie welke ik ook heb aangekozen hij het laat zien. Alleen als ik veld3 aankies natuurlijk niet, misschien iets met ALS(vinkje<>Ja;"";vinkje) in het criteria veld?
 
Eigenlijk wil je dus alleen op de "JA" waarden selecteren?

Dan zou je met
IIF([Forms]![formuliernaam]![vinkboxnaam]=True;[Forms]![formuliernaam]![vinkboxnaam])
In het criteriumveld het probleem moeten kunnen oplossen. Even uit mijn hoofd is het tweede argument van het IIF statement optioneel en hoef je daar dus niets in te zetten.


Grtz,
 
Je formule ziet er goed uit, alleen werkt het niet...

Als ik één van de waarden selecteer en de andere niet dan laat ie het niet zien.

heel wazig, krijg geen foutmelding ofzo, de query blijft gewoon leeg.
 
Die werking klopt inderdaad wel, alleen als ik Assis aanvink zouden er 3 records naar voren moeten komen, omdat er bij 3 personen Assis is aangevinkt.

Het moet niet uitmaken of er MEER is aangevinkt. Alleen of er MINDER is aangevinkt..

Hopelijk is het een beetje duidelijk
 
Probeer de volgende query eens:
Code:
SELECT *
FROM klanten
WHERE (((IIf([Forms]![selectieformulier]![gbc]=True,-1,0))>=[KlantGBC])) OR (((IIf([Forms]![selectieformulier]![ikl]=True,-1,0))>=[KlantIKL]));

Maak even een nieuwe query, zet die in SQL view en plak bovenstaande code erin. Ik geloof dat ie in de richting komt...


Grtz,
 
Hee ik wist niet dat je SQL kon gebruiken in MS Access... Dat ken ik wel van PHP/MySQL functies...

Ik ga het morgen direct proberen...
 
Nu geeft de query altijd alles weer, ongeacht of er nou vinkjes aanstaan of niet. Hij maakt dus geen selectie meer...

Ik heb OR vervangen door AND en nu lijkt het te werken. De werkende query ziet er nu zo uit:

SELECT *
FROM klanten
WHERE (((IIf(Forms!selectieformulier!gbc=True,-1,0))>=[KlantGBC])) AND (((IIf(Forms!selectieformulier!ikl=True,-1,0))>=[KlantIKL])) AND (((IIf(Forms!selectieformulier!assis=True,-1,0))>=[KlantAssis])) AND (((IIf(Forms!selectieformulier!relatie=True,-1,0))>=[KlantRelatiegeschenk])) AND (((IIf(Forms!selectieformulier!mailen=True,-1,0))>=[KlantMailen])) AND (((IIf(Forms!selectieformulier!slots=True,-1,0))>=[KlantSlots])) AND (((IIf(Forms!selectieformulier!hooghuis=True,-1,0))>=[KlantHooghuis])) AND (((IIf(Forms!selectieformulier!jiz=True,-1,0))>=[KlantJIZ])) AND (((IIf(Forms!selectieformulier!forum=True,-1,0))>=[KlantForum])) AND (((IIf(Forms!selectieformulier!rotary=True,-1,0))>=[KlantRotary])) AND (((IIf(Forms!selectieformulier!bedrijf=True,-1,0))>=[KlantBedrijf])) AND (((IIf(Forms!selectieformulier!ebrelatie=True,-1,0))>=[KlantEBrelatie])) AND (((IIf(Forms!selectieformulier!eafamed=True,-1,0))>=[KlantEAfamed])) AND (((IIf(Forms!selectieformulier!omniscoop=True,-1,0))>=[KlantOmniscoop]));


Bedankt voor al jullie medewerking!!!!
 
Laatst bewerkt:
Ik had ondertussen ook het een en ander geprobeerd en kwam ook tot de conclusie dat >= geen selectie meer maakte.

Dit was er nog wel als >= weggelaten werd bij de criteria.

Maar goed. Daar heb je dus nu zelf een (waarschijnllijk) betere oplossing voor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan