Opgelost Access starter: database setup en forms hulp nodig

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

dude1986

Gebruiker
Lid geworden
12 apr 2013
Berichten
14
Besturingssysteem
Windows 11
Office versie
Microsoft 365 subscription
Hoi allemaal,

Om dit alvast meteen kenbaar te maken: Ik ben absoluut (nog) geen held met Access maar wil graag leren en vandaar dit projectje.

Het gaat om het volgende:

Ik ben sind een jaartje of anderhalf een fanatiek pretpark bezoeker (vooral Efteling op het moment) en houd inmiddels al een tijdje mijn bezoeken bij in een Excel lijst (Zie bijlage Excel Template V3)
Ik merk echter dat mijn rapportage wat lastig loopt mede door de inrichting van de lijst zoals die nu is. Maar tevens zou ik dit graag wat overzichtelijker in een database gaan bijhouden in plaats van in Excel.

Nu ben ik al een tijdje aan het spelen met Access met behulp van andere (Engelstalige) fora en een enkele collega van werk maar ik merk dat ik er toch wat lastiger uitkom om een fatsoenlijke database en de daarbij bijbehorende formulieren te bouwen.

Ik heb inmiddels een basis setup gebouwd op advies van anderen en met relationships erin.
Echter voelt dit inmiddels als abracadabra omdat ik nog niet alles snap van hoe databases nu werken(hoorde woorden als data normalisatie en dergelijke vallen??)

Is er iemand die mij wellicht op weg kan helpen? Zie bijgevoegde foto van de huidige tables/relaties en een word document met daarin even kort de wensen die ik heb voor wat betreft het bijhouden. Kan zijn dat ik mogelijk hierin wat mis, is soms best lastig alles goed omschrijven in de vorm van requirements.

Ik hoop oprecht dat iemand me kan helpen en me ook een beetje kan sturen/leren/uitleggen om Access te gaan snappen. Voorkauwen mag altijd natuurlijk maar uiteindelijk zou ik zelf er natuurlijk graag iets van leren ook voor de toekomst of mogelijke uitbreidingen hierin.
 

Bijlagen

Laatst bewerkt:
Handig dat we nu in het Nederlands verder kunnen 😂

Het opzetten en "lezen" van gegevensmodellen is inderdaad een kunst op zich. Het is een kwestie van leren en oefenen. Denk bij een relatie altijd iets "bij een park horen één of meer attracties". En andersom: een attractie hoort maar bij één park. Tussen park en attractie bestaat immers een één-op-veel relatie.
Een relatie is in het relatieschema zichtbaar als een lijntje. Feitelijk maak je hem door in de tabel aan de "veel-kant" het sleutelveld van de de tabel aan de "één-kant" op te nemen. Dat veld noemen we de foreign key.

Pikant in dat opzicht is het volgende. Bij het form visits heb je over het bezochte park of parken. Dat betekent dat je per bezoek meerdere parken vast zou moeten kunnen leggen. Je model kan dat niet aan. Er is een één-op-veel relatie tussen park en bezoek. Je kunt een park meerdere keren bezoeken, maar een bezoek heeft betrekking op één park. Als je echt bij een bezoek meerdere parken aandoet, moet je dat dus anders modelleren.

Nog even uit de oude doos.
We hadden het over de relatie attractie - bezoek-attractie. Ik denk nu dat die wel nodig is. Bij een bezoek aan een attractie zonder opties vul je de attractie in. Bij een bezoek aan een attractie met vul je de optie in (de attractie weet je dan via de optie). Met validaties op het formulier zorg je dat er geen fouten gemaakt worden.

Je rapportages lijken met niet zo moeilijk. Verdiep je in query's en dan met name in het groeperen.
Bedenk wel even wat je met favo bedoelt. De attractie die je vaakst bezocht of die je het leukst vond?
 
Hey,

Leuk inderdaad je hier weer te zien. Is inderdaad wat makkelijker in het Nederlands dat zeker.
Nogmaals dank voor je eerdere input heb ik zeker wat aan gehad. Maar door het Engels en de reacties soms had ik het daar wel een beetje gehad.

Voor wat betreft de bezoeken de kans dat ik meerdere parken op een dag ga doen is vrij klein. Neem aan dat ik dan in mijn huidige model ook gewoon voor dat andere park een 2e ParkVisit aan kan maken? Lijkt me prima. Heel zwart wit moet je dan reizen tussen de parken dus is het al een 2e visit zeg maar.

Hoe bedoel je met validaties? Wat moet ik dan doen om dit goed te regelen?

Ja qua qeuries zal ik daar wellicht wel uitkomen, dat is iets wat nog wel enigzins is blijven hangen hoop ik in ieder geval vanuit de HBO ICT.
Gaat me vooral denk ik, om een makkelijke interface te maken voor de formulieren en hoe dit het beste in te richten. Ik heb in een test bestand al gespeeld met een soort formulieren setup.

Denk dat de database zelf nu aardig ingesteld staat? En indien zo gaat het nu vooral nog om de formulieren bouwen.

- Homepage
Navigatie scherm naar onderstaande formulieren

- Base data form:
Dit formulier zou dan subforms bevatten van alle basis data tabellen.
Vraag me alleen of hoe ik voor sommige velden die linked zijn aan een andere tabel in plaats van een ID dropdown de bijbehorende naam kan krijgen.
voorbeeld subformAttraction:
Velden zichtbaar:
- Attraction name
- Dropdown met Park_Name ipv Park_ID
- Dropdown met Attraction_Type ipv Attraction_Type_ID

De koppelingen moeten dan natuurlijk wel gewoon zoals in de tabel staan behouden blijven.

- Visit form
Main form is Visit_Park
SubForm Visit_Attraction
denk ik dan? Hoe dit het beste in te richten zodat ik 1 keer de datum van het bezoek invul en meteen voor die dag alle attractions die ik heb gedaan?

- Report form
Knoppen die Query forms openen?
Hoe maak ik bijvoorbeeld een veld op dat formulier dat gebruikt kan worden in een query?
 
Neem aan dat ik dan in mijn huidige model ook gewoon voor dat andere park een 2e ParkVisit aan kan maken?
Dat kan uiteraard.

Hoe bedoel je met validaties? Wat moet ik dan doen om dit goed te regelen?
Dat zijn controles. Bijvoorbeeld in de situatie die ik noemde dat of een attractie is ingevuld of een optie. Zoiets moet je dan programmeren in VBA (nog een uitdaging 😆).

Vraag me alleen of hoe ik voor sommige velden die linked zijn aan een andere tabel in plaats van een ID dropdown de bijbehorende naam kan krijgen.
Dat is prima te regelen met een keuzelijst met invoervak. Die kan je zo instellen dat de ID opgeslagen wordt en omschrijving getoond wordt.
Er is een wizard die je kan helpen zoiets te maken. Meer info op https://support.microsoft.com/nl-nl...a9-0439-4885-9099-b9fa83517603#__toc356995225
In sommige gevallen kan je ook een hoofd en een subformulier gebruiken. Bijvoorbeeld om parken en bijbehorende attracties vast te leggen.

De koppelingen moeten dan natuurlijk wel gewoon zoals in de tabel staan behouden blijven
In beide voornoemde gevallen komen de koppeling vanzelf goed.
Met een keuzelijst met invoervak voer je een foreign key in en is de relatie met bovenliggende tabel dus gelegd.
Als je het hoofd- en subformulier juist koppelt, vult Access de foreign key bij de records op het subformulier automatisch in.

Hoe dit het beste in te richten zodat ik 1 keer de datum van het bezoek invul en meteen voor die dag alle attractions die ik heb gedaan?
Op het hoofdformulier vul je de datum in en op het subformulier stuk voor stuk de bezochte attracties. Op het subformulier zet je een keuzelijst met invoervak. Die kan je zodanig instellen dat alleen attracties van het bezochte park getoond worden.

Hoe maak ik bijvoorbeeld een veld op dat formulier dat gebruikt kan worden in een query?
Je kan een niet-afhankelijk veld of -keuzelijst met invoervak op een formulier zetten (dat wil zeggen dat het niet aan een tabel is gekoppeld). De waarde van het veld of de keuzelijst kan je in een query als criterium gebruiken. Zet dan bij het veld waarop je wilt filteren:
Forms!<formuliernaam>.<veldnaam>
 
Super ik ga de komende dagen eens wat proberen. Kijken hoe ver ik kom. Bedankt voor de tips alvast en mocht ik er niet uitkomen weet ik je weer te vinden.
 
Ik hoop oprecht dat iemand me kan helpen en me ook een beetje kan sturen/leren/uitleggen om Access te gaan snappen.
Sowieso altijd handig om je eerst in te lezen in de materie, want het maken van een goede database is geen kattenpis. In tegenstelling tot programma's als Word, moet je echt wel weten wat je aan het doen bent, anders krijg je een puinhoop. Dus kijk eens naar de Cursus Access in de Handleidingen sectie. Is geschreven door een helper die ik zéér waardeer :D.
 
Wat ik nog mis: de database voor zover je die al hebt. Aan Excel bestanden, Word documenten en plaatjes hebben we natuurlijk niets. Tenzij jij wilt dat wij het 'even' voor jou in elkaar gaan zetten :). Op basis van de relaties denk ik: begin eens overnieuw met denken, want ik vind daar weinig bruikbaars in. Ik zou het zo in ieder geval niet opzetten. Maar nogmaals: ik zie liever jouw db erbij.
 
Op zich als je tijd over hebt mag je hem best voor me bouwen hoor, uiteindelijk zou ik ook in dat geval de boel gaan uitpluizen. Maar even alle gekheid op een stokkie, ik wil graag leren van deze usecase. Ik vind dit leuk en uitdagend en zal ook zeker jouw eerder aangegeven starters documentatie gaan doorlezen.

De setup zoals getoont is zoals aangeraden door andere leden van andere fora, andere inzichten en dergelijke zijn natuurlijk altijd welkom.

Zie mijn test database in de bijlage.
 

Bijlagen

Ik zal daar vandaag of morgen zeker naar kijken, en waar nodig wat 'verbeteringen' voorstellen. Sowieso kunnen de relaties dus veel simpeler, als je de normalisatie beginselen volgt.
 
Is dit een dood topic?

Ik heb de vraagsteller meer dan een week geleden een berichtje gestuurd en daar neemt hij niet eens de moeite om erop te antwoorden.

Een beetje spijtig, niet erg motiverend voor de mensen die willen helpen.
 
@xps351: Laten we zeggen: Johan is nog maar net een weekje lid van HelpMij (blijkbaar de eerste actie gelijk een PM sturen; zou ook niet mijn eerste actie zijn geweest ;)). Dus wellicht kunnen we de nieuwe helper niet gelijk met verwijten bestoken.

En @JohanTH: een openbaar forum betekent dat je met zijn allen probeert om een vragensteller te helpen. Persoonlijke mailtjes, zeker als we a) jou niet kennen als helper, b) we dus niet weten dát je een PM hebt gestuurd en c) we dus ook niet weten wat jouw mailtje behelst (aanbod om het voor TS te maken? de ultieme oplossing? we zullen het nooit weten) helpen andere helpers natuurlijk óók niet.
 
@xps351: Laten we zeggen: Johan is nog maar net een weekje lid van HelpMij (blijkbaar de eerste actie gelijk een PM sturen; zou ook niet mijn eerste actie zijn geweest ;)). Dus wellicht kunnen we de nieuwe helper niet gelijk met verwijten bestoken.

En @JohanTH: een openbaar forum betekent dat je met zijn allen probeert om een vragensteller te helpen. Persoonlijke mailtjes, zeker als we a) jou niet kennen als helper, b) we dus niet weten dát je een PM hebt gestuurd en c) we dus ook niet weten wat jouw mailtje behelst (aanbod om het voor TS te maken? de ultieme oplossing? we zullen het nooit weten) helpen andere helpers natuurlijk óók niet.
Als je niet weet WAT ik in mijn persoonlijk berichtje geplaatst heb, is het toch wel ongepast om me daarop af te rekenen.

En nee, je kent me niet, maar daarvoor ben ik niet minder waardevol als al de anderen die we ook niet (persoonlijk) kennen.

En nu we toch met bloempotten aan het gooien zijn. Ik zie hierboven jouw belofte van 6 jan. dat je de volgende dag het probleem van de vraagsteller ZEKER zou bekijken. Tja, loze beloftes zijn al evenveel waard als een nieuw lid die persoonlijke berichten stuurt. Maar is het aan mij om daarover te oordelen?

Nu, ik zal mezelf dan maar welkom heten want een warm onthaal is het hier alvast niet.
 
Dag Johan, hartelijk welkom dus. Iedereen die wil helpen is altijd welkom. Maar misschien is het wel leuk om je even voor te stellen.
 
Is dit een dood topic?

Ik heb de vraagsteller meer dan een week geleden een berichtje gestuurd en daar neemt hij niet eens de moeite om erop te antwoorden.

Een beetje spijtig, niet erg motiverend voor de mensen die willen helpen.
Beste Johan,

Ik heb niet op je mail gereageerd omdat ik met vakantie ben geweest (voordeel van vrijgezel zijn dan kun je na de kerstvakantie drukte gaan ;) ).

Om even terug te komen op je mailtje, welke ik dus door vakantie gisterenavond pas heb kunnen lezen:

Ik waardeer je aanbod, echter zoals in mijn originele vraag aangegeven ik wil graag iets leren van dit verzoek. Juist dan helpt het mij om opmerkingen van meerdere mensen te ontvangen zodat ik ook van meerdere invalshoeken kan leren voor de toekomst. Ik kan dan zelf de beste manier zoeken en mogelijk invalshoeken combineren.
Natuurlijk is het fijn als iemand iets volledig voor je ontwerpt en bouwt. Maar uiteindelijk wil ik zelf dit soort zaken ook kunnen gaan bouwen dat geeft natuurlijk meer voldoening aan het einde en het geeft me weer wat tijdverdrijf en plezier. Persoonlijk zie ik dit topic evenals de verschillende fora die beschikbaar zijn voor access en excel en dergelijke als een soort klaslokaal en alle experts zijn de leraren die mij en anderen met vragen helpen om dingen te gaan snappen en beter te worden. Ik waardeer een ieder zijn input en kennis natuurlijk.

Dus wat ik nu vooral zoek is informatie over hoe iets beter te maken en uitleg over hoe alles werkt, hoe moet ik bepaalde denkwijzes toepassen, waar moet ik op letten enz, enz. Dat het eindproduct zelf dan even op zich laat wachten is prima hoor ik kan voor nu vooruit met mijn Excel sheetje. Zeg maar mensen dij mij door de bouw van dit hobby projectje van me heen begeleiden zeg maar en me bijsturen waar nodig.
 
En nu we toch met bloempotten aan het gooien zijn. Ik zie hierboven jouw belofte van 6 jan. dat je de volgende dag het probleem van de vraagsteller ZEKER zou bekijken. Tja, loze beloftes zijn al evenveel waard als een nieuw lid die persoonlijke berichten stuurt.
Hoe weet jij dat ik niet naar de db heb gekeken? Dat heb ik namelijk wél. Ik heb echter nog een leven náást HelpMij, en ben nog even bezig met bedenken hoe ik TS het beste kan helpen. En dat doe ik, gezien ook de reactie van TS, uiteraard gewoon in het forum :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan