gegevens uit subformulier in hoofdformulier

Status
Niet open voor verdere reacties.

RoVo1211

Gebruiker
Lid geworden
24 feb 2024
Berichten
114
Besturingssysteem
Windows 11
Office versie
Office 365
Ik heb een soort kassa-systeem gemaakt in Access met hoofdformulier met gegevens als Transactie_ID, Datum, Tijd en Winkel.

1728902051140.png
In het subformulier staan het artikel, aantal artikelen en het regeltotaal. In de voettekst staat het totaal generaal met de formule =som(fld_aantal*fld_prijs). Hier gaat ook iets fout, want ik krijg geen waarde. Ik heb het al op verschillende manier en proberen op te lossen zoals het veld met deze formule de naar "fld_Regeltotaal" te geven en ernaar te verwijzen met =som(fld_Regeltotaal) in het veld met de naam "fld_TotaalGen", maar ook dat werkt niet.

In subformulier:
1728902144035.png1728902185763.png

In hoofdformulier:
1728902335233.png

In het hoofdformulier heb ik de voettekst een veld met de formule =Formulieren.subfrm_TransactieItems.fld_TotaalGen. Omdat de berekening in het subformulier niet werkt, werkt dit veld ook niet.
Hoe moet ik de formules zo aanpassen dat de berekening wel wordt uitgevoerd?

Ik hoop dat ik voldoende info gegeven heb om tot een antwoord te kunnen komen. Mocht je meer info nodig hebben, dan verneem ik dat graag.
 
Laatst bewerkt:
Tja, de formule op het subformulier zou natuurlijk gewoon moeten werken. Wat ik niet snap, is waarom je in de voettekst van het subformulier niet gewoon de som uitrekent van Regeltotaal, maar dat opnieuw berekent. Dat zou ik doen, want dat werkt altijd.
Je kunt in een voettekst namelijk niet rekenen met een recordveld. Dus ook niet met twee :).
 
Laatst bewerkt:
Ik heb beide geprobeerd:
=som([fld_RegelTotaal])
=som([fld_Aantal]*[fld_Prijs])
Ik krijg bij beide "#Fout" in het veld te zien, er wordt alleen niet aangegeven WAT er fout is aan de formule :(
 
Zoals ik al zei: de onderste versie is sowieso fout. De bovenste zou toch echt moeten werken. Het wordt tijd voor een voorbeeld bestandje :).
Overigens weet ik niet of de notatie Euro roet in het eten kan gooien. Sowieso zou ik voor tabelvelden met geldbedragen de veldeigenschap Valuta gebruiken. Je kunt eens beginnen met die notatie in het berekende tekstveld om te zetten naar een normale getalnotatie, en kijken wat er dan gebeurt.
Ook zou het kunnen dat één van de records een fout oplevert, wat dan uiteraard óók in de Som een fout veroorzaakt.
 
Laatst bewerkt:
Hierbij het gevraagde voorbeeldbestand. Voor zover ik kon overzien heb ik alle persoonlijke data verwijderd.
 

Bijlagen

Ik kon in jouw db zo snel niet zien waarom de berekening niet wordt gemaakt, en dat vind ik dus nog steeds wonderlijk. Zeker als je van de query een nieuw formulier maakt, en dat koppelt aan het hoofdformulier, dan werkt het namelijk gelijk goed. Wonderlijk dus. Ik heb e.e.a. in een nieuw formulier gezet, zodat je de versies met elkaar kan vergelijken.
 

Bijlagen

Ik heb er wel naar gekeken, maar ben er niet veel wijzer van geworden. Bedankt voor de moeite, anyway.
 
Hoezo ben je er niet wijzer van geworden? Werkt mijn formulier bij jou niet? Zoals ik al aangaf: ik heb geen oorzaak kunnen vinden in jouw formulier. Wél deed-ie het in eerste instantie niet omdat er velden in zaten die ontbraken in de onderliggende tabel/query. Die zouden overigens geen invloed mogen hebben, (en dat hadden ze ook niet na het verwijderen) maar foutmeldingen werken soms vreemd door in een formulier.

Vandaar dat ik heel snel met de wizard een nieuw formulier heb gemaakt op basis van de query (waarin ik je berekening heb opgenomen, zodat die niet meer op het formulier plaatsvindt). En dus de SOM formule gebruikt om het totaal te berekenen, en dat dan weer op het hoofdformulier laten zien. Meer werk was het niet.
 
Ik snap nu wat je bedoelt: je neemt de berekeningen op in de query en haalt ze in het formulier op als velden.
In de voettekst zou dan moeten komen: fld_Totaal=som(RegelTotaal)
en in het hoofdformulier:formulieren!subfrm_TransactieItems!fld_TotaalGen.

Het werkt alleen niet! Het totaal van de subtransacties krijg ik wel, maar niet het totaal van het subformulier in het hoofdformulier
 
Nogmaals: werkt míjn formulier bij jou dan ook niet? Want dat vraag ik dus steeds. Dat jóuw formulier niet werkt weten we nu wel :). Die krijg ik dus ook niet aan de praat, ook niet als ik daar de aangepaste query voor gebruik.

Nogmaals: het ligt dus niet aan de gebruikte formules, die zijn (nu) correct. Er zit ergens een fout in jouw formulier, wat je dus kunt verhelpen door een nieuw formulier te maken. Zie het als één van de eigenaardigheden van Access :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan