Avatar billede Dan Elgaard Ekspert
10. november 2015 - 09:03 Der er 2 kommentarer og
1 løsning

SQL Forespørgsel

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.
Forbindelsesstrengen 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?
Avatar billede supertekst Ekspert
10. november 2015 - 09:24 #1
Kunne dette være en del af det du søger?

SQL SUM() Syntax
SELECT SUM(column_name) FROM table_name;
Avatar billede Dan Elgaard Ekspert
10. november 2015 - 17:06 #2
Så vidt jeg kan se, så laver den forespørgsel blot en SUM på hele tabel kolonnen, uden, hverken, konto- eller datoafgrænsning?!?

Faktisk skriver jeg selv, at dette er, hvad jeg lige pt. gør - blot med konto- og datoafgrænsning...

Det er jo lige netop denne situation, jeg forsøger at komme udenom...
Avatar billede Dan Elgaard Ekspert
26. marts 2016 - 07:32 #3
Lukker...
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
Computerworld tilbyder specialiserede kurser i database-management

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