Beginnen met acces data

beginnerexcel

Gebruiker
Lid geworden
1 nov 2020
Berichten
61
Hoi,

Ben een leek in acces en ben via de handleiding op deze site bezig met een verhuurcentrum te maken.
Ik ben begonnen maar denk dat ik niet goed bezig ben of verder kom.
Bijgevoegd het gemaakt e tot dusver.

Het is de bedoeling dat:
materiaal verhuurd kan worden en retour wordt gebracht (verhuurmateriaal)
Het wordt besteld door een uitvoerder (uitvoerders)
Het wordt opgehaald door een medewerker (uitvoerend personeel)


Vragen:
- Is dit een goede manier om te starten of denken jullie anders?

- Het leggen van relaties t.o.v. de verschillende tabellen, hoe kan dit het beste gedaan worden? een of meerdere

- Kan materiaal_id of Werkgever_id een sleutel worden die ingevuld dient te worden? een van de twee. Het is niet altijd een Werkgever_id


Alvst dank
 
Laatst bewerkt:
Is dit een goede manier om te starten of denken jullie anders?
Op zich is het goed dat je je eerst verdiept in Access voordat je ermee begint.

Het leggen van relaties t.o.v. de verschillende tabellen, hoe kan dit het beste gedaan worden? een of meerdere
Eigenlijk kan je dat maar op één manier (goed) doen. Op basis van de gegevens die je denkt nodig te hebben en de vereiste functionaliteit ontwerp je een model. Daarbij pas je bepaalde regels toe (normalisatieregels). De relaties rollen er dan in feite vanzelf uit.
In jouw situatie bijvoorbeeld:
  • Een stuk materieel wordt één of meer keer verhuurd en een verhuur heeft altijd betrekking op één stuk materieel. Je hebt dan een 1-op-veel relatie tussen "Verhuurmateriaal" en "Bestellingen". Als in één bestelling meer materiaal in een keer besteld kan worden, moet het model anders. Je hebt dus een goede beschrijving van de wensen nodig om goed te kunnen modelleren.
  • Een uitvoerder kan (in de loop der tijd) één of meer bestellingen doen. Een bestelling wordt altijd door één uitvoerder gedaan. Dus een 1-op-veel relatie tussen "Uitvoerder" en "Bestellingen".
Relaties uiten zich door het feit dat je in de tabel aan de "veel-kant" (alleen) het sleutelveld (primary key) van de tabel aan de "één-kant" opneemt (dat is dan de zogenaamde foreign key). Voor de relatie "Verhuurmateriaal - Bestellingen" betekent dat het volgende.
Om de beginnen moet de sleutel (primary key) van "Verhuurmateriaal" het veld "Materiaal_Id" zijn. "Verhuur_id" (wat dat ook moge zijn) hoort daar niet thuis.
In "Bestellingen" neem je "Materiaal_ID" op als foreign key. Je kan zo aan een bestelling zien op welk materiaal die betrekking heeft en van materiaal kan je nagaan hoe vaak en aan wie het verhuurd is.
"Omschrijving materiaal" hoort niet thuis in "Bestellingen" maar alleen in "Verhuurmateriaal". Het is een kenmerk van materiaal en sla je dus alleen daar op. Locatie weet ik niet helemaal zeker wat je daar mee moet.
Als de locatie is waar het materiaal staat als het niet verhuurd is, dan hoort ook dat alleen in de materiaaltabel thuis. Ik zou sowieso een tabel met locaties toevoegen om te zorgen dat iedereen dezelfde namen gebruikt.
Wat "Werkgever_Id" in de beide tabellen doet weet ik niet. In je uitleg van de bedoeling ben ik het niet tegengekomen.

Over de tabellen "Uitvoerders" en "Uitvoerend personeel" valt ook nog wel wat te zeggen. Een basisregel bij databaseontwerp is dat je gegevens vastlegt in velden van tabellen. Dat klinkt als een open deur, maar hier wringt er iets. Je ziet twee tabellen met vrijwel dezelfde velden; dat is "verdacht". In feite heb je hier gegevens (de rol van een persoon) verstopt in een tabelnaam en dat hoort niet. Als een persoon een andere functie krijgt zou je hem opnieuw moeten toevoegen en dat is niet logisch. Ik zou dus één tabel (werknemer) maken met daarin een veld "rol" (en een tabel met mogelijke rollen). Bij het vastleggen van de besteller en afhaler kan je afdwingen dat de betrokken medewerker een bepaalde rol heeft.
Waarom je bij uitvoerders de functie (uitvoerder?) vastlegt en bij uitvoerend personeel het personeelsnummer weet ik niet.

Al met al kom ik met wat ik nu weet (en dat is vast niet alles) tot dit model:
Verhuur.jpg

Opmerkingen:
  • Er lopen twee relaties tussen "Medewerker" en "Vehuur". Access laat dat zien door een kopie van de tabel "Medewerker" te tonen in het relatieschema: "Medewerker_1" is gewoon de tabel "Medewerker".
  • Ik gebruik altijd enkelvoudige zelfstandige naamwoorden als tabelnaam.
  • Probeer consistent te zijn in benamingen (geen bestelling en verhuur door elkaar).
  • Gebruik geen spaties in tabel- en veldnamen.
P.S.
De namen in de tabellen zien er wel verdacht echt uit. Vanuit privacyoverwegingen is het onwenselijk die hier op het net te gooien.
 
Laatst bewerkt:
Het theoretische deel van het verhaal van Peter klopt wel, maar de relaties? Ik heb daar zo mijn twijfels over. Om te beginnen: je vertelt niet of de personen die huren intern of extern zijn. Bij verhuur denk ik toch al gauw aan een verdienmodel, waarmee je dus inkomsten genereert. Hierbij is de uitvoerder dan de klant die huurt, en de medewerker die de spullen ophaalt werkzaam bij de klant, en niet bij de verhuurder. Iets dat mij een logische constructie lijkt.
Machines en ander materiaal verhuren aan eigen personeel? Klinkt als een ingewikkelde opzet waarbij je in essentie het vestzak-broekzak protocol gebruikt, waarbij de ene afdeling materiaal 'huurt' van de andere afdeling, waarbij iedereen dus in dienst is van dezelfde werknemer. Maar waarbij er dus geen geld wordt verdiend. In dat geval kun je toch beter van een leensysteem spreken....

Maar goed, als iedereen bij dezelfde werkgever werkt, is het invoeren van de persoonsgegevens wat makkelijker, omdat je immers alle gegevens al hebt. (Mits je daar toegang tot hebt natuurlijk.) Of je de gegevens van de ophaler moet vastleggen? Lijkt mij een overdreven handeling als het om collega's gaat. Maar ik zou zeker geen aparte relatie leggen op het veld [Uitgeleend_Aan]; op een formulier gebruik je immers een keuzelijst met invoervak dat is gefilterd op de personen met de juiste rol. Je wéét dus al dat de personen gerelateerd zijn aan het bedrijf.

Gaat het om externe klanten, dan heb je op zijn minst een klantentabel nodig, waarin je dan een KlantID maakt dat je gebruikt in de verhuurtabel. Op basis van die klantentabel kun je dan allerlei vaste klantgegevens vastleggen, die je dan bij de facturering weer kan gebruiken. Afhankelijk van de sector waarvoor je werkt (veiligheid), kun je dan nog een aparte tabel gebruiken voor de werknemers die bij jou de spullen mogen ophalen, zodat je de 'ophaler' kan identificeren en toegang verlenen. Daarbij is het handig om te weten of je die persoon al van te voren weet en invoert, of dat je een registratie maakt van de persoon die langskomt. Ook hier geldt: wat schrijven de beveiligingsregels voor.

Kortom: voordat ik verder nog wat kan zeggen, is het belangrijk om te weten wat precies de procedures zijn voor de verhuur.
 
Hoi

Alles wordt intern verhuurt, uitgeleend als het zo genoemd kan worden.
Alle medewerkers en uitvoerders zijn interne collega's.
De uitvoerder besteld a.d.h.v. een intern bestelformulier de materialen bij het magazijn.
De magazijnmeester noteerd nu alles op een a4tje wat is verhuurt / uitgeleend en wie het meeneemt en houdt dit bij in een klapper
De medewerker wordt genoteerd om een verantwoordelijke te hebben als er missings zijn in het retour geleverde materiaal. De medewerker werkt immers op die dag(en) met het materiaal.

Nadat de werkzaamheden gereed zijn komen de materialen retour, worden schoongemaakt gecontroleerd c.q. hersteld en gaan daarna weer op stock, locatie en staan gereed voor de volgende opdracht.

Er vindt nog geen doorberekening plaats van €€€€

Hierbij zou het access data kunnen dienen als systeem dat een formulier maakt / print wat is uitgeleend / verhuurt op dag x aan collega y.
Bij retour dient uitgeleende / verhuurde materieel naar boven te komen in systeem en waarbij aangegeven kan worden of alles retour is en in goede staat.

Het zou ook kunnen dienen als voorraad systeem om te kijken of bepaald materiaal / machine is uitgeleend / in voorraad is / of is geblokkeerd wegens onderhoud.

stap 1
Uitvoerder vraagt intern materiaal aan.
Datum gewenst.....
Datum retour........
Naam opdrachtgever.......
Materiaal z
Materiaal x
Materiaal zz

Stap 2
Magazijnmeester bekijkt aanvraag
Zet materiaal gereed.
Noteerd nu alles op A4 wat gereed staat
Noteerd de naam medewerker wie het materiaal meeneemt

Stap 3
Materiaal komt na gebruik retour en wordt gecontroleerd adhv notie blaadje A4
Controleerd materiaal en hersteld deze indien nodig.
Materiaal retour in stock.

Stap 4
Materialen worden afgemeld als uit huur / retour bruikleen.

Vervolgens wachten op stap 1 voor andere inzet.
 
Laatst bewerkt:
Zoals @xps351 en @OctaFish al aangaven, is een goede basis (plan) erg belangrijk. Als die niet klopt, blijf je eigenlijk doorgaan op iets wat je nooit voor ogen had. Met andere woorden: rommel erin betekent nog meer rommel eruit.
Hier is een filmpje over het maken van relaties.
Om deze inhoud te bekijken, hebben we jouw toestemming nodig om cookies van derden te gebruiken.
Voor meer gedetailleerde informatie, zie onze cookiespagina.

Misschien kan het bestandje als basis gebruikt worden.
 

Bijlagen

Laatst bewerkt:
Terug
Bovenaan Onderaan