Access 2016 Formulier met verschillende velden uit een andere tabel

Status
Niet open voor verdere reacties.

KPTPTT

Gebruiker
Lid geworden
2 mrt 2018
Berichten
321
Ik wil graag een 'Werkorder' formulier waarin ik maximaal zeven verschillende monteurs uit een andere tabel 'Monteurs' kan toewijzen.
Er zijn twee tabellen; Werkorders en Monteurs.

Tabel 'Monteurs' bestaat de velden 'Monteur ID' (key, Autonummering) en Naam (+ Expertise etc.) en beschikt verder over records met de namen van verschillende beschikbare monteurs. (Deze tabel is door een formulier 'Monteurs' ingevuld')

Tabel 'Werkorders' bestaat uit de velden Werknummer ID en zeven velden voor het toewijzen van een monteur uit de tabel 'Monteurs.
Ahv. tabel 'Werkorders' is een formulier 'Werkorder' gemaakt waarin ahv. het werknummer het juiste formulier kan worden getoond.
In het formulier 'Werkorder' wil ik zeven velden met ieder een keuzevak waarmee ik uit de tabel Monteurs een keuze uit de beschikbare monteurs kan maken. Dus op het formulier 'Werkorder' kunnen max. zeven verschillende namen te staan.

het werkt niet om alle zeven Namen uit de tabel 'Werkorders' relateren aan de tabel 'Monteurs'. Ik denk aan een tussenoplossing met een (zeven) koppeltabel(len) met een veld ID en de Naam van de monteur met enerzijds een relatieverbinding met de tabel Monteurs en anderzijds een verbinding met de tabel Werkorders (de zeven namen van de monteurs). Ik krijg dit model niet aan de praat.
Wie weet een oplossing? Alvast bedankt.
 
Tabel 'Werkorders' bestaat uit de velden Werknummer ID en zeven velden voor het toewijzen van een monteur uit de tabel 'Monteurs.
Dat is echt een heel slecht idee, want daarmee is je database bijzonder slecht genormaliseerd. Ik snap wel dat je denkt dat dit een handige oplossing is, maar dat is het wellicht wel in Excel (immers geen database) maar dus niet in Access. In een database tabel sla je geen herhalende gegevens op. Dat is één van de basisregels van een goede database. Je hebt dus minstens één extra tabel nodig: Werkorder_Monteur waarin je de monteurs vastlegt die aan een werkorder worden gekoppeld.
Jouw veronderstelde oplossing is dus totaal niet correct. En zou ik, al zou ik hem nog wel aan de praat krijgen (overigens niet op de door jou voorgestelde wijze, maar goed) dus ook niet eens willen overwegen.

De correcte oplossing, met die koppeltabel, is overigens voor jouw situatie niet gelijk wat je zoekt, omdat je in een tabel met een één-op-veel relatie, die de tabel [Werkorder_Monteur] dus zou hebben, geen limiet kan zetten op het aantal monteurs dat je mag toevoegen. Maar dat is simpel op het formulier af te dwingen door het (sub)formulier [fWerkorder_Monteur] te begrenzen tot 7 records. En dát zou dus jouw oplossing moeten zijn.
 
Access 2016 Formulier met verschillende velden uit een andere tabel

Dank. Ik had ook een gecombineerde tabel zoals je beschrijft echter krijg ik deze ook niet aan de praat. Ik denk dat de relaties tussen de tabellen niet goed zijn maar hoe dan wel? Ik overzie momenteel de oplossing van het probleem niet. Ik kan de tabel met alle monteurgegevens niet opnemen in de tabel Werkorder en blijven het nmi twee tabellen. Het lijkt mij dit gescheiden te houden maar hoe leg ik de koppeling met beide tabellen? Ik had wel een aparte tabel ID+ met de zeven Monteurnamen etc. Maar ook hier: "Hoe leg ik de koppeling met de werkordertabel?
 
Het is eigenlijk heel simpel. Je hebt Werkorders (tabel) met een WerkOrderID, monteurs tabel) met een MonteurID en daar komt dus een tabel bij: [Werkorder_Monteur]. Die krijgt een eigen sleutel (WO_M_ID bijvoorbeeld, autonummer) en minstens twee velden: MonteurID en WerkOrderID. Je koppelt deze velden met de bijbehorende tabel op basis van een één-op-veel relatie. In het formulier fWerkOrders krijg je dan een subformulier op basis van de koppeling op het WerkOrderID veld zodat je bij alle werkorders een monteur kan koppelen. Als je de koppelingen hebt gelegd, en je maakt een nieuw formulier op basis van WerkOrder dan zul je zien dat Access de koppeling en het subformulier al gelijk maakt, op basis van een gegevensblad formulier voor de koppeltabel.
 
Access 2016 Formulier met verschillende velden uit een andere tabel

Dank voor je tijd en het meedenken. Het is gelukt. Ik heb volgens je voorstel een tabel [Werkorder_Monteur] gemaakt. Vervolgens heb ik in de tabel Werkorder de zeven veldnamen van de Monteurs aangemaakt. Via het keuzevak in de kolom Gegevenstype bij iedere veld Monteursnaam heb ik mbv. de "Wizard opzoeken" de koppeling tussen de tabel Werkorder en de tabel Monteurs gemaakt. Dat voor iedere monteur. De Wizard heeft voor iedere koppeling de tabel Monteurs gekopieerd (er zijn dus nu zeven tabellen Monteurs). Vervolgens heb ik van de tabel Werkorder een formulier gemaakt en in dit formulier de zeven Monteursnamen opgenomen.
Het resultaat is een formulier met zeven keuzevakken waarin ik in ieder vak een monteur kan selecteren. Er is geen sprake van een sub-formulier.
Ik ga nu dezelfde procedure volgen voor het aanbrengen van keuzevakken voor het kiezen van een leverancier (aanmaken tabel WO-leverancier).
Dank voor het weer op weg helpen.
 
Heb je mijn antwoord wel goed begrepen? Je doet nu precies wat ik zei dat je níet moet doen! Als je zo door gaat
Ik ga nu dezelfde procedure volgen voor het aanbrengen van keuzevakken voor het kiezen van een leverancier
krijg je echt een waardeloze database.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan