Access standaard database maken

Status
Niet open voor verdere reacties.

Cyfael

Nieuwe gebruiker
Lid geworden
21 mrt 2018
Berichten
2
Schermopname (2).png


Hallo,
Ik moet de bovenstaande opdracht maken, maar heb geen idee wat ik moet doen. Ik heb al een aantal databases gemaakt, maar geen ervan werkten fatsoenlijk.
Als iemand mij zou kunnen helpen, of de database voor mij zou kunnen maken dan zou ik dat erg op prijs stellen.

Alvast bedankt,
 
Ik moet de bovenstaande opdracht maken, ... of de database voor mij zou kunnen maken
Laten we één ding voorop stellen: jij moet de opdracht maken, niet wij. Dus ik ga hem zeker niet voor jou maken. Daarbij riekt dit naar een schoolopdracht, en daar mogen wij in beginsel (zie de huisreglementen) niet actief aan meehlepen, omdat het immers jouw opdracht is. Maar je mag wel gerichte vragen stellen die je in de juiste richting zetten, daar krijg je uiteraard wel hulp mee. De opdracht is niet zo heel moeilijk, als ik hem doorlees. Elke deelopdracht is duidelijk genoeg. Maar deze opmerking:
Ik heb al een aantal databases gemaakt, maar geen ervan werkten fatsoenlijk.
noopt niet tot veel vertrouwen; ik vermoed dat je basiskennis van databases niet heel groot is. Ik zou wel eens zo'n door jou gemaakte database willen zien om een idee te krijgen van wat je nu wel of niet kan; op basis daarvan kunnen we ook wat beter meedenken. Maar begin, als je aan deze opdracht begint, in ieder geval met nadenken over de verschillende tabellen die je nodig hebt. Daarbij is één ding belangrijk: maak tabellen waarin je gegevens zet die bij elkaar horen. Ik kom nog wel eens tabellen tegen waarin (om bij jouw opdracht te blijven) bestellingen worden opgeslagen waarin dan zowel de artikelgegevens, de klantgegevens en de leveranciergegevens worden opgeslagen. En dat hoort niet, want klantgegevens hebben niets te maken met artikelgegevens.

Je moet dus leren denken in objecten die bepaalde eigenschappen hebben. Een klant heeft als eigenschap een adres en een naam. Elke klant heeft in beginsel één adres en één naam. Idem voor leveranciers. Een artikel heeft bepaalde eigenschappen, zoals een naam, een verkoopprijs en een Artikelnummer. Elk artikel in jouw systeem kan bij meerdere leveranciers vandaan komen. Dat betekent dat je in de tabel [Artikelen] geen leverancier kan opnemen, omdat je meerdere leveranciers moet kunnen invoeren. Daarom wordt er een koppeltabel gemaakt waarin je voor elke combinatie van artikel en leverancier een record maakt. Omdat elke leverancier een eigen code heeft (die je nodig hebt bij het bestellen bij die leverancier) neem je in die tabel dus de velden ArtkelID (jouw nummer), LeverancierID, Code en Inkoopprijs op. Ik zou daar zelf nog een veld [Actief] bijzetten waarin je kunt aangeven of een artikel nog in het assortiment zit of niet.

Laatste voorbeeld: een bestelling heeft als eigenschappen o.a.: een besteldatum, een Klant(ID) en een Leverancier(ID). Geen artikelID's? Nee, geen artikelID's. Waarom niet? Een bestelling kan en zal vaak meerdere artikelen betreffen. Alle artikelen die in één bestelling zitten, hebben hetzelfde Bestelnummer. Elk bestelnummer heeft dus één of meer verschillende artikelnummers. Daarmee kun je stellen dat een Artikelnummer géén eigenschap is van een bestelling. Ook hier zit een koppeltabel tussen, waarin je de artikelgegevens neerzet.
 
En nog 19% BTW laten staan in een opdracht. Dan ben je toch echt lui als docent.

Voor de rest wat Octafish zegt.
 
Laten we één ding voorop stellen: jij moet de opdracht maken, niet wij. Dus ik ga hem zeker niet voor jou maken. Daarbij riekt dit naar een schoolopdracht, en daar mogen wij in beginsel (zie de huisreglementen) niet actief aan meehlepen, omdat het immers jouw opdracht is. Maar je mag wel gerichte vragen stellen die je in de juiste richting zetten, daar krijg je uiteraard wel hulp mee. De opdracht is niet zo heel moeilijk, als ik hem doorlees. Elke deelopdracht is duidelijk genoeg. Maar deze opmerking:

noopt niet tot veel vertrouwen; ik vermoed dat je basiskennis van databases niet heel groot is. Ik zou wel eens zo'n door jou gemaakte database willen zien om een idee te krijgen van wat je nu wel of niet kan; op basis daarvan kunnen we ook wat beter meedenken. Maar begin, als je aan deze opdracht begint, in ieder geval met nadenken over de verschillende tabellen die je nodig hebt. Daarbij is één ding belangrijk: maak tabellen waarin je gegevens zet die bij elkaar horen. Ik kom nog wel eens tabellen tegen waarin (om bij jouw opdracht te blijven) bestellingen worden opgeslagen waarin dan zowel de artikelgegevens, de klantgegevens en de leveranciergegevens worden opgeslagen. En dat hoort niet, want klantgegevens hebben niets te maken met artikelgegevens.

Je moet dus leren denken in objecten die bepaalde eigenschappen hebben. Een klant heeft als eigenschap een adres en een naam. Elke klant heeft in beginsel één adres en één naam. Idem voor leveranciers. Een artikel heeft bepaalde eigenschappen, zoals een naam, een verkoopprijs en een Artikelnummer. Elk artikel in jouw systeem kan bij meerdere leveranciers vandaan komen. Dat betekent dat je in de tabel [Artikelen] geen leverancier kan opnemen, omdat je meerdere leveranciers moet kunnen invoeren. Daarom wordt er een koppeltabel gemaakt waarin je voor elke combinatie van artikel en leverancier een record maakt. Omdat elke leverancier een eigen code heeft (die je nodig hebt bij het bestellen bij die leverancier) neem je in die tabel dus de velden ArtkelID (jouw nummer), LeverancierID, Code en Inkoopprijs op. Ik zou daar zelf nog een veld [Actief] bijzetten waarin je kunt aangeven of een artikel nog in het assortiment zit of niet.

Laatste voorbeeld: een bestelling heeft als eigenschappen o.a.: een besteldatum, een Klant(ID) en een Leverancier(ID). Geen artikelID's? Nee, geen artikelID's. Waarom niet? Een bestelling kan en zal vaak meerdere artikelen betreffen. Alle artikelen die in één bestelling zitten, hebben hetzelfde Bestelnummer. Elk bestelnummer heeft dus één of meer verschillende artikelnummers. Daarmee kun je stellen dat een Artikelnummer géén eigenschap is van een bestelling. Ook hier zit een koppeltabel tussen, waarin je de artikelgegevens neerzet.

Ik snap wat je bedoelt. Ik snap opzich wel hoe ik met Access moet werken, maar ik vind het vooral moeilijk om te kijken hoe ik moet beginnen en met welke tabellen.
 
Dat is in het begin ook niet makkelijk (overigens heb je een fantastisch groot tekstvak <Snel reageren> waarin je gelijk een antwoord kan typen. Geen enkele noodzaak om de QUOTE knop te beroeren, en al helemaal niet om complete berichten te herhalen. Niet meer doen dus!), maar logisch nadenken helpt je vaak al met het ordenen van de gegevens. Je moet dus bepalen welke gegevens bij elkaar horen en daar tabellen van maken. Vervolgens kijk je welke tabellen met elkaar te maken hebben. Een beetje zoals ik al in mijn antwoord had beschreven. Daarbij zorg je er dus altijd voor dat het sleutelveld uit de ene tabel terugkomt in de andere tabel: de één-op-veel relatie.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan