een unieke sleutel koppelen aan querygegevens

Status
Niet open voor verdere reacties.

nicolassoenens

Gebruiker
Lid geworden
9 okt 2011
Berichten
61
Beste,

De vraag:
Ik heb gegevens uit een query die ik zou willen koppelen aan een unieke sleutel.

Het probleem:
Ik heb een tabel personen.
Ik heb een tabel oefeningen.
Ik heb een tabel met persoon, oefening,datum, resultaat.

Het doel is een hisoriek bijhouden van elke persoon met elke oefening: datum, resultaat, aantal keer uitgevoerd...

Ik heb een query van de tabel oefening met de tabel personen zonder koppeling tussen de twee.
Zo worden alle personen gekoppeld aan alle oefeningen.

Dit resultaat had ik nu graag gekoppeld aan een unieke sleutel om zo per oefening en per persoon een subformulier te hebben van de historiek ervan. (ik dacht aan alles koppelen met een nieuwe tabel maar weet niet of dit kan)

(of zoek ik het te ver?) hum...hum...
 
Laatst bewerkt:
Je hebt al een tabel met de combinatie persoon-oefening,
Die moet je steeds invullen met een nieuw record van een persoon die een oefening heeft gedaan.

Die tabel geeft een overzicht (opvraagbaar middels een query)
van alle personen die een of meer oefeningen hebben gedaan.
In de query kun je dan selecteren op een of meer specifieke personen of een of meer specifieke oefeningen.
 
Ik snap wel zo ongeveer wat je wilt doen: je wilt een formulier hebben waarop je kunt zien welke personen een bepaalde oefening niet hebben gedaan. En die combinaties wil je in een subformulier zien dat je aan de personen (vermoed ik) wilt koppelen. Op basis van die mogelijke oefeningen wil je dan met een druk op de knop een nieuw record kunnen aanmaken in de tabel [Persoon_Oefeningen]. De tabellen [Personen] en [Oefeningen] heb je uiteraard aan [Persoon_Oefeningen] gekoppeld middels de sleutelvelden uit die tabellen, die bij elkaar dan ofwel een sleutel vormen ([PersoonID]+[OefeningID]) eventueel gecombineerd met een datumveld, zodat het mogelijk is dat een persoon een oefening meerdere keren kan doen, of een unieke index.
Maar als ik het verkeerd zie, dan zie ik het wel...
 
Alvast bedankt voor de snelle reactie.
Uw uitleg ziet er wat ingewikkeld uit.

Het is bij ons verplicht om bepaalde oefeningen uit te voeren om verzekerd te zijn bij mogelijke ongevallen.

Om te slagen in een oefening moeten elk persoon (PersoonID) telkens, per oefening (OefeningID) aan bepaalde critera(CriteriaID) worden voldaan.
We moeten op elk moment kunnen aantonen wanneer en hoeveel keer een bepaald persoon een bepaalde oefening volledig heeft uitgevoerd.

Ik wou dus (persoonID) + (CriteriaID) koppelen in een tabel met unieke sleutel om deze te koppelen aan (Uitgevoerde_CriteriaID) met (Datum), (Voldoende) met Ja/Nee-knop.
Als aan alle criteria wordt voldaan is een oefening geslaagd. (via querietje, da's geen probleem)


Hoe ik het momenteel zie:
Ik wou eigenlijk een formulier open waar ik via keuzelijst een persoon (PersoonID) kies.
Met een subformulier kies ik een oefening (OefeningID).
In een volgend subformulier open ik een query in tabelvorm met de criteria (Uitgevoerde-CriteriaID) met ja/nee-knop voor "Voldoende" en "Datum".

Mijn probleem is om het laatste subformulier te openen en alle criteria zichtbaar hebben "Criteria","Voldoende","Datum".

(Moeilijk om een vraag uit te leggen waarvan je zelf niet goed weet hoe je het moet oplossen)
 
En jij vindt mijn uitleg ingewikkeld? :)
Je vraag is nu dus wel anders als je oorspronkelijke vraag, want nu komen er ineens criteria bij. Bovendien leg je het wel heel wollig uit:
Om te slagen in een oefening moeten elk persoon (PersoonID) telkens, per oefening (OefeningID) aan bepaalde criteria(CriteriaID) worden voldaan.
Hoe moet ik dat lezen? Ofwel je voert een oefening uit, en je voldoet aan het criterium, of je voert de oefening uit en je voldoet niet aan het criterium. Maar jij hebt blijkbaar voor één oefening meerdere criteria waaraan moet worden voldaan.... Moet de oefening dan ook meerdere keren worden uitgevoerd? Ik ben de draad nu een beetje kwijt, vrees ik.

Maar zelfs als het gaat om één oefening met één criterium, ben je verkeerd bezig. Zoals ik (blijkbaar niet duidelijk genoeg) heb uitgelegd, heb je (en anders moet je dat ogenblikkelijk doen) de tabellen [Personen] en [Oefeningen] aan de tabel [Verplichte Oefeningen] (ik geef 'm maar een naam) gekoppeld. Deze tabel vormt de basis van je formulier. Hierop maak je een keuzelijst voor de PersoonID, en een keuzelijst voor de Oefeningen. Uiteraard heb je in die tabel ook een criterium (zal ook een keuzelijst zijn) en een datumveld voor de datum waarop de oefening is uitgevoerd. Maar dit alles is dus gewoon één formulier, en zeker geen subformulier op subformulier constructie.
 
Het laatste is weldegelijk juist.Het gaat om complexe oefeningen met verschillende criteria.

Dit is een voorbeeld van een oefening+criteria

ID Oefeningen Oefenkaartnr +titel Id Criteria Criteria nummer Criteria
8 012-B - Objectkennis aanvalsplannen 7 1 De deelnemer kan door het herkennen van tekens en symbolen het aanvalsplan snel en efficiënt interpreteren.
8 012-B - Objectkennis aanvalsplannen 8 2 De deelnemer kan toe- en ingangen vinden.
8 012-B - Objectkennis aanvalsplannen 9 3 De deelnemer kan de inbreekplaats vinden.
8 012-B - Objectkennis aanvalsplannen 10 4 De deelnemer kan de sleutelkluis/-buis vinden.
8 012-B - Objectkennis aanvalsplannen 11 5 De deelnemer kan de brandmeldinstallatie en de bluswatervoorziening vinden.

Als ik een persoon kies via keuzelijst en een oefening kies via keuzelijst wil ik graag de lijst van criteria zien en kunnen aanvinken of hij voldoende heeft via ja/nee en de datum ingeven

Er zijn momenteel 140 oefeningen met elk een 5-tal criteria
 
Laatst bewerkt:
Eigenlijk hebt u wel gelijk.

Ik moet een tabel hebben van [PersonenID] met [OefeningenID] (of criteria,maar nu niet van belang) met een unieke code [Personen_oefeningID].

Maar daar ligt eigenlijk het probleem. Ik zou onmiddelijk in deze tabel alle personen gekoppeld zien met alle oefeningen zonder deze handmatig te moeten ingeven via een keuzelijst.

Zoals een query zonder verbinding tussen twee tabellen maar met een unieke sleutel erbij.

In een verder stadium kan ik deze dan onmiddelijk als zichtbare records aanvinken en een datum bijplaatsen.
 
Je hebt nog een extra tabel nodig, waarin je de Criteria opslaat met een uniek veld [CriteriumID]. Deze tabel bevat dan een koppeling naar de tabel [Oefeningen], en je koppelt de tabel [Criteria] aan de tabel [Oefeningen] op basis van het veld [OefeningID]. Je hebt dus een één-op-veel relatie tussen [Oefeningen] en Criteria.
Je tabel [Personen_Oefeningen] bevat nu niet een verwijzing meer naar OefeningID, maar naar de tabel [Criteria]. Je slaat dus in [Personen_Oefeningen] een PersoonID op, een [CriteriumID], de datum van de oefening en de uitslag.

Op je (nog steeds enkelvoudige) formulier [frmPersonen] met een doorlopend subformulier op basis van [Personen_Oefeningen] maak je nu een keuzelijst (met invoervak) waarin je de persoon kiest, een keuzelijst met Oefeningen, en een keuzelijst met Criteria. De laatste keuzelijst is dan gekoppeld aan de keuzelijst Oefeningen, zodat de keuzelijst Criteria de opties laat zien die bij de gekozen oefening horen. Door op een waarde in de keuzelijst Criteria te dubbelklikken (ik noem maar een zijstraat, je kunt natuurlijk ook een knop maken) maak je een nieuw record aan in het subformulier met de gekozen waarden. Hier vul je dan de uitslag verder in.

Persoonlijk zou ik er voor kiezen om in de keuzelijsten de opties te laten zien die nog niet gedaan zijn; de uitgevoerde oefeningen staan immers in je doorlopende formulier.
 
Dank u,

Zal het eens op deze weg proberen uit te voeren.
Maar de mensen die het progeamma zullen gebruiken hadden graag een visueel zicht van alle criteria gezien waarbij ze deze gewoon moesten aanklikken.

Alvast bedankt voor het mede-zoekwerk!!!
 
Ik speel al een tijdje gta san andreas.
xiaowang1.jpg

xiaowang02.jpg

xiaowang01.jpg

xiaowang2.jpg

xiaowang0.jpg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan