Je probleem wordt veroorzaakt doordat je tabel niet genormaliseerd is. Los dat op en je probleem is weg. Dat normaliseren bestaat er uit dat je de gegevens in je tabel gaat groeperen op gegevens die bij elkaar horen. Die zet je in een eigen tabel. Vervolgens koppel je de gesplitste gegevens weer aan elkaar met koppeltabellen, waar je vervolgens je formulier op baseert. In die formulieren kun je dan d.m.v. subformulieren de gegevens zien die je nu vraagt.
Als ik jouw tabel bekijk, zie ik op twee niveau's een probleem. Met het grootste te beginnen: je hebt dus nu twee groepen met gegevens die niets met elkaar te maken hebben, en die je dus moet splitsen.
Tabel Opdracht krijgt de velden: [OpdrachtID], [opdrachtnummer] en [beschrijving] (en nog wat extra velden vermoedelijk, want ik zie nergens een datumveld bijvoorbeeld, of een uitvoerder)
Tabel Adressen krijgt de velden: [AdresID], [straatnaam], [huisnummer] en [plaats]
Gebruikte normalisatieregel is hier: gegevens die niet afhankelijk zijn van de sleutel van de tabel, gaan naar een eigen tabel. De adresgegevens dus in dit geval.
De tabel Adressen bevat het tweede probleem: de straatnaam en plaatsnaam. Gebruikers zijn volledig bereid en in staat om een plaatsnaam op tig verschillende manieren in te voeren. Zelfs als je géén typefouten maakt, kun je al de teil in gaan met de plaatsnamen 's Gravenhage en Den Haag bijvoorbeeld. En dan heb ik het nog niet over straatnamen: "Burg. Oudlaan", "Burgemeester Oudlaan", "Burgermeerster Oudlaan" etc. Dus in de tabel Adressen ga je verder normaliseren. Nu ga je herhalende gegevens onderbrengen in een eigen tabel. Normalisatieregel 2: gegevens die gedeeltelijk afhankelijk zijn van de sleutel, breng je onder in een eigen tabel.
Dus normaal gesproken maak je een tabel met Plaatsnamen, en Straatnamen. In de tabel Straatnamen neem je dan een verwijzingsveld op naar de sleutel van de tabel Plaatsnamen. Ik mis bij jou hier overigens een veld met de postcode; lijkt mij niet onbelangrijk!
Ik zou hier dus eerst mee beginnen, en dan zal je zien dat je, als je de tabellen hebt gemaakt, je op basis van de koppeltabel (die heb je ook nodig) Opdracht_Adres twee soorten formulieren kan maken: één op basis van opdracht(gever), en één op basis van adres. In de ene zie je dan de gekoppelde adressen in het subformulier, in het andere de gekoppelde opdrachten.
Maar het begint dus bij een goede opzet van je database.