werken met parameters in een query

Status
Niet open voor verdere reacties.

arnoderuig

Gebruiker
Lid geworden
8 sep 2000
Berichten
577
Ik wil een query maken met gebruik van parameters. In de query heb ik 2 parameters benoemd
1. [naam]. Dit betreft een tekstveld
2. [komtvoor]. Dit is een Ja/Nee-veld

Zolang een bestaande naam in [naam] wordt ingevuld gekoppeld aan een ja of nee in [komtvoor]gaat alles goed. Maar welke waarde kan ik vermelden in [ naam] om alle records (dus met welke naam danook) te kunnen selecteren? Dezelfde vraag heb ik ook voor de waarde die in [ komtvoor] kan worden vermeld om alle records (onafhankelijk van welke waarde ook) te kunnen selecteren.
 
Het eerste deel is simpel: je voegt de wildcard tekens toe aan het criteriumveld. Je criterium ziet er dan zo uit:
Code:
Like "*" & [Typ een deel van de naam] & "*"
Het tweede deel is wat lastiger, omdat een Ja/Nee veld eigenlijk een getalveld is, en je niet alleen op Nee of Ja wilt filteren, maar het veld ook leeg wilt kunnen laten om alles te zien. Met een IIf functie kun je dat oplossen:
In dit voorbeeld heb ik een Ja/Nee veld met de naam Actief. Ik heb een Parameterveld aangemaakt van het type Ja/Nee (<Query>, <Parameters>) met de naam JaNee
Vervolgens maak je in een leeg veld in de query deze formule:
Code:
Expr1: IIf([JaNee] Is Null;Waar;[Actief]=[JaNee])
Deze formule geef je het criterium:
Code:
<>Onwaar
Resultaat is dat je bij het uitvoeren van de query een vraag krijgt voor het JaNee veld, dat je leeg kunt laten, of met Ja of Nee kunt vullen (andere waarden mogen natuurlijk ook). Gevolgd door de tekstveld vraag, waar je een of meer letters kunt typen, maar dat je ook leeg kunt laten.
 
Laatst bewerkt:
Ik denk dat TS dit antwoord zoekt op vraag 1

= ([Typ een deel van de naam] OR [Typ een deel van de naam]) = Null

Tardis
 
@Tardis: ik denk dat je verkeerd leest.... TS wil alle records, of records die voldoen aan (een deel van) de ingetypte naam. Maar we zien wel wat-ie wil...
 
Ik denk dat jij verkeerd leest OctaFish.
Zou ik kunnen zeggen.
Maar ik zie het zo dat jij het anders leest dan ik.
Kleine nuance en een wereld van verschil ;)

Tardis
 
Laten we niet in een discussie verzanden achter de rug van de TS om:
om alle records (dus met welke naam danook)
Is toch moeilijk fout uit te leggen...
 
Excuses dat ik pas nu reageer op jullie berichten. Ik had ingesteld dat ik zou worden gemaild als er reacties waren. Dit lijkt niet te werken; ik kreeg namelijk geen eimailberichten. Nieuwsgierigheid leerde mij dat er reacties waren.

Tijd voor wat duidelijkheid. Binnen de applicatie heb ik geregeld dat JaNee altijd een waarde heeft. Leeglaten kan dus niet.

Het naamveld is grelateerd aan een tabel met namen. Daaruit kan met een formulier een keuze worden gemaakt. De applicatie regelt dat altijd een bestaande naam of [niets] moet worden geselceteerd. [Niets] betekent dan dat alle Namen moeten worden geselecteerd.

Ik heb nu al het gevoel dat ik weet welke richting ik op moet denken. Dank dus voor de reacties.
 
Als je een query gebruikt met een Outer Join, dan krijg je ook op een Ja/Nee veld een Null-waarde. Ik kan uiteraard niet beoordelen of dat in jouw geval ook zo is, maar hou die wetenschap in ieder geval in het achterhoofd...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan