rekenen in een form

Status
Niet open voor verdere reacties.

frankie59

Gebruiker
Lid geworden
25 sep 2008
Berichten
154
Geachte Forummers, Ik heb een database waarbij een onderdeel het kasboek is.
Het kasboek i s een doorlopend formulier met de volgende velden
kas_ID
beginsaldo
kasin
kasuit
eindsaldo
Datum

Als er een factuur of kassabon gemaakt word, dan word het veld kasin gevuld.
Ik zou willen dat er een berekening gemaakt wordt van beginsaldo plus kas in min kas uit is eindsaldo.
Hoe steek ik zoiets in elkaar?
Heeft iemand een goed idee, of kan iemand mij een richting insturen.

Alvast bedankt,

Frank
 
Er vanuit gaande, dat je de formuliervelden anders hebt genoemd dan de Besturingselementbron:

Me.[txtEindSaldo]=Me.[txtBeginSaldo]+Me.[txtKasIn]-Me.[KasUit]

Deze formule zet je op het veld dat je als laatste invult bij de gebeurtenis <Na bijwerken>.

Michel
 
Michel, bedankt het werkt, maar hoe krijg ik het voor elkaar dat hij doorrekent. dus 1 record is beginsaldo 1200,00 mutatie kasin 100,00 = eindsaldo 1300.
beginsaldo is eidsaldo van vorige record.
Dus beginsaldo word nu 1300,00
 
Wat je eigenlijk wilt, is kasverschillen opslaan, en daar een kastotaal uit berekenen. Een veld Beginwaarde en een veld Eindwaarde werkt dan niet, omdat je steeds getallen heen en weer moet halen. Het berekende totaal is de waarde die je dan opslaat, en steeds inleest in de beginwaarde. Vervolgens vul je op je formulier de KasIn en Kasuit waarden in, waarbij je via <Na bijwerken> dan het eindtotaal berekent, dat je vervolgens weer via een Toevoeg query bijvoorbeeld toevoegt aan de tabel.
Ik neem daarbij eigenlijk aan, dat je een mutatiegeschiedenis opbouwt, waarbij je de waarden KasIn en KasUit dan wel vastlegt, met datum en tijd.

Michel
 
ja, dat is de bedoeling. je krijgt dan een doorlopend kasboek. Wat elke dag aangeeft wat het aanwezige kasgeld moet zijn. Dit bedrag wordt weer gebruikt in de kasstaat waar het werkelijk aanwezige kasgeld geteld wordt en ingevoerd.
 
Dan zou ik zeker de twee velden Beginsaldo en Eindsaldo vervangen door één veld Saldo, dat je als Beginsaldo op het formulier laat terugkomen. Het veld Eindsaldo is dan een berekend veld, en met een knop Opslaan schrijf je de data weg in de tabel.
Volgens mij moet het formulier dan een Enkelvoudig formulier zijn, omdat je anders problemen krijgt met de in te voeren waarden. Persoonlijk zou ik het formulier dan ook niet koppelen aan de tabel, maar als ongebonden formulier gebruiken, waarbij je de laatste Saldowaarde m.b.v. een Recordset inleest als Beginsaldo. Voor de datum en tijd kun je =Date() en =Now() als standaardwaarde gebruiken, KasIn en KasUit wordt ingevuld, en EindSaldo wordt berekend. Als je een toevoegquery maakt, kun je de velden uit het formulier als bron gebruiken, en de tabel tblKas (ik noem maar wat...) als tabel waar e.e.a. inmoet.
Om het geheel af te maken, maak je ook nog een doorlopend formulier, gebaseerd op tblKas, waarin je alle bestaande data toont. Dit fomulier zet je als subformulier op het Enkelvoudige invulformulier, en dan ben je er volgens mij wel.

Eventueel laat je het subformulier bijwerken als je een record hebt toegevoegd, dan staat-ie ook gelijk in het subformulier.

Als het niet lukt, of als je een andere oplossing wilt (of hebt bedacht), dan horen we dat wel weer!

Michel
 
Ik was er al bang voor. In access kan je alles maken,maar de eenvoudigste dingen moeten soms erg moeilijk opgelost worden. Ik ga eens stoeien. Ik laat het je nog weten.

Bedankt.
 
Okee, het is gelukt. Het bleek alleen maar mogelijk te zijn in een enkelvoudig formulier. Dit heb ik dus aangepast. daarna heb ik een query gemaakt die alle debet-en creditposten optelt. Ik krijg dan 2 totalen nl kas erbij en kas eraf. In de totaalpost credit zit ook het beginsaldo, omdat dit mijn eerste post is.
Deze totalen laat ik terugkomen om mijn enkelvoudig formulier. En nu kan ik zoveel rekenen als ik wil. Dat gaat prima.
Ik laat bij het openen van het formulier de andere formulieren, waar ik gegevens uit nodig heb, ook openen en bij het verlkaten van het formulier, deze weer sluiten. tergelijkertijd schrijft hij alles in de TBLkasboek.
En zo heb ik voor elke boeking een beginsaldo, en eindsaldo.

Dankje Michel,

mvg Frank.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan