query niet filteren op lege textvelden

Status
Niet open voor verdere reacties.

mbakker71

Gebruiker
Lid geworden
25 mei 2012
Berichten
163
Beste,

ik heb een formulier waar mensen kunnen fiteren. nou heb ik dus 2 comboxes met nummers en dan heb im dus in mijn qeury staan

Code:
BETWEEN Between [Forms]![Search File]![cmbArea1] And [Forms]![Search File]![cmbArea2]

alleen nu wil ik dus zeggen dat die dus niet moet filteren als die leeg is.

ik had al met de iff functie geprobeerd alleen dat werkte ook niet

met vriendelijke groeten,
martijn Bakker
 
En toch moet het met IIF, want je moet alle 3 de mogelijkheden afvangen. Dus eerst een IIF om te kijken of de eerste keuzelijst leeg is, daarna de eerste nesting om te kijken of de tweede leeg is. Probeer maar eens, en als je er niet uitkomt, geef dan het werk dat je al hebt. Weten wij ook hoe je velden heten.
 
deze IIF code heb ik gebruikt

Code:
IIf([Forms]![Search File]![cmbArea1]="";";BETWEEN" Between [Forms]![Search File]![cmbArea1] And [Forms]![Search File]![cmbArea2])
 
IIf([Forms]![Search File]![cmbArea1]="";;Between [Forms]![Search File]![cmbArea1] And [Forms]![Search File]![cmbArea2])
 
Je laat sowieso nu de TRUE tak leeg, daar moet dus ook een volgende IIF komen om door te testen. Verder kan je niet met Between werken, maar moet je met < en > velden vergelijken.
 
Waarom moet ik de IIF TRUE invullen met een IFF functie?

helaas werkt mij volgende code ook niet

Code:
IIf([Forms]![Search File]![cmbArea1]="";"";>=[Forms]![Search File]![cmbArea1] And <[Forms]![Search File]![cmbArea2])
 
In je vergelijkingen heb je ook maar één veld staan. Dat kan natuurlijk niet. Als ik in een gesprek tegen jou zeg: "> dan 80" zeg jij tegen mij: wat is groter dan 80? Dan zeg ik: de maximum snelheid o.i.d. Kortom: waar is het veld in jouw vergelijking?
 
Het moet er minstens zo uitzien:
Code:
IIf([Forms]![Search File]![cmbArea1] Is Null;"";[Veld]>=[Forms]![Search File]![cmbArea1] And [Veld]<[Forms]![Search File]![cmbArea2])
 
Wat dacht je van de veldnaam waar je op wilt filteren?
 
Nope de volgende code werkt ook niet

IIf([Forms]![Search File]![cmbArea1] Is Null;"";[Area]>=[Forms]![Search File]![cmbArea1] And [Area]<[Forms]![Search File]![cmbArea2])
 
Het veld [Area] lijkt mij een tekstveld. Dat moet je anders filteren. Maar daarvoor moet ik weten wat er uit je keuzelijsten komt, want als daar een getal in zit, heb je alsnog een probleem. Ik heb nog een oude db van je liggen, maar daar zit dit formulier niet in, en het veld [Area] ook niet, dus ik kan niks testen.
 
area is de naam van de query row. de naam van de combobox waar de gebruiker zijn zoekcretaria kan selecteren heet cmbArea1 & cmbArea2
 
Area zal zeker geen naam zijn van een query rij, want die hebben geen namen (hooguit een volgnummer) dus je bedoelt vast een veldnaam. Maar daar ging ik toch al van uit, dus die wetenschap doet verder niks voor de oplossing :)
 
Ik zie je formulier met de keuzelijsten, maar wanneer wordt die filtering dan neergezet? En waar? Ik zie geen knop of actie die een filter uitvoert.
 
ik moet de knop moet ik nog maken en de resultaten komen in de listbox te staan onderaan de form
 
Ik snap dan niet waarom je [Files query] niet als basis gebruikt voor die listbox, maar daar weer een query op baseert. Maar dat lost het probleem ook niet op. Je voorbeeldje heeft een hoop records in de tabel [Area] (88+) maar zegge en schrijve 1 in de tabel [Files]. Dan valt er bitter weinig te filteren. Heb je niet een bestandje met minder Areas maar meer files?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan