MS Access 2016 - Formulier meerdere tabbladen en tabellen .

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Rolla
  • Registratie: December 2011
  • Laatst online: 05-10 20:46
Ik ben bezig met het ontwerpen van een database voor het bijhouden van een voorraad. Ik heb de tabellen en relaties gemaakt.

Nu ben ik bezig met het ontwerpen van een formulier dat 4 tabbladen bevat, gegevens, leveranciers, voorraad en bijlage. Op het formulier word artikelID en artikelnummer getoond uit de tabel artikelen. Daaronder worden de verschillende tabbladen weergegeven.

Op het eerste tabblad wordt de omschrijving, verkoopprijs en teleenheid weergegeven. Teleenheid is een keuzelijst en is gekoppeld aan de tabel teleenheid en gebruik ik om aan te geven of de prijs per stuk, per meter e.d. is. Tot zover werkt het formulier prima.

Nu wil ik op het tweede tabblad de leveranciers weergeven die aan het artikel gekoppeld zijn. Hier voor gebruik ik de tabel levancier welke o.a.] de velden leverancierID en leveranciernaam bevat. Deze tabel is gekoppeld aan de tabel leverancierartikel welke middels het veld leverancierID gekoppeld is aan leverancierID in de tabel leverancier. Middels artikelID is het gekoppeld aan het veld artikelID in de tabel artikel.

Nu ben ik al bezig geweest met het maken van subformulier, maar op een of andere manier krijg ik het niet goed en geeft hij de melding dat hij geen record kan vinden in de tabel artikel waarvoor de sleutel overeenkomt met de volgende velden. Hij geeft overigens niet aan welke velden.

Relaties:
Afbeeldingslocatie: https://www.visserslatijn.nl/forum/attachment.php?attachmentid=2952&d=1574195014

Ik hoop dat iemand mij een duwtje in de goede richting kan geven.

Alle reacties


Acties:
  • +1 Henk 'm!

  • wwwFan
  • Registratie: Januari 2012
  • Nu online
Ik ga er vanuit dat je als databron voor het subformulier de tabel leverancier hebt gebrukt. In dat geval kan access geen verband vinden tussen het hoofdformulier en de subformulier ondanks dat je in de database de relaties hebt aangegeven. Deze relaties worden namelijk niet gebruikt bij de koppeling van een subformulier.
In dit geval kan je eerst een query maken met daarin de tabellen LeverancierArtkel en Leverancier met daarin in ieder geval de velden leverancierArtikel.ArtikelID en Leveranciernaam. Als je vervolgens deze query gebruikt als databron voor je subformulier dan kan access wel de koppeling tussen het hoofdformulier en het subformulier maken (op basis van veld ArtikelID)

Edit:
Wellicht een mooiere oplossing, zeker als je de leveranciersdata wilt kunnen aanpassen is om de tabel LeverancierArtikel in het subformulier als databron te gebruiken. Vervolgens zorg je op het formulier ervoor dat het veld leverancierID een dropdown is met de leveranciers.

[ Voor 17% gewijzigd door wwwFan op 20-11-2019 13:08 ]


  • Rolla
  • Registratie: December 2011
  • Laatst online: 05-10 20:46
Dank voor de reactie. Ik ben er nog eens mee aan de slag gegaan en het is mij nu wel gelukt, zonder een query te maken. Blijkbaar had ik de koppeling tussen het hoofd- en subformulier niet goed. Ik heb de tabel LeverancierArtikel als databron gebruikt.

Nu kan ik ook leveranciers toevoegen aan een artikel. Alleen kan ik nu dezelfde leverancier meerdere malen koppelen aan een artikelnummer. Dit is natuurlijk niet wenselijk. Ik ga nog even kijken hoe ik dat ga oplossen.

  • BertS
  • Registratie: September 2004
  • Laatst online: 11:05
Dat kun je oplossen door in de tabel LeverancierArtikel een unieke index aan te maken op de combinatie van LeverancierID en ArtikelID.