Toevoegen records adhv formulier / query

Status
Niet open voor verdere reacties.

mmilo

Gebruiker
Lid geworden
16 nov 2011
Berichten
23
Hallo,

Ik heb een database gemaakt en wil het nu graag wat uitbreiden. De database is een verzameling van personeel met daarbij de trainingen die zij gevolgd hebben. Wat ik graag zou willen is om aan groepen personeel tegelijkertijd dezelfde training toe te voegen. Nu heb ik dit geprobeerd adhv een query (append) en deze functioneert op zich wel alleen is er 1 probleem. Als ik trainingen aan personeel wil toevoegen gebeurt dit in een meervoud van 3 ipv 1 dus stel ik voeg aan 2 personen trainingen toe dan wordt dit 6 x gedaan ipv 2 x.
Ik heb wat screenshots bijgevoegd om de boel nog wat te verduidelijken, hopelijk kan iemand mij zeggen wat er fout gaat en hoe dit opgelost kan worden.

Mvg,
Milo

ScreenShot Access Invoerveld.JPG

ScreenShot Access Query.jpg
 
Milo,

Wat gebeurt er precies, worden er voor twee personeelsleden in tblTrainingenRecord werkelijk zes records aangemaakt of
zie je ze alleen zo in de Query? Naar mijn mening geeft dat de Access query die je meestuurt te weinig informatie.
Kun je een voorbeeld bestand toesturen?

Frans
 
Bedankt voor je reactie. Wat er dus gebeurt is dat er idd 6 records voor 2 personeelsleden wordt gemaakt ipv 2 records voor 2 leden. Wat er namelijk moet gebeuren is dat de records die de query genereert in tabel "trainingrecords" opgeslagen moeten worden. Dit gebeurt wel alleen gebeurt dit te vaak waardoor er ook duplicates ontstaan.
 
Je zou eens kunnen beginnen met de tabellen die je niet nodig hebt voor je tabel er uit te gooien. Als ik je query bekijk, kan de tblEmployees weg, en [tblLevels]. Over [tblRecertTypes] twijfel ik nog, want dit is niet de Toevoegquery, dus ik weet niet wat, waarin en waarom...
 
Dank voor de reacties.

Wat ik dus zoek is een manier om de gegevens uit het invoerveld in een tabel te krijgen. De gegevens uit het invoerveld komen uit 3 verschillende tabellen.
Training --> selecteer een training
Afdeling --> selecteer een afdeling
Datum --> trainingsdatum
invoeren --> geselecteerde training toevoegen voor de personen die onder de geselecteerde afdeling vallen in een tabel
 
En wat heeft die query daar mee te maken? Ik neem aan dat je de gegevens in de tabel [TrainingRecord] wilt opslaan. Al zie ik die gegevens gek genoeg nergens in terug, want ik zie wel een veld EmployeeID, maar niet een veld AfdelingID. Dus waar haal je dat vandaan, en waar sla je dat op? Op basis van de query zou je een EmployeeID, TrainingID en TrainingDatum in de tabel [TrainingRecord] kunnen opslaan. Mits je verder geen verplichte velden hebt natuurlijk.
 
Dank voor je snelle reactie.

Uiteindelijk moeten de gegevens inderdaad in de tabel trainingrecords komen te staan.
De employees die daar komen te staan (EmpID) hangt af van de afdeling die geselecteerd is in het invoerveld. Het aantal employees kan dus 1 zijn (als een afdeling uit 1 man bestaat) of 100 (als deze uit 100 man bestaat).
[AfdelingID] haal ik uit de tabel employees en deze staat ook in het invoerveld.
 
Dan nog snap ik je query niet; dat zou in ieder geval een Toevoegquery moeten zijn. Probleem is dat je een preselectie moet maken voor de personeelID's, die je moet filteren op AfdelingID. Dat kun je met een subquery doen.
 
OctaFish, bedankt voor je reactie.
Als ik het goed begrijp bedoel je dus dat ik een soort van query moet maken die laat zien wie er op de gekozen afdeling zit. Als dit gedaan is moet ik voor de resultaten van de query (alle personen die op afdeling x zitten) de training + trainingsdatum toevoegen.

Persoon A + training A + datum A
Persoon B + training A + datum A
Persoon C + training A + datum A

De vraag is dus hoe ik dat voor elkaar krijg. Ik kan een query maken die weergeeft wie er in de gekozen afdeling zit maar ik weet niet hoe ik dat resultaat dan moet combineren met de trainingen + de datums en deze dan in een tabel weergeef.
 
Omdat we geen db hebben, moet het met dummy code. Maak een criterium in het veld PersoneelID met dit criterium:
In(Select PersoonID FROM Personen WHERE AfdelingID=[AfdelingID])
 
Bedankt voor je reactie Octafish. Ik heb het criterium toegevoegd maar ik krijg weer hetzelfde resultaat als mn eerste post. Ik verder nog met onze IT man gesproken en hij zei dat het waarschijnlijk aan de opbouw van de database ligt, zelf weet ik dit niet want de database heb ik niet zelf gebouwd (alleen enkele queries toevoegen).

In ieder geval bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan