formulier gebaseerd op samenvoegquery: wil onderliggende tabellen updaten

Status
Niet open voor verdere reacties.

goer01

Gebruiker
Lid geworden
23 sep 2007
Berichten
6
Ik heb het volgende probleem:
Ik heb een formulier dat records moet muteren. Het formulier is echter gebaseerd op een samenvoegquery van drie tabellen. Het lukt mij niet om te muteren.
Wie weet een oplossing?
 
Als je je form koppelt aan een union query die gebasseerd is op drie tabellen dan doe je iets verkeerd.:( Heb je er al eens aangedacht deze drie tabellen samen te voegen en een extra veld eraan vast te plakken waarin je het verschil weergeeft tussen de drie oorspronkelijke tabellen. Dan is je database iets meer genormaliseerd en je data is vanuit het form aan te passen.

Er zijn nog andere manieren maar dit is de beste.
 
bedankt voor je reactie, maar...

Hoi Guus,
Helaas kan ik de drie tabellen niet samenvoegen, omdat zij te groot zijn. Een tabel mag maximaal 255 kolommen hebben... Ik heb het nu opgelost door drie mutatie formulieren te maken, maar dan kom ik weer in andere problemen terecht:

Deze accessdatabase gebruik ik op mijn school om studentgegevens bij te houden, o.a. hun cijfers.
In het eerst formulier muteer ik studenten van de klassen B1, B2, B3 enz.
In het tweede formulier muteer ik studenten van de klassen A1, A2, A3, enz Deze studenten hebben een ander studieprogramma dan de B-klassen.
In de derde muteer ik studenten van N1, N2, enz.

Wordt een student teruggezet, bijv. van klas B1 naar klas N1, dan lukt dat niet op deze manier.....

Rich
 
Als je geintresseerd bent om het probleem goed aan te pakken door je tabellen te normaliseren dan moet je me dat even laten weten.

Terug naar je probleem.

Je kan een unbound form gebruiken. Je moet dan de controls zelf vullen. Je kan dan eenvoudig zien wanneer een record gewijzigd is door de waarde in het veld te vergelijken met de recordset. Als die gewijzigd is dan bepaal je uit welke tabel de gewijzigde informatie komt en die sla je dan op.
Je kan bijvoorbeeld de tag property van je controls vullen met de tabel waarmee de control is gevuld. Je loopt dan langs alle controls met dezelfde tag en daarna update je de bijbehorende tabel.

HTH :D
 
Hallo Guus2005,

Tja, normaliseren, unbound form, tag property, controls. Het duizelt mij. Je begrijpt: ik ben een beginner en weet nauwelijks iets van VBA. In ieder geval bedankt voor je reactie.
Dat van normaliseren hoor ik graag van je (en wat een rebound form is ook)
Groet,

Rich
 
:D Een rebound form is een form die eerst in de put zat maar er nu weer bovenop komt.:D

Wat forms in Access betreft: je hebt bound form en een unbound form. Het bound form is gekoppeld aan een datasource. Dit is een tabel of query. Aan de hand van die datasource worden de controls gevuld met informatie. Bij een unbound form open je m.b.v. VBA een recordset en van daaruit wordt de controls gevuld. Dit moet je wel zelf doen.

Uitgebreide info over Normaalvormen vind je hier. Ik normaliseer meestal tot de BCNF.
De bedoeling ervan is dat je na afloop een relationeel database model overhoud, zonder redundantie.

Ik denk dat je erg veel redundantie in je database hebt.

Als je hier allemaal geen zin in hebt, moet je gewoon doorgaan met wat je doet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan