Aantal records in query willen beperken

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Helpmij'ers,

Weer een probleem. Heb nu een mooie query gemaakt, maar hij loopt wat uit de hand en is dus niet zoals ik wil. Per naam die voorkomt gaat ie deze 100x weergeven. Heb er 93 instaan, dus 9300 records waarvan er maar 93 correct zijn.
Het veld Categorie moet overeen komen met CategorieID. Deze zijn beiden weer te vinden in 2 andere tabellen. Heb echt alles geprobeerd te maken als criteria, maar kom er helaas niet uit:confused:
Weet iemand hoe je een bepaald criteria opsteld waardoor ik nog maar 93 records overhoudt ipv 9300?
 
Om een antwoord op je vraag te kunnen geven zul je wat meer informatie moeten geven.
Post even de SQL van je query en de layout van je tabellen, dan kunnen we kijken wat je moet doen.
 
Ok, hierbij de gegevens waarover het gaat in een 2000 versie.
Wat ik dus wil bereiken in query CK deelnemers is dat hij allen de goede combinatie van categorie en categorieID weergeeft en de rest dus niet. Deze categorieën worden voor deze categorieën per 1 nov. elk jaar gewijzigd (zie de oh zo leuke formule onder Categorie in CK deelnemers). Dit ligt dus voor een jaar vast, maar verander dus welk jaar met 1 record naar beneden in de twee overige tabellen buiten de ledenlijsttabel om. Dit is ook belangrijk, zodat niet iemand die nu bij de tweede rij JB hoort opeens daar als bij de eerste rij gaat horen, dat betekent dat ie een jaar langer in die categorie zit en dit is niet de bedoeling.
Ik hoop dat je nu begrijpt wat ik wil bereiken.

PS > tja, misschien had ik de twee categorie tabellen in 1 moeten doen evt. (als dit misschien wat uitmaakt, gooi ze maar bij elkaar in, zie ik wel wat er gedaan is)
 
Laatst bewerkt:
OK, op het gevaar af meteen vriendelijk te worden....
Je datamodel is en zootje. Zo, dat is er uit.
Je zult je datamodel moeten normaliseren, inderdaad, die twee tabellen moet je samenvoegen.
Leeftijd is een afgeleid gegeven, dat kun je altijd berekenen uit de geboortedatum, dat is dus een veld dat je zeker niet als sleutel van een tabel kunt gebruiken!
In de mannen en in de vrouwen tabel heb je geen verwijzing opgenomen naar het id in de ledenlijst. Je zult deze tabellen dus nooit op een nette manier kunnen koppelen aan de ledenlijst.
Je zult dus met deze tabellen nooit kunnen bereiken wat je wilt.
Als ik dit zie dan kan ik je maar één welgemeend advies geven: uithuilen en opnieuw beginnen.

Begin met het ontwerpen van een goed datamodel.
Zorg ervoor dat elke tabel een betekenisloze sleutel heeft (ID, autonumber).
Zorg ervoor dat als je een relatie tussen twee tabellen hebt, in de gerelateerde tabel een foreign key is (bijvoorbeeld IDDeelnemer) die verwijst naar de primaire sleutel in de andere tabel (ID).
Pas als je dit soort zaken in orde hebt kun je queries en formulieren gaan maken.
In queries moet je ALLE tabellen koppelen. De koppelingen woren dan gemaakt over de sleutels (velden ID) en de secundaire sleutels (velden ID......).
Pas dan zul je in staat zijn de juiste gegevens uit je database te halen.
 
Hmz, ok, dat is tenminste duidelijke taal. Had nie anders verwacht eigenlijk. Baal wel b-tje heel erg, want een bijna compleet goed werkend onderdeel van deze database (niet in deze bijlage vermeld) draait wel op de twee categorieen tabellen. Zal kijken of ik daar eventueel ook nog een aanpassing aan kan doen.
Ik ga direct beginnen met sleutelen morgen. Gelukkig ben ik nog een beetje in het beginstadium. Ik hoop dat ik er uit kom, ben iemand die niet zo veel van relaties snapt helaas, als ik er niet uit kom, dan hoor je nog van mij.

Zit alleen met het probleem van leeftijd en categorie. Ik kan toch alleen maar de geboortedatum in de ene tabel hebben staan en de categorie in de andere tabel? En dan in een query pas bepalen bij welk geboortedatum welke categorie hoort??

Ik ga in ieder geval even aan de slag.
 
Als je nu eens de techniek loslaat en gewoon beschrijft wat je wilt doen. Ik bedoel hiermee: vertel wat het systeem functioneel moet doen. Voor mij is dat namelijk nog niet helemaal duidelijk. Dan zijn er hier best wel mensen die een goede database voor je kunnen ontwerpen.
Daarmee kun je dan verder aan de slag.
 
Nou ok, komt m'n verhaal:

Ik wil als basis een query die aan de hand van uitslagen met behulp van de normen in de (nu nog 2 tabellen), het percentage uitrekent (het puntenaantal).
Ik heb op het moment al wel zo'n programma, maar hij is mij teveel werk elke keer om alles in te voeren.
Nu heb ik de tabel Ledenlijst. Hierin staan alle leden, ook leden die niet mee doen. Deze tabel moet zo blijven zoals ie is, er kunnen wel dingen aan toegevoegd worden, maar niet verwijderd. In de query moet ie dan wanneer hij bepaald heeft wie in welke categorie valt bepaalde categorieën selecteren (de criteria)
Dan heb ik een tabel met daarin een hele zooi aan normen, gewichten, onderdelen enz. Maar voor dit programma hoef ik alleen maar de waarden te hebben die geheel rechts staan, de waarden t/m MA en JA.
Maar voordat de pc gaat rekenen, moet ie weten met welke normering hij moet rekenen en dat kan ie pas aan de hand van de categorie die weer af te leiden is aan de geboortedatum. Dit heb ik met de formule gedaan die in een andere vraag van mij staat, (die hele lange formule). Wanneer hij dus weet met welke normering hij kan gaan rekenen in de query, kan hij van de 8 onderdelen die in de tabel stonden bij de normering uitrekenen. De query dient weer als basis voor de rest van mijn DB, dus deze moet perfect worden en kan dus alleen gemaakt worden met de 2 tabellen.
Als de query goed is, kan ik wel weer verder met de database, deze is dan ongeveer hetzelfde als wat ik nu heb, dat wordt dan ongeveer knippen/plakken (hoop ik).

Ik hoop dat het nu weer wat duidelijker is geworden. Misschien dat iemand mij hiermee op weg kan helpen, gegevens hiervoor kan ik je wel leveren met de daarbij resultaten die eruit moeten rollen.
Alvast bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan