Query maken voor optellen totalen van meerdere tabellen

Status
Niet open voor verdere reacties.

SchreuderSMC

Gebruiker
Lid geworden
13 mrt 2014
Berichten
31
Beste,

Ik heb een nieuwe baan en die vereis onder andere dat ik met Acces moet omgaan. Ik vind het erg interessant en ben thuis bezig gegaan om mijn adminstratie erin te doen. Die is vrij complex omdat ik ook nog 2 bedrijfjes heb. Alla. Ik zit met een vraag en hoop dat u mij kunt helpen. Het zit zo:

1. Ik heb een tabel met facturen van crediteuren. In die tabel zit een o.a. een kolom met 'betaald bedrag' en 'op welke rekening betaald?' ( die rekening naam wordt weer uitgelezen uit tabel 'rekeningnamen' )
2. Ik heb een tabel met facturen van debiteuren. In die tabel zit o.a. een kolom met 'betaald bedrag' en 'vanaf welke rekening betaald?' ( die rekening naam wordt weer uitgelezen uit tabel 'rekeningnamen' )
3. Ik heb een tabel met een beginsaldo van mijn verschillende rekeningen.

Nu wil ik een query maken die mij de volgende info geeft:

Saldo op rekening 1 is xxx ( want bedrag debiteuren - crediteuren + beginsaldo )
Saldo op rekening 2 is xxx ( want bedrag debiteuren - crediteuren + beginsaldo )
Saldo op rekening 3 is xxx ( want bedrag debiteuren - crediteuren + beginsaldo )

Ik heb geen flauw idee hoe ik dit zou moeten doen en ik hoop dat iemand mij kan helpen hiermee. Ik heb me rot gezocht ( waar moet je op zoeken? ) en ben ook lid van Lynda.com, maar ik kom maar net niet de info tegen die ik hiervoor nodig heb. Mijn dank is groot!
 
Om te beginnen: welkom bij HelpMij :). Maar waarom heb je een aparte tabel Beginsaldo? Lijkt mij nergens voor nodig. Zodra je een nieuwe klant invoert, is het eerste record automatisch het beginsaldo. De rest van de mutaties is dan precies wat het is. En de noodzaak van aparte debiteuren en crediteuren zie ik eerlijk gezegd ook niet, want volgens mij zijn dat dezelfde entiteiten, met hooguit verschillende mutaties (bij of af). Dus alles kan gewoon in 1 tabel. En dan is het saldo heel simpel: SOM van Betaald bedrag. Want het enige verschil tussen debiteur en crediteur is dan een negatief of positief bedrag in [Betaald bedrag] en het saldo is dus simpel optellen van alle bedragen.
 
Om te beginnen: welkom bij HelpMij :). Maar waarom heb je een aparte tabel Beginsaldo? Lijkt mij nergens voor nodig. Zodra je een nieuwe klant invoert, is het eerste record automatisch het beginsaldo. De rest van de mutaties is dan precies wat het is. En de noodzaak van aparte debiteuren en crediteuren zie ik eerlijk gezegd ook niet, want volgens mij zijn dat dezelfde entiteiten, met hooguit verschillende mutaties (bij of af). Dus alles kan gewoon in 1 tabel. En dan is het saldo heel simpel: SOM van Betaald bedrag. Want het enige verschil tussen debiteur en crediteur is dan een negatief of positief bedrag in [Betaald bedrag] en het saldo is dus simpel optellen van alle bedragen.

Hoi Octafish,

Bedankt voor je reactie. Je uitleg klinkt duidelijk echter ik wil deb en cred gescheiden houden. Beginsaldo is ook nodig omdat het beginsaldo niet 0 is. Er stond al geld op de rekening zeg maar. Daarnaast heb ik saldo's nodig van verschillende rekening. Cred A betaald op rekening A en Cred B betaald op rekening E. Zo ook met de debiteuren.

TOEVOEGING:

HIERONDER MIJN CRED EN DEB TABELLEN. De totalen per rekening moeten dus gemaakt kunnen worden. De rekeningnummer staan uiteraard ook in een aparte tabel

DEB.jpg
CRED-1.jpg

Ik heb dus een tabel met Cred en daar een totaal bedrag van ( die is nog niet verdeeld over verschillende type rekeningen ) en zo ook een rekening met Deb.

Is het zo duidelijk of moet ik een printscreen bijvoegen ?
 
Laatst bewerkt:
Gelijk maar een goede tip: de QUOTE knop is geen Reply knop, dus die moet je alleen gebruiken als je (een deel van) een bericht wilt quoten dat ergens ver weg in een ander bericht staat of zo. Complete berichten herhalen is een beetje zinloos omdat het bericht er (perfect leesbaar) pal boven staat in een veel beter lettertype, dus graag niet meer doen.
Je argumenten zijn niet echt geweldig, want als je een nieuwe debiteur/crediteur opgeeft, is de eerste waarde per definitie het beginsaldo. Of die 0 is of niet maakt daarbij helemaal niks uit. Zolang er geen tweede record bijkomt (of dat nu bij of af is maakt ook echt helemaal niks uit) blijft het saldo dus gelijk. En je argument voor debiteurentabel en crediteurentabel gaat ook niet op. Met een veld waarin je de transactiesoort vastlegt (betaald/ontvangen o.i.d.) ben je er al. Je moet leren denken in entiteiten die identiek zijn, en derhalve bij elkaar horen. Financiële transacties zijn identiek en horen derhalve in één tabel. Net als je klanten.
 
Ok thanks. Maar ik wil het wel op deze manier gaan doen. Hoe zou ik het dan kunnen doen ? Een query bouwen is veel minder werk dan alles nu weer omgooien. Daarnaast wil ik in de toekomst veel meer doen waardoor aparte tabellen wel nodig zijn.

Dus: enig idee hoe het het saldo per rekening uitgerekend krijg

PS. het beginsaldo is niet de eerste record. Althans niet het saldo op de rekening. Totale van CRED of DEB + Beginsaldo op de rekening = het juiste saldo op desbetreffende rekening. Voordat CRED en DEB beginnen met transacties staat er al geld op de rekening namelijk.
 
Ok thanks. Maar ik wil het wel op deze manier gaan doen.
Een goede database maken is niet een kwestie van eigenwijs zijn en je eigen weg door willen drukken, maar common sense gebruiken, en vooral je dus conformeren aan de normalisatieprincipes die er niet voor niks zijn. Een slecht ontworpen database gaat vroeg of laat (meestal vroeg) allerlei problemen opwerpen waar je dan ongelooflijk veel tijd aan kwijt bent om alsnog te repareren (= alsnog ombouwen naar een normaal genormaliseerde database). Moet je echt niet willen....
Wat mij betreft: ik help graag mensen die weten wat ze aan het doen zijn, en weten hoe ze een db moeten normaliseren. Maar ik steek liefst geen tijd in kansloze ondernemingen. En ik zeg dit voor je eigen bestwil, niet omdat ik mijn werkwijze wil opdringen. Ik volg ook gewoon de standaarden.
 
Laatst bewerkt:
Ik begrijp het. Echter, ik kom hier om hulp ( dus als u hier alleen bent om mensen te helpen 'die weten wat ze aan het doen zijn' lijkt mij een hulpforum niet de juiste plek om te reageren ) en daarnaast mijn structuur wel degelijk doordacht, maar de uitleg hiervoor leidt alleen af van mijn vraag. Verder lijkt het me dat er gewoon een oplossing is voor mijn vraag. Alles is mogelijk dus er zal vast wel een briljant iemand zijn die hier iets voor weet te verzinnen. Ik hoop dat iemand anders mij wel een oplossing kan bieden.
 
Hulp geven kan ook zijn dat je iemand vertelt dat hij/zij verkeerd bezig is. Mensen helpen doen we op allerlei niveau's, wat wel duidelijk zal zijn als je wat vragen doorleest die hier gesteld worden. En wat mij betreft geef ik iedereen het antwoord waarmee ze hun database in mijn optiek beter kunnen maken. Jij zult voor jezelf vast hebben bepaald waarom je al die aparte tabellen nodig hebt, maar de vraag is natuurlijk of je voldoende kennis hebt om te bepalen of je goed bezig bent. Aangezien ik denk dat ik die kennis wél heb, vind ik dat ik je moet wijzen op je dwaalwegen. Dat je in een programma als Excel wél op deze manier tabellen kunt maken en gebruiken, wil niet zeggen dat je dat in Access ook moet doen. Een goede database is gebouwd op basis van een goed functioneel ontwerp, en daar past jouw structuur dus echt niet in. Vandaar dat ik (ook al kan ik je de oplossing zo geven) jou niet verder het moeras in help. Mag uiteraard iemand anders wel doen. Hoop ik ook voor je :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan