Verdeelsleutel

Status
Niet open voor verdere reacties.

ran

Gebruiker
Lid geworden
22 dec 2006
Berichten
58
In de database staan een aantal activiteiten waarbij de ingevoerde uren voor 1/3 moeten worden toegeschreven aan 3 verschillende afdelingen. Een aantal activiteiten moet alleen aan een activiteit worden toegevoegd. Hoe pak ik dit aan?
 
Je geeft wel wat weinig informatie; gebruik je bijvoorbeeld een tijdsregistratie om de tijden in te vullen/berekenen? En hoe maak je onderscheid tussen activiteiten die moeten worden opgesplitst, en welke niet? De handeling zelf is relatief eenvoudig: met een bijwerkquery vul je bij de uren voor de afdelingen het [aantal uren]/3 bij, of de hele waarde.
 
De werknemers moeten de tijden zelf invullen in een formulier. Waar ik een beetje tegen aan hik is hoe ik aangeef dat een activiteit verdeeld wordt over meerdere afdelingsposten. Er zijn drie afdelingen met elk 6 posten, die voor elke afdeling hetzelfde zijn.
 
Maar hoe en wanneer wil je dan de verdeelsleutel toepassen? Zodra iemand een record invult? Zonder een (extra) tabel met daarin de sleutelverdeling kom je denk ik niet zo ver; je zult ergens moeten kunnen uitlezen welke activiteit op welke afdeling moet worden geboekt voor wel percentage. Die tabel gebruik je dan in je bijwerkquery.
 
Ik heb een voorbeeldje gemaakt. Mijn fout zit in de relaties.
De informatie in de tabel moet zo blijven, maar in een query moet de sleutel worden toegepast en de berekening worden gemaakt. Alvast bedankt!
 

Bijlagen

  • oefen.zip
    71,9 KB · Weergaven: 27
Welke fout zit er volgens jou in de relaties? En hoe moet ik de tabellen zien? Want waar wil je de activiteitenuren op slaan?
 
De activiteit voetbal is variabel en moet onder 3 afdelingen(Vrije tijd, toekomst en tijdverspilling) worden onderverdeeld. School valt alleen onder toekomst.
Ik weet net waar ik “afdelingen” onder moet brengen, ik denk dat de relatie “activiteiten”-“status” wel goed is gelegd.

Je zou in tabel 2 uren moeten kunnen toeschrijven aan een activiteit: bv voetbal.
Automatisch zou dit moeten worden gekoppeld aan de afdelin en status.
.
Als er 6 uur aan voetbal wordt besteed, moet daarvan 2 uur naar alledrie de afdelingen gaan. De query zou dit moeten kunnen laten zien.

Ik zie dat ik een fout heb gemaakt bij de tabel afdelingen. ID 3 en 4 moeten “toekomst” en “tijdverspilling” zijn. Dus in tabel afdelingen bestaat uit: Vrije tijd, tijdverspilling en toekomst.

Straks maak ik een formulier voor het boeken van de uren, deze uren komen dan in tabel2.
Nu kun je in tabel2 kiezen uit 4 afdelingen( 2 keer toekomst) dit moeten er drie zijn omdat toekomst 2 keer voorkomt.
 
Kun je eerst een voorbeeldje maken waar we wat mee kunnen? Ik mis nog steeds wat gegevens.... Zo heb je het over drie afdelingen (Vrije tijd, toekomst en tijdverspilling) die 1/3 van de uren moeten krijgen. In je tabel Afdelingen zie ik geen record voor Tijdverspilling, wel 3 records voor vrije tijd.... Ook mis ik in die tabel de verdeelsleutel. Ik denk ook niet dat je de tabel Afdelingen nu als brontabel gebruikt voor je afdelingen. En dat zou wel moeten. Want je moet ergens vastleggen wat per afdeling de verdeelsleutel is. Ook snap ik de functie van tabel2 niet...
 
Laatst bewerkt:
Ik zie dat ik een fout heb gemaakt bij de tabel afdelingen. ID 3 en 4 moeten “toekomst” en “tijdverspilling” zijn. Dus in tabel afdelingen bestaat uit: Vrije tijd, tijdverspilling en toekomst.

In tabel 2 moeten de uren worden ingevoerd. Is dit te omslachtig? Ik weer echt niet hoe ik de relaties moet leggen heb alles al geprobeerd..

Het grote probleem is dus een veld toekennen aan meerdere verlden. In Access 2007 is daar een functie voor. In 2003 helaas niet..
 
Een veld toekennen aan meerdere velden moet je absoluut niet willen; bij Microsof gaan ze af en toe volledig door het lint als ze weer een nieuwe 'optie' mogen verzinnen. Wil gelukkig niet zeggen dat je die ook moet gaan gebruiken.... We zijn een database aan het maken, geen poppenkast! Kortom het uitgangspunt moet zijn: één veld bevat één gegeven! Wil je meer ongein functies, dan raad ik je overigens 2010 aan ;) Ik zal je voorbeeldje aanpassen/aanvullen. Het moet op zich wel te doen zijn namelijk. Alleen: je moet wel aangeven hoe je de verdeling wilt maken. Dus daar mis ik nog een tabel voor.
 
Oke bedankt:D

De activiteit "voetbal" valt onder de afdelingen:
1/3 *tijdverspilling, 1/3* toekomst, 1/3* vrije tijd(bv 6 uur -->2,2,2).

De activiteit "school" valt alleen onder toekomst(6 uur).

Als ik in een query "toekomst" opvraag wil ik graag dat de uren voor toekomst worden opgeteld, in dit voorbeeld:

8 uur toekomst
2 uur tijdverspilling
2 uur vrije tijd

De status moet denk ik worden toegekend aan de activiteit. Een afdeling kan namelijk meerdere activiteiten omvatten die de waarde 1(vast) of 1/3(variabel) kan hebben.
 
Maar zijn er ook activiteiten die onder andere afdelingen vallen? Oftwel: valt elke activiteit die 100% telt onder toekomst?
 
Nee een activiteit kan ook 100% onder tijdverspilling of vrije tijd vallen
 
Laatst bewerkt:
Kijk, en dat moet je dus nog ergens in een tabel vastleggen; zonder deze informatie kun je nooit onderscheid maken wanneer je wel en wanneer niet een deling moet maken.
 
Dat kan ik beter aan jou vragen; ik heb nog steeds geen verdeelsleutel gezien... Je moet dus een tabel maken waarin je vastlegt welke activiteiten belast worden op welke afdelingen. Op basis daarvan kan je een toevoegquery maken.
 
Hoop dat dit voldoende is.
 

Bijlagen

  • oefen.zip
    64,7 KB · Weergaven: 25
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan