Formulier met 2 subformulieren

Status
Niet open voor verdere reacties.

Jos58

Gebruiker
Lid geworden
28 feb 2020
Berichten
6
Hallo,
Ik ben bezig met een database waarin ik in een formulier twee subformulieren onderbreng.
summier bezien bestaat het "probleem" gedeelte uit een aantal tabellen.
Tabel 1 Projecten heeft als sleutelveld ProjectID
Tabel 2 PvE_Gegevens heeft als sleutelveld PVEID met als numeriek koppelveld Project
Tabel 3 NEN2535 heeft als sleutelveld Id met als numeriek koppelveld PVE
Tabel 4 NEN2575 heeft ook als sleutelveld Id met als numeriek koppelveld PVE
De rest van de tabellen zijn normale velden, die een unieke relatie hebben tot de betreffende tabel.

De relatie is gelegd een op veel tussen Projecten en PVE_Gegevens
En er zijn een op veel relatie gelegd tussen de tabellen PVE_Gegevens en NEN2535 en NEN2575
Bij het invullen van tabel PVE_Gegevens zonder data in te voeren in NEN2535 en NEN2575 kan ik meerdere records aanmaken zonder problemen
De eerste keer dat ik Tabel NEN2535 met data invul, gaar het goed, ook tabel NEN2575 gaat goed echter vul ik het tweede record in bij NEN2535 dan krijg ik de melding:
"De opgegeven wijzigingen zijn niet aangebracht in de tabel omdat hierdoor dubbele waarden ontstaan in de index, primaire sleutel of relatie ........" en zo verder.
Voer ik alleen data in in tabel NEN2575, dan gaat het goed. Maar zodra ik meer als een record in NEN2535 wil invoeren krijg ik bovenvermelde melding, ongeacht of ik nu wel of geen data invoer of ingevoerd heb in tabel NEN2575.

Nu weet ik niet verder, hoe los ik dit probleem op?
 
Ik snap je database opzet nog steeds niet, na een aantal keer doorlezen. Wellicht dat een plaatje van je relaties wat duidelijkheid schept. In beginsel kun je best een getrapt formulier maken, met subformulieren die afhankelijk zijn van 'bovenliggende' (sub)formulieren. Maar ik betwijfel of je dat zo hebt opgezet.
 
Nu met Bijlage

Je kunt merken dat ik nog helemaal onbekend ben met dit forum,
 

Bijlagen

  • relaties.png
    relaties.png
    75,6 KB · Weergaven: 62
OK, ik denk dat ik je probleem wel snap nu. Formulieren draaien op een Recordset (tabel, query) die wordt ingelezen bij het openen van het formulier. Deze recordbron is redelijk statisch; bij een gekoppeld subformulier gaat het doorgaans wel goed als je in het hoofdformulier records toevoegt: het subformulier neemt dan netjes de sleutel over. Dit gaat ook op voor een tweede subformulier. Dus als je alleen in één van beide subformulieren records toevoegt, dan is er niks aan de hand.

Probleem is echter, dat als je in subformulier A iets toevoegt, subformulier B daar geen weet van heeft. En dáár ga je dan de teil in, want in het ongebruikte subformulier ‘hangt’ nog de oude dataset, zonder dus het niveau ID dat je in het andere formulier hebt gebruikt. Ik zou proberen om het tweede subformulier met een Requery, als je nieuwe records toevoegt, bij te werken. Dus als je in Subform A records toevoegt moet je Subform B bijwerken, en andersom.

Daarbij heeft het wellicht óók zin om de veldnamen uniek te maken, al zou dat niet uit moeten maken. Maar het kan sowieso geen kwaad om velden unieke namen te geven, dan kan dat in ieder geval nooit een spelbreker zijn.
 
Foutje van mijn kant

De oplossingen die je gegeven had, heb ik uitgeprobeerd maar ook dat hielp niet. Na lang zoeken (het begon al weer licht te worden) kwam ik er achter dat ik in een veld in de tabel NEN2535 op de een of andere manier Indexeren op "Ja" had gezet (Terwijl dat voor dat veld niet moest). :shocked: Zo zie je maar "Grote problemen en ongemakken ontstaan door 1 verkeerde niet opgemerkte click van de muis". In ieder geval van harte bedankt voor je hulp. Ik denk dat ik nog wel vaker hulp nodig zal hebben :)
 
Tja. Nu snap je dat je als helper bij HelpMij altijd een glazen bol cadeau krijgt, zodat je dit soort 'problemen' gelijk kan zien :). Helaas heb ik die van mij in de sloot achter het huis laten vallen :D.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan