query selectie en alles tonen

Status
Niet open voor verdere reacties.

oosterbaan S S

Gebruiker
Lid geworden
13 mrt 2005
Berichten
128
Hallo forumleden

Ik heb een selectiequery waarin ik in criteria het volgende tussen [] heb staan:
[type de categorienaam:]

Gebruikers krijgen bij uitvoering dan een invoerschermpje waarin men de gewenste categorie invult en de query filtert de records uit. Tot zover alles duidelijk.

Vult de gebruiker echter niets in in het invoerschem, dan filtert de query niets uit en dat is - voor mij- niet de bedoeling. Bij niets invullen wil ik graag dat de query -alle records- toont.

Nu heb ik zelf al geprobeert om bij de onderliggende regel "of" in te voeren: like "*" maar dat helpt niet.

Wie weet de oplossing??:thumb:
 
misschien niet de mooiste

In het verleden heb ik zoiets op de volgende wijze opgelost. In het formulier een (verborgen) veldje maken die met DCount het aantal waarden telt van de betreffende querie. Vervolgens kun je achter knopje instellen If Me.DCount =0 then (open querie 1 die alle records toont, dus NIET de querie die geteld wordt) else open querie met ingestelde selectie. Misschien dat dit een idee is. Suc6
 
Laatst bewerkt:
Beste Anne-Marie,

Bedankt voor je antwoord. Ik kom er nog niet helemaal uit.

Aan de query is een formulier notities gekoppeld. Als ik op dit formulier een veldje plaats, zet ik dan dcount achter besturingselementbron en hoe ziet dan de opbouw eruit??
En wat bedoel je met: achter knopje instellen??
En moet ik een tweede query aanmaken?

Sorry dat ik het niet begrijp - ben nog maar een beginner:confused:
 
Nog een poging

Ik ga ervan uit dat je een formulier hebt waar de mensen op starten. Ik noem dit maar even voor het gemak Fm Start. Op dit formulier krijgen de mensen de mogelijkheid om de door jou beschreven querie te starten waarna een volgend formulier geopend wordt met de geselecteerde records (Fm Eindresultaat). Ik zou dit doen door hen op een knop te laten klikken (vandaar achter knop in mijn antwoord). Wat ik verder zou doen is onder dit knopje een keuzelijst met invoervak maken met alle categorienamen. Men moet dus eerst kiezen en dan pas klikken. Dit voorkomt foutieve invoer (en ziet er mooier uit). Ik noem dit veldje maar even KeuzeCategorie. Voor dit antwoord ga ik van dit laatste uit (is namelijk ook makkelijker)
Nu heb je 2 queries nodig.
Querie 1 die je al hebt met de selectie op categorienaam. Bij criteria categorienaam verwijs je naar Fm Start: [Forms]![Fm Start]![KeuzeCategorie]
Querie 2 die identiek is aan 1 maar ZONDER selectie zodat deze alle records toont.
Deze queries ga je gebruiken om uiteindelijk je formulier te openen.

Op het Fm start maak je een onafhankelijk veld (naam: Telling). Bij besturingselementbron zet je = DCount("[Id]", "Querie 1") Ik ga ervan uit dat Id een uniek veld uit de bewuste tabel is en is opgenomen in je querie. Dit veldje maak je als alles werkt onzichtbaar.

Nu moet je het voor elkaar krijgen dat achter de bewuste knop het eindformulier wordt geopend met de juiste querie afhankelijk van de DCount:

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Fm Eindresultaat"

If Me.Telling is >0 then DoCmd.OpenForm stDocName, , , “Querie 1”, else DoCmd.OpenForm stDocName, , , “Querie 2”,

De queries worden dus als filter gebruikt om het FM Eindresultaat te openen. Mogelijk moet je nog een requerie zetten op het Dcount veld na selectie categorienaam maar ik denk het niet.
Zou je het willen doen zoals je eerst van plan was dan moet je achter de knop:
1. querie 1 laten uitvoeren
2. DCount opnieuw laten berekenen
3. Formulier openen zie hiervoor.
Dus veel omslachtiger. Meer tijd heb ik niet dus ik hoop dat je er zo uitkomt. Suc6
 
Laatst bewerkt:
Beste Anne-Marie,

Helemaal duidelijk, nu.
Bedankt voor je uitgebreide antwoord.
Geweldig dat je zoveel moeite hebt willen doen om aan mij het probleem uit te leggen!
:thumb:

Hartelijk groet
Stephan Oosterbaan
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan