Meerdere documentaties hangen aan klant binnen een form

Status
Niet open voor verdere reacties.

amaudi

Gebruiker
Lid geworden
28 okt 2009
Berichten
19
Hallo allemaal,

Sinds kort ben ik weer eens driftig begonnen in Access.
Ik ben geen leek, maar zeker ook geen expert, heb alleen nog maar simpele dingen gedaan in de zin van een werkbon administratie, autobedrijf inkoop / verkoop etc.

Nu wil ik een Klanten volg systeem gaan maken.

Ik heb dus een tabel klant, een tabel documentatie, en een tabel Bezoek.
In de bezoek tabel staat de datum van het bezoek, in documentatie de verschillende folders die we kunnen meegeven. In tb Bezoek heb ik klantID en DocumentatieID staan

Een klant kan meerdere folders meenemen, en dat wil ik in een formulier met selectievakjes regelen. Alleen lukt het mij niet om dit op een form te regelen.
Moet ik hiervoor nog een nieuwe tabel aanmaken, of maak ik een denkfout?
 
Laten we het maar even op een kleine denkfout houden ;)
Het antwoord is een beetje afhankelijk van de hoeveelheid folders die je hebt, en die je dus mee kunt geven.

Eerst het simpele antwoord...
Heb je een stuk of 10 vaste folders, en verandert daar niet zoveel in, dan kun je overwegen om in de tabel Bezoek 10 selectievakjes op te nemen, waarbij je dan elk vakje benoemt naar de folder die je meegeeft. Op het formulier zet je dan die 10 selectievakjes, en dan ben je in wezen klaar. Als je een document wilt meegeven of opsturen welke folders ze hebben gekregen, dan kun je m.b.v. een query de selectievakjes wel weer koppelen aan de tabel Documenten.

Nu het iets ingewikkelder antwoord!
Daarbij gaan we er vanuit, dat de hoeveelheid folders fluctueert, en dat je steeds andere folders hebt, al dan niet met een andere omschrijving. In dat geval heb je een extra tabel nodig, namelijk een tabel met BezoekRegels. (om maar een naam te geven) Hierin leg je de gegevens vast die wisselen per bezoek. In dit geval dus de uitgegeven folders. Voor elke uit te geven folder leg je het BezoekID vast, en het DocumentID. (en wat je nog meer zou willen, bijvoorbeeld het aantal en de prijs)
Op je formulier zet je dan een subformulier met daarin de tabel BezoekRegels als bron. Je koppelt Sub- en Hoofdformulier op basis van het BezoekID, dat in beide tabellen voorkomt. Uiteraard leg je die relatie ook in het scherm Relaties, want je wilt ook Referentiéle Integriteit afdwingen voor de tabellen. Je kunt, voor het gemak, het FormulierID vervangen door een opzoeklijst, waarbij je de lijst dan bijvoorbeeld steeds laat bijwerken als er een formulier is toegevoegd aan de tabel. Zo wordt, bij elke uitgegeven folder, de lijst steeds kleiner, en voorkom je dat een folder twee keer wordt toegevoegd.

Om e.e.a. op het hoofdformulier met selectievakjes te regelen, zul je wat werk moeten verrichten. Je kunt uiteraard net zoveel selectievakjes maken als je wilt; daar kom je wel uit. Je moet echter twee acties koppelen aan het selectievakje. Op de gebeurtenis <Na bijwerken> moet je, als het vakje is aangevinkt, een record toevoegen aan de tabel BezoekRegels. Is het vakje uitgevinkt, dan moet het record weer worden verwijderd uit die tabel. Het is wel te doen, maar is wel extra werk.
 
Ik zat inderdaad te moeilijk na te denken. Toen ik je oplossing las dacht ik, natuurlijk!
Tja, soms zit je vast in een denkwijze.

Thanks, de eerste optie volstaat perfect. De folders wisselen namelijk niet, het zijn vast leveranciers.

Nu al een gewelidg forum ;):thumb:
 
Mag je de vraag nog op Opgelost zetten! Linkje rechtsonder het scherm...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan