Criteria selectiequery geeft foutmelding

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Hallo,

Ik zit weer met een probleempje.
Heb een query met daarin naam achternaam en categorie. De laatste, categorie, is een berekend veld, nou ja hij zoekt waarden op die bij een bepaalde geboortedatum horen.
Nu mijn probleem: ik wil in de query, bij de criteria bepaalde records eruit 'vissen'. Wanneer ik "JpC" bij criteria invul en ga kijken wat het resultaat is, geeft ie de foutmelding van ongeldig gebruik van null.
JpC kan als resultaat te voorschijn komen in de kolom categorie namelijk. Aangezien ik niet iedereen uit deze query wil hebben en MOET selecteren op categorie moet ik hier een oplossing voor hebben, alleen ikzelf kom er niet uit. Heb al de functie FORMAT geprobeerd, dat ging ook niet. Ik maakte de fouten volgens mij. Maar er moet toch iets voor zijn waardoor ik wel op een bepaalde categorie kan kiezen bij de criteria???
Heeft iemand hier een oplossing voor? Alvast bedankt.
 
Gebruik de nz() functie om de NULL values af te vangen. Dat lost je probleem op.
 
Heb nu de volgende criteria bedacht: Nz([Categorie]=("JpC");0). Maar dit werkt niet, hij vraagt om een parameter. En daarna zegt ie dat het te complex is.
Hoe moet ik deze gebruiken dan? Kun je me misschien een klein voorbeeldje maken? Alvast bedankt
 
Wat voor datatype is het veld Categorie?
Gezien de waarde die je opgeeft moet het een string (textveld) zijn.
Vervolgens probeer je er iets numerieks van te maken als er null in staat. Dat gaat niet werken. Daar zul je ook een string moeten teruggeven een spatie bijvoorbeeld " ".
 
het is een berekend veld. Hij bepaalt de waarde aan de hand van de volgende formule:

Categorie: IIf([Titel]="Mw." Or [Titel]="Hr.";(IIf([Titel]="Mw.";(IIf(DateDiff("yyyy";[Gebdat];Date())<20;(IIf(Format$(Date();"mmd")<"111";(DFirst("Categorie";"T-Categorieën vrouwen";"Leeftijd =" & CStr(Year(Date())-(Year([Gebdat])))));(DFirst("Categorie";"T-Categorieën vrouwen";"Leeftijd =" & CStr(Year(Date())-(Year([Gebdat])-1))))));(DFirst("Categorie";"T-Categorieën vrouwen";"Leeftijd =" & CStr((Int((Year(Date())+Month(Date())/12+Day(Date())/365,25)-(Year(([Gebdat]))+Month([Gebdat])/12+Day([Gebdat])/365,25))))))));(IIf(DateDiff("yyyy";[Gebdat];Date())<20;(IIf(Format$(Date();"mmd")<"111";(DFirst("Categorie";"T-Categorieën mannen";"Leeftijd =" & CStr(Year(Date())-(Year([Gebdat])))));(DFirst("Categorie";"T-Categorieën mannen";"Leeftijd =" & CStr(Year(Date())-(Year([Gebdat])-1))))));(DFirst("Categorie";"T-Categorieën mannen";"Leeftijd =" & CStr((Int((Year(Date())+Month(Date())/12+Day(Date())/365,25)-(Year(([Gebdat]))+Month([Gebdat])/12+Day([Gebdat])/365,25))))))))));"Titelfout")

Tja, geen bepaald eenvoudige, maar werkt wel. De waarden die deze formule opzoekt zijn tekstwaarden zoals JpC en MpC, V40 enz.

Ik probeer dus in de query alleen de waarden voor JpC bijvoorbeeld alleen te laten zien uit alle verschillende categorieën. Hier geeft hij dus een foutmelding van ongeldig gebruik van null.
 
Helaas ben ik nu even m'n lijst met namen kwijt zodat ik iets nie kan testen, maar vanavond pas. Misschien dat ik al weet wat de oplossing is.
Heb nu 3 namen ingevoerd, hij bepaald de categorie, typ simpel bij de criteria - jpc - en hij selecteert gewoon diegene die jpc is.
Kan het probleem ook zijn als er iemand in staat die geen categorie heeft toegekend gekregen omdat ik daar geen geboortedatum heb, dat die dan de foutmelding geeft van ongeldig gebruik van null.
Tja, heb er niet zo opgelet eigenlijk, ga geen 337 records na of ik daar een gebdat van heb, omdat deze lijst automatisch wordt opgehaald van exceldoc. die ik weer automatisch telkens ontvang via de mail van iemand. Maar kan het dus hier aan liggen dat sommige records geen categorie heeft zodat hij die foutmelding geeft? Dus de oplossing zou kunnen zijn om eerst de mensen eruit te filteren die geen geboortedatum hebben toegekend (hier dus -voor de duidelijheid- geen categorie aan worden toegekend) en dan pas te selecteren op categorie????
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan