Totalen uit een subformulier opslaan in een tabel.

Status
Niet open voor verdere reacties.

Grover

Gebruiker
Lid geworden
24 jan 2001
Berichten
32
Hallo,

Hier mijn tweede Access-vraag. Het niveau wordt al iets hoger... :)

Ik heb het volgende formulier, genaamd 'Facturen':

Facturen_formulier.gif

Het formulier 'Facturen' is gebaseerd op de tabel [Facturen] en deze tabel bevat de volgende velden:

--------------------------------------
FactuurId
KlantId
FactuurNr
Factuurdatum
VerzendStatus
BetalingsStatus
Boekingsdatum
Totaal ex btw
Btw
Eindtotaal
--------------------------------------

Zoals je kunt zien in de screenshot worden de kosten ex btw per product ingevuld in het subformulier 'Advertenties'. Vervolgens wordt het totaal hiervan opgeteld in de voettekst van dit subformulier : deze velden worden niet-zichtbaar gemaakt.

Daarna worden a.d.h.v. deze niet-zichtbare totaal-velden uit het subformulier 'Advertenties' de volgende totaal-velden in het formulier 'Facturen' gevuld:

Totaal ex btw ---> Bron : =[Subformulier Advertenties].Form![Totaal ex btw]
Btw ---> Bron : =[Subformulier Advertenties].[Form]![btw]
Eindtotaal ---> Bron : =[Subformulier Advertenties].Form!Eindtotaal

VRAAG

Wat ik nu wil is dat deze totalen uit het formulier 'Facturen' geplaatst worden in de tabel [Facturen] (omdat ik de waarde van deze velden wil bewaren voor later gebruik). Deze tabel bevat nl. de volgende velden :

Totaal ex btw
Btw
Eindtotaal

... en deze wil ik dus vullen a.d.h.v. de waardes uit de totaal-velden in het formulier 'Facturen'.

Snapt iedereen het nog? :D Het zal heel simpel zijn, maar wie kan mij hierbij helpen?

Dank,
 
begrijp het niet helemaal wat je wilt maar ik doen een poging

enkele waarden uit advertenties wil je opslaan in facturen
de ze waarde ga je eerst in een variabele zetten
bijv: TEB = forms!advertenties!veld

de variabele kan je nu weer in facturen krijgen door
een bijv een toevoegquery, een recordset of een gebeurtenis
 
begrijp het niet helemaal wat je wilt maar ik doen een poging

enkele waarden uit advertenties wil je opslaan in facturen
de ze waarde ga je eerst in een variabele zetten
bijv: TEB = forms!advertenties!veld

de variabele kan je nu weer in facturen krijgen door
een bijv een toevoegquery, een recordset of een gebeurtenis

Hoi Maarten,

Iemand anders beweerde op deze vraag het volgende:

Grover,

gegevens die je af kunt leiden uit andere gegevens sla je niet op.
Daarvoor gebruik je queries.
 
die ander heeft gelijk, maar je vroeg om de waarden van deze velden te bewaren
 
die ander heeft gelijk, maar je vroeg om de waarden van deze velden te bewaren

Hallo Maarten,

Dat was inderdaad mijn vraag. Ik dacht dat ik de waarden uit het formulier 'Facturen', dus deze:

Totaal ex btw ---> Bron : =[Subformulier Advertenties].Form![Totaal ex btw]
Btw ---> Bron : =[Subformulier Advertenties].[Form]![btw]
Eindtotaal ---> Bron : =[Subformulier Advertenties].Form!Eindtotaal

... ergens op diende te slaan in een tabel, omdat ik de waardes uit die velden straks wil gebruiken in rapporten ed. Maar blijkbaar is het opslaan van berekende gegevens in tabellen niet aan te raden? De verdere uitleg die ik kreeg was nl:

Database tabellen zet je op via normalisatieprincipes.

Een van de regels is dat je een tabel zo opbouwt, dat deze een gegeven uniek identificeert.
Berekende gegevens vallen dat per definitie niet onder, omdat de gegevens waarop je berekening is gebaseerd als aanwezig zijn.

Iets meer praktisch.
Stel, je slaat per factuur een eindbedrag op in je tabel.
Wat gebeurt er nu als een van de gegevens waarop je eindbedrag is gebaseerd, wijzigt?
Juist, je eindbedrag klopt niet meer.

Nu kun je zeggen, daarvoor bouw ik dan code in.
Punt is alleen, waar eindigt dat?
Je creert onnodig extra werk, los van het feit dat je ingaat tegen de basisprincipes waarop relationele databases zijn gebaseerd.

Als je een query gebruikt en daarin je berekening uitvoert, hou je je tabelopzet zuiver en wordt je eindbedrag netjes herberekend.
Betekent wel dat je je formulier op een query moet baseren.

Nu nog ff uitvinden hoe ik dit voor elkaar ga krijgen.... :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan