access berekend veld op formulier varieert

Status
Niet open voor verdere reacties.
Je subformulier kan geen records toevoegen omdat er berekeningen in zitten.
 
aha, damn, da's net de bedoeling, moet een formulier zijn waar telkens nieuwe aankopen moeten kunnen in worden ingegeven, en dan dan nadien de gegevens in de tabellen bewerkt , gebasseerd op de bekomen resultaten van het formulier.
dat wordt dan opnieuw beginnen zeker? hoe zou jij er aan beginnen ?
 
Als je een subformulier wilt gebruiken om records toe te voegen, moet dat formulier zijn gebaseerd op de tabel waar de gegevens in moeten. Lijkt logisch, maar is nog best lastig in de praktijk. Zo heb je het subformulier waarschijnlijk bedoeld om in de tabel Transacties in te kunnen voeren. Maar dat werkt alleen als je alle velden uit die tabel ook gebruikt, en dat doe je niet. Je gebruikt bijvoorbeeld het veld [QR code] uit de tabel Klanten, en niet uit de tabel Transacties. In Klanten is [QR code] een sleutelveld, en dat geeft dus een foutmelding als je een bestaand nummer gebruikt. Sowieso dus al fout, want bij het vastleggen van een Transactie moet je ook het veld [QR code] invullen in die tabel. En niet in Klanten.
Voor het weergeven van records maakt het niet uit welke tabel je gebruikt, voor het invoeren is het essentieel dat je de juiste tabel gebruikt. Hetzelfde geld overigens ook voor de velden [Assortimenentsnummer] en [Artikelnummer] die uit de tabel [Artikel] komen. Die moeten ook uit [Transactie] worden gehaald. En zo verder.
 
ok bedankt voor de verduidelijking! en het bewerken van de het puntentotaal van de klanten doe ik dan best via een macro? zodat deze telkens worden bijgewerkt als een aankoop wordt ingevoerd?
 
Dat berekenen mag best in een query; sterker nog: als je wilt totaliseren in het formulier, zal het wel moeten. Of, andere optie, je maakt de berekening op het hoofdformulier m.b.v. een functie. Dat laatste kan natuurlijk altijd.
 
heb er nu al middagje op zitten sukkelen, maar kom er niet uit (access is ontzettend handig als je er mee kan werken, maar als je een probleem hebt zegt hij nergens waar de fout zit :( )
wil dus het nieuw puntentotaal na een aankoop toekennen aan een record in tabel 'klant', veld 'totaal aantal punten' ,
het veld waar het 'nieuw puntentotaal' in staat, staat op een hoofdformulier, en het besturingselement ziet er zo uit : [Transactie Subformulier]![Form]![aangepastepuntnieuw]
deze waarde zou dan dus ook moeten verschijnen bij het betreffende record in 'klanten' , hoe gebeurt dit?
(sorry voor al de vragen, zit echt vast met dat formulier )
 
Het puntentotaal is een uitvloeisel van vaste gegevens: beginsaldo, punten die worden toegevoegd (gekocht o.i.d.) en punten die worden opgemaakt. Dat is dus per definitie altijd te berekenen, en dat soort gegevens hoef je niet op te slaan in een tabel. Is zelfs beter van niet. Voorbeeldje: je hebt een beginsaldo van 100; koopt er 500 bij (=600 totaal) en geeft er 350 uit. Resultaat: 250 punten. Kijk je in de tabel en wat blijkt: heeft een of andere onbenul het getal 800 ingevuld in het veld [totaal aantal punten]. Wie gaat dat verschil uitleggen?
Het totaal is derhalve dynamisch, en afhankelijk van mutatiegegevens.
 
klinkt wel logisch :p ! maar moet een formulier opstellen waar dan telkens de klantgegevens samen met het actuele puntensaldo op worden vermeld, ik kijk nog even verder! ;)
 
Voor het actuele saldo kun je een simpele query maken met het KlantID. Dat zet je (query toevoegen aan de formulierbron) vervolgens op een tekstveld in je formulier. Met Requery laat je het bijwerken als de gegevens veranderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan