Print side | Luk vindue

SQL Kommando til opsummering

Udskrevet fra: Dansk Access Forum
Kategori: Hjælp til Access
Forum navn: Forespørgsler og SQL scripts (Query)
Forum beskrivelse: Spørgsmål relateret til SQL og forespørgsler
Web-adresse: https://www.accessforum.dk/forum_posts.asp?TID=75
Udskrevet den: 27-04-2024 kl. 21:56


Emne: SQL Kommando til opsummering
Besked fra: EXCELGAARD
Emne: SQL Kommando til opsummering
Posteringsdato: 09-11-2015 kl. 13:37
Jeg har lavet to bruger-definerede funktioner i Excel, der henter finansdata fra et givent ERP system.

= FINANSKONTO ( Konto ; InfoType )
= FINANSSALDO ( Konto ; Dato )

Den første funktion kan hente alle mulige data om en given finanskonto.
(Navn, KontoType, Momskode, Dimmensioner, og alt muligt andet, der måtte være gemt om en given finanskonto)

Den anden funktion kan oplyse saldoen på en given finanskonto pr. en given dato.

Det hele virker som sådan ganske perfekt og uden problemer.
Alt, hvad der skal forudindstilles for at funktionerne virker, er forbindelsesstrengen til ERP-databasen, og navnene på de to tabeller, der skal hentes data fra.

Jeg sidder lige nu og sætter funktionerne op til at virke med en dansk C5, og der er, som sådan, ingen problemer.
Forbindelsesstringen er, som de fleste vil give mig ret i, piece of cake, og kan laves automatisk.

De to tabeller, som funktionerne benytter er 'FinKart' og 'FinPost' (husk, det er en dansk udgave af C5)

Så, SQL kommandoen, der henter saldo per en bestemt dato er, jo, blot en simpel 'SELECT SUM() FROM... WHERE datoafgrænsning AND kontoafgrænsning'.

Igen: Ingen problem, hvilket alle I database hajer sikkert vil give mig ret i, og det virker også efter hensigten...
...men, nu kommer mit problem:

Hvis den konto man angiver i funktionen =FINANSSALDO() er en SUM-konto, så virker funktionen ikke direkte, da der jo ikke er nogen posteringer på SUM- eller SAMLE-konti.

Metoden, jeg hidtil har benyttet for at samle summen ved sådanne konti, er, at læse 'SUM FRA...' konto med =FINANSKONTO(), og så blot løbe alle disse konti igennem, enkeltvis, i selve VBA koden, og opsamle summen undervejs.

Men, nu, hvor jeg sidder og roder med det igen, slår det mig, at det må man da kunne få databasen til selv at gøre?!?

Men, jeg kan ikke gennemskue, hvilken SQL kommando, man skal sende for at gøre det???
Jeg er ikke den store database-haj, men jeg kan tingene sådan 'til husbehov'.

Nogen, der kan guide mig på rette vej?

Altså: Det er ikke Excel-delen og/eller VBA koden, jeg har problemer med, ej heller at få funktionerne til at virke - de virker og har gjort det i mange år :-)

Det er en database kommando, der kan sammenlægge samtlige konti fra en bestemt finanskonto til en anden finanskonto, inden for et given dato interval.

Anyone?





Print side | Luk vindue