Avatar billede bbkdk Seniormester
22. juni 2023 - 08:13 Der er 3 kommentarer og
1 løsning

Sammentællinger i regnskabsprogram

Jeg har lavet et regnskabsprogram, der fungerer udmærket, bl.a. med automatiske bank- og momsposteringer m.v.

Men der er en funktionalitet, som findes i "de rigtige regnskabsprogrammer", og som jeg ikke har kunnet finde en løsning på. Og det ville virkeligt kunne give mit lille system et pift.

Det er, når data skal vises i kontospecifikationen, og i saldobalancen. Er der her muligt i Access at foretage sammentællinger i flere niveauer?: Det kunne f.eks. være fra:

Konto 1000 til konto 1099 (Alle varesalgskonti)
Konto 1000 til konto 1999 (Bruttofortjenesen)
Konto 3010 til konto 3019 (Biludgifter)
Konto 1000 til konto 4999 (Samlet resultat)

Og det samme med statuskontiene fra konto 5000 til konto 9999.

Det skal tilføjes, at jeg har oprettet en tabel med kontiene, hvor der udover selvfølgelig kontonummer og -navn, også er momskode m.v. I professionelle programmer er det så vidt jeg kan se, oftest her, at sammentællingerne indtastes.
Avatar billede Gustav Ekspert
22. juni 2023 - 09:02 #1
Det er det da.
Brug fx konto 1200 til at holde summen af konto 1000 til 1099.
Det kan gøres enten ved en separat opdateringsrutine, en union query eller ved brug af underforespørgsler, der hver returnerer én konto med summen af (nogle af) de foregående konti.

Skal det være mere fancy, opbygger du hele kontoplanen rekursivt og kan derved oprette totaler på mange niveauer, men det er en større omgang.
Avatar billede bbkdk Seniormester
23. juni 2023 - 07:58 #2
Mange tak for svaret.
Jeg har læst lidt i en artikel om rekursion, så den løsning holder jeg mig klogelig langt fra.
Umiddelbart synes løsningen med underforespørgsler at være den nemmest tilgængelige. Det vil godt nok give en masse underforespørgsler, men da de konti, der skal udvælges til sammentællinger, ofte er de samme, uanset hvilket regnskab der er tale om, er det en gang for alle at få dem lavet.
Men er der mulighed for at få dem indsat de korrekte steder i kontospecifikationen, eller saldobalancen.
Hvis f.eks. der er en underforespørgsel, der kaldes "Bruttoavance", og viser en sammentælling af kontiene fra 1000 til  1099. Den ville som konto 1200 skulle indsættes efter den sidste post i varekøbssektionen.
Som jeg læser dit forslag, skal alle konti, også de konti, der skal anvendes som sammentællinger, oprettes i kontoplanen fra start. Dvs. at konto 1200, BRUTTOAVANCE, skal oprettes umiddelbart efter konto 1099.
Men hvordan får jeg underforespørgselens resultat vist det korrekte sted, dvs. efter konto 1099 i kontospecifikationen, eller saldobalancen.
Eller er der noget i dit svar, jeg har overset?
Det er også muligt, at det rent faktisk er mere enkelt at anvende en opdateringsrutine (som jeg faktisk ikke har kendskab til), eller en union query, som jeg har anvendt en enkelt gang, men det er mange år siden.
Jeg ved, spørgsmålet er svært, så hvis der ikke er en nogenlunde tilgængelig løsning, er der ikke noget at gøre ved det.
Avatar billede Gustav Ekspert
23. juni 2023 - 08:31 #3
Ja, den nemme løsning er at oprette 1200 som en konto og så beregne dens totaler. Det kan gøres både med DAO (gennemløb af konti) og SQL (opdateringsforespørgsel)

Der er ikke nogen generisk, smart og nem løsning. Det afhænger helt af din løsning.
Avatar billede bbkdk Seniormester
24. juni 2023 - 07:36 #4
Mange tak for din hjælp.
Jeg forsøger mig frem med en opdateringsforespørgsel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester