Rapport op basis van criteria

Status
Niet open voor verdere reacties.
Goede morgen Octafish,

Sinds gistermiddag probeer ik een formulier te maken waar keuzes gemaakt kunnen worden.
Ik heb groepsvak geprobeerd, maar dan kan slechts een keuze gemaakt worden.
Heb keuzevak geprobeerd, werkt ook niet
heb keuzevak met invoer veld geprobeerd, idem
Heb selectierondjes geprobeerd en die gekoppeld aan het betreffende veld, maar bij aanklikken verandert de waarde van het besturingen element (is natuurlijk wel logisch)

Zou je me aub een zetje in de goede richting willen geven zodat ik een redelijk keuze formulier kan maken en vandaar uit verder kan?

Bedankt
 
Een keuzelijst kun je instellen op <Meervoudige selectie> = Enkelvoudig of Uitgebreid. In beide gevallen kun je dan meerdere opties aanklikken. Een groepsvak accepteert (logisch lijkt mij) maar één waarde als uitkomst. Wil je meer selecties kunnen maken middels selectievakjes (ik zou geen radiobuttons gebruiken, want de gemiddelde gebruiker kent die als een groep met één mogelijke optie, en je brengt ze daarmee dus behoorlijk in verwarring) dan moet je die dus niet in een groepsvak zetten.
 
Dank je wel, ik begrijp je opmerkingen.


Als ik een keuzelijst maak met een meervoudige selectie, dan moet ik natuurlijk wel eerst een tabel hebben die betaling heet. Nu heb ik die velden in de tabel cursist staan. Of zie ik dit verkeerd?
 
Een keuzelijst kun je, net als een Keuzelijst met Invoervak, baseren op een lijst met waarden, of een tabel. Als je een paar betalingswijzen hebt (en veel meer dan 10 zul je er zelf ook niet kunnen bedenken) dan is een tabel niet echt nodig, tenzij je die waarden vaker nodig hebt, dan is een tabel weer handig.
 
Dank je wel,


wat ontzettend stom van me. Heb nooit stil gestaan bij de optie type de waarden zelf.


Formulier heb ik.

Nu komt de (voor mij) belangrijkste vraag, hoe laat genereer ik nu op basis van de keuzes in het formulier de diverse rapporten.
 
Nu komt de (voor mij) belangrijkste vraag, hoe laat genereer ik nu op basis van de keuzes in het formulier de diverse rapporten.
Dat kun je om 12:00 uur doen, of om 14:00, desnoods om 14:23. Mag je helemaal zelf bepalen :)
 
Je bent goed wakker:):):)

Wilde natuurlijk alleen weten hoe ik een rapport generen (laat generen) op basis van de keuzes uit de keuze lijst.
 
Je wilt het zonder programmeren, en dat kan dus prima. Wat je moet doen, is in de query die je gebruikt om het rapport te laten zien, voor elk veld waarop je wilt filteren een nieuw criteriumveld maken. Dat ziet er qua structuur zo uit:
Code:
IIf([Forms]![fSelectie]![cboJouw Keuzelijst] Is Null;Waar;[Tabel of Querynaam].[Veld waarop je filtert]=[Forms]![fSelectie]![cboJouw Keuzelijst])
Het veld moet je vervolgens filteren op het criterium <> Onwaar.
Dit nieuwe veld hoef je niet zichtbaar te maken, want de uitkomst ervan is niet relevant, en zegt ook niks. Je herhaalt dit voor elk formulierveld waarop je een filter wilt hebben, met uiteraard steeds aanpassingen voor het tabelveld en het formulierveld. Selectievelden hebben de waarden 0 of -1 als je ze aanklikt, dus zorg ervoor dat ze leeg zijn op het formulier als ze niet worden gebruikt, anders werkt de formule niet goed.
 
Dank je wel!!!!!!!!!!!!!!!!!


Ga er mee aan de slag. Zal nog wel even duren, voordat ik je het resultaat kan laten zien.
 
Pfff heb verschillende opties geprobeerd, maar krijg foutmeldingen als ik een query probeer te maken

Code:
IIf([Forms]![fSelectie]![cboJouw Keuzelijst] Is Null;Waar;[Tabel of Querynaam].[Veld waarop je filtert]=[Forms]![fSelectie]![cboJouw Keuzelijst])


Dit heb ik gebruikt:
Mijn formulier waar de keuze lijst op staat heet frmbetalingkeuze
De keuzelijst zelf heet betaling
de tabel waar de gegevens in staan heet tblcursist
het veld waarop ik wil filteren is 2e kind
Dit heb ik ingegeven
Expr1: IIf([frmbetalingkeuze]![fSelectie]![Betaling] Is Null;Waar;[tblcursist].[2e kind]=[frmbelatingkeuze]![fSelectie]![Betaling])


Ook als ik
Expr1: IIf([Forms]![fSelectie]![Betaling] Is Null;Waar;[tblcursist].[2e kind]=[Forms]![fSelectie]![Betaling])

gebruik gaat het niet goed.

Ik weet het ik ben waarschijnlijk blond of dom of beide, maar daarnaast denk ik ook nog naïef, wat doe ik niet goed?
 
Wellicht een beetje zwaar getafeld in het weekend, want de juiste variant zit er inderdaad niet bij. Zo'n beetje ook de enige mogelijkheid die overblijft. Wat dat betreft zou je eigenlijk Nederlandse Topsporter moeten worden, want die struikelen ook altijd net voor de finish :)
Code:
IIf([Forms]![frmbetalingkeuze]![Betaling] Is Null;Waar;[tblcursist].[2e kind]=[Forms]![frmbelatingkeuze]![Betaling])
Zou je de formule hebben gemaakt met de Functie Opbouwen, dan had je overigens deze syntaxfout niet gemaakt, want die zet de juiste verwijzingsgegevens er prima in. Jouw probleem was dus, voor zover je dat nog niet ziet, dat je altijd moet verwijzen naar het bronobject. In dit geval is dat een object uit de collectie formulieren ([Forms]!), dan de naam van het formulier ([frmbetalingkeuze]!) en dan de naam van het formulierobject ([Betaling]). Wat jij gedaan hebt is de naam van mijn formulier hergebruiken, en dat formulier (geef ik je op een briefje) heb je niet :)
 
Dank je wel,


ben blij dat je zelfs bij al mijn stupiditeiten nog steeds humor hebt. Zul je ook wel moeten hebben als je in dit forum zo ongelooflijk veel werk verricht. Hardstikke bedankt, ga het gelijk proberen en meteen voor de andere velden aan het werk. Laat het resultaat wel horen. Tenminste als ik het goed doe, want ik schaam me om weer terug te moeten komen als het niet werkt.
 
Laatst bewerkt:
Dag Octafish,


dan zou dit de goede expressie moeten zijn:

Expr1: IIf([Forms]![frmbetaling]![Betaling] Is Null;Waar;[tblcursist].[2e kind]=[Forms]![frmbetaling]![Betaling])


Heb het niet letterlijk gekopieerd, omdat ik de naam van het formulier gewijzigd (frmbetaling)heb (minder typewerk). Maar krijg bij het uitvoeren van de query Formulieren!frmbetaling!Betaling te zien in het venster parameter opgeven. Wat doe ik nu fout.

Begin er over te denken, de handdoek maar in de ring te gooien, maar eigenlijk is dat m'n eer te na.
 
Kloppen de gegevenstypen van [Betaling] en [2e kind] wel? Lijken mij verschillende velden te zijn. Al is mijn logica ongetwijfeld anders als de jouwe.
 
Hallo Octafish,


word er moedeloos van ook deze werkt niet

Expr1: IIf([Forms]![frmbetaling]![betaling] Is Null;Waar;[tblcursist].[2e kind]=[Forms]![frmbetaling]![2e kind])
 
Ik zou zeggen: voorbeeldje met het selectieformulier.
 
Bekijk bijlage Test 1 juli.part01.rarBekijk bijlage Test 1 juli.part02.rar



Goede morgen Octafish,


Dank je wel voor je onuitputtelijke steun.


Het keuze formulier =frmbetaling
De keuzelijst heet betaling
De query voor het printen = qrytest1

Ik neem aan dat ik weer iets niet helemaal goed doe. Zoals je al zei, net voor de finish struikelen. Lijkt er nu op dat de komenende bergetappe zonder hulp van de bezemwagen te hoog is.


PS hoop dat je de bestanden kunt openen
 
Laatst bewerkt:
Ik begin een beetje te zien waarom het niet werkt, en ook nooit zal gaan werken: je gebruikt verschillende velden voor de verschillende soorten betaling. En dat zou ik nooit doen. En je hebt bovendien maar één keuzelijst. Je hebt nu de volgende velden:
2e Kind
Betaling vooraf
Betaling contant
Eenmalige incasso
Betaling in termijnen

en dat zijn allemaal Ja/Nee velden. En dan heb je een keuzelijst met de opties "Betaling vooraf";"Betaling contact";"Betaling per incasso";"Betaling in termijnen";"2e kind";"Schoolkorting". Hoe wou je daar een Ja/Nee veld mee filteren? Zou ik ook niet kunnen. En ik vind dat ik best een hoop kan in Access :)
Eerst maar eens het grootste nadeel van je huidige constructie: als je voor alle mogelijkheden een Ja/Nee veld gebruikt, kun je ze in principe allemaal aanvinken, of allemaal leeglaten. Dat laatste hoeft niet eens een probleem te zijn (je hebt tenslotte tot het moment van betalen nog niet betaald) maar de rest natuurlijk wel. Niemand doet een betaling vooraf, een betaling contant en geeft dan ook nog eens een machtiging voor betaling per incasso. Om een maand later te melden dat hij nog vergeten was in termijnen te betalen... Kortom: het type betaling dient gewoon één tekstveld (of desnoods een tabel met een autonummer) te zijn waarin je één waarde kan opslaan. Kies je betaling in termijnen, dan moet je nog iets hebben om de betaalde deelbedragen te verwerken, maar dat is nog wel op te lossen. Wat je nu hebt, is dus eigenlijk niet werkbaar.
Zou je één tekstveld hebben met de betalingsopties, dan zou de filtering nog wel kunnen werken, maar niet zoals jij hem had. Hij zou dan zo moeten zijn:
Code:
IIf([Forms]![frmbetaling]![cbobetaling] Is Null;Waar;[betaling]=[Forms]![frmbetaling]![cbobetaling])
En het criterium voor dit (niet zichtbare) veld is dan: <>Onwaar.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan