Formulier met subformulier selectieafhankelijk

Status
Niet open voor verdere reacties.

Mathijs88

Nieuwe gebruiker
Lid geworden
30 jul 2020
Berichten
4
Hallo,

Ik heb een vraag over Access. Mijn kennis van Access is heel basis, maar volgens mij moet het kunnen wat ik wil ;) .

Als voorbeeld en vergelijking heb ik in de bijlage een tekening geplaats waarin mijn vraag iets duidelijker wordt.

Ik wil een formulier ontwikkelen waarin een klantenbestand wordt aangemaakt. Dit kan ik bereiken door een tabel te maken en hiervan een formulier te maken. Afhankelijk van de geselecteerde klant wil ik daaronder de producttypen tonen die deze klant levert. Bij het selecteren van het producttype wil ik de verkoopprijzen tonen die in het verleden zijn betaald door klanten.

In mijn voorbeeld heb ik dus leverancier 'Samsung' toegevoegd. In het subformulier eronder staan de types die Samsung heeft geleverd, de S8, S9, S10 en S20. Nu moet het zo zijn dat als de S20 wordt geselecteerd in het onderste formulier alle verkoopprijzen worden getoond aan alle klanten.

Tevens moet er een knop komen om een leverancier toe te voegen, een type toe te voegen en een afnemer toe te voegen. Natuurlijk moet er naast Samsung ook bijvoorbeeld Huawei als leverancier kunnen worden toegevoegd met daaronder de types van Huawei en de prijzen die de klanten daarvoor hebben betaald in het verleden.

Ik denk dat de bijlage wel wat verduidelijkt. Kan iemand mij op weg helpen?

Ik ben zover dat ik een tabel kan maken met leveranciers met alle gewenste records en aan de hand van de tabel kan ik een formulier maken. Dus dan heb ik het leveranciersformulier klaar. Maar de 2 'subformulieren' moeten afhankelijk werken van het leveranciersformulier.

Ik hoor graag als iemand tips heeft.
Mvg
Access.png
 
Ik snap eerlijk gezegd de constructie met subformulieren niet, want dit is perfect te maken met keuzelijsten in één (sub)formulier. De enige reden om een subformulier te gebruiken is om een overzicht te maken van klanten met de te leveren modellen. Daarbij ga je er uiteraard van uit dat één leverancier meerdere modellen levert. Maar dat haal ik allemaal niet uit jouw vraag: die lijkt er eerder op alsof je voor één record uit dat subformulier (model, type en prijs) meerdere subformulieren (en ook tabellen?) wilt gebruiken.
Aan een plaatje hebben we niks, aan een voorbeeld db des te meer :).
 
Ik vermoed dat dit nu net de vraag is: een voorbeeld DB te maken zodat hij een idee heeft hoe dit aan te pakken :). Ik kan dat in de loop van de week wel doen, maar ik vermoed dat Octafish zo een schuif kan opentrekken en zonder veel moeite een voorbeeld aanmaken.
 
Ja inderdaad.. Mijn Access kennis is heel beperkt maar het interesseert me wel. Dus alle ideeën zijn welkom hoe e.e.a. aan te pakken.

Ik heb nu 3 tabellen; leverancier, type en afnemer.
Ik heb nu 3 formulieren; leverancier, type en afnemer.

Maar hoe krijg ik die 3 samenwerkend?

Het moet zo zijn dat als je een leverancier selecteert, de mogelijke typen er onder komen te staan. Als er dan een type wordt geselecteerd moeten de tarieven worden weergegeven in het 'onderste' formulier.

Alle tips zijn welkom, alvast bedankt.
 
Je mist een paar tabellen. In ieder geval deze:

leverancier-Type. In ieder geval de velden:
lev_TypeID (Autonummering zou ik zeggen)
LeverancierID (koppeling met tabel Leveranciers)
TypeID (koppeling met tabel Type)

Je moet dus een tabel maken waarin je alle combinaties vastlegt van leveranciers met types. Daarnaast kan ik me nog een tabel Merken voorstellen, die je koppelt aan Types. En, op basis van je verhaal, zou ik de tabel Afnemer koppelen aan Lev-Type. Dus dat wordt ook een aparte tabel.

Nog een tip: veel beginners denken dat, als ze een formulier hebben, (al dan niet in hun hoofd) dat ze een database kunnen maken. Dat is een principieel foute gedachte: formulieren (en rapporten) komen als laatste aan bod. Eérst zorg je voor de uitgewerkte werkprocessen, die je gaat vertalen naar tabellen. Alsmede gegevens correct kunnen worden opgeslagen, ga je ze vormgeven met formulieren. Nooit andersom. Bepaal dus eerst wat de processen zijn, en ga van daaruit kijken wat je nodig hebt om die in te richten.
 
Ik denk niet dat je een database wil maken, maar een applicatie. De database is slechts een onderdeel van een applicatie en niet het doel. Dus ik zou inderdaad niet beginnen met de tabellen te ontwerpen. Leg eerst de grote lijnen vast. Bijvoorbeeld: in de laatste applicatie die wij maakten was dit:
- de applicatie moet gemakkelijk te gebruiken zijn door alle vrachtwagenchauffeurs dus eenvoudige schermen,
- de applicatie moet op verschillende platformen kunnen draaien: PC, tablet, smartphone dus een web applicatie
- welk type gebruikers ga je hebben (chauffeurs die komen laden, administratie die de bestelbonnen en vrachtbrieven gaat afdrukken, boekhouding die de gegevens gebruikt voor facturatie, ...
-enzovoort

Hieruit hadden we een idee welke software we nodig hadden. In jou geval is dit dus Access.

Als tweede stap ga je dan met de info uit stap één je formulieren ruw uittekenen en de rapporten die je wil afdrukken. Zelf gebruik ik hiervoor Enterprise architect (https://sparxsystems.com/)

Daaruit kan je dan opmaken welke gegevens je wil bijhouden. Niet teveel gegevens verzamelen. Wij gaan de schoenmaat van onze chauffeur niet in onze app gebruiken ;). Dus als je geen leverancierstype gebruikt om rapport of selectiegroepen te maken, niet bijhouden.

Eens je weet welke gegevens je gaat gebruiken, dan pas komt de database aan bod. In dit geval wil je access gebruiken, een relationele database. Tip: Voor je tabellen begint aan te maken, kijk even naar de internet informatie betreffende normalisatie.

En maak niet alles ineens (een olifant eet je ook niet in één keer op, maar stukje voor stukje): begin met een module zoals de module leveranciers, werk deze uit met een paar basistabellen (leveranciers/ produkten/leverbonnen/leverbondetaillijnen/...) en de nodige beheers formulieren.
Maak vervolgens je verkoopsmodule met klanten/bestellingen/ enz.
En hier kan je dan koppelen: de klanten bestellen immers de producten die door de leveranciers geleverd worden.

Maar maak eerst een goede analyse van wat je wil doen met de applicatie zonder al aan tabellen te denken.

succes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan