/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
SUM i access
Fra : emhauge
Vist : 598 gange
100 point
Dato : 08-10-09 15:06

Hej

Jeg har en Access database hvor jeg gerne vil lave en forespørgsel. Denne forespørgsel skal blandt andet indeholde en kolonne der tæller bestemte værdier i forskellige linjer sammen.
Forespørgselen indeholder blandt andet disse kolonner:
Salesman, Dkk. I Salesman vil der stå et navn og i Dkk et tal.
Jeg vil så gerne have at Dkk lægges sammen til et total for hvert navn i Salesman.
Dette er mit bedste bud - men jeg mangler en SUM funktion!

///////////////////////

Total: IIf([Salesman]="A";SUM [Dkk]; IIf([Salesman]="B";SUM[Dkk]))

//////////////////////

Jeg håber der er hjælp at hente her


/emhauge



 
 
Accepteret svar
Fra : sion

Modtaget 100 point
Dato : 08-10-09 16:26

Din SQL skal se således ud:

SELECT Salesman, SUM(Dkk)
FROM DATABASENAVN
GROUP BY Salesman

Det er et helt simpelt eksempel, som kan udbygges efter ønske. Men den summerer i hvert fald Dkk for hver af dine Salesmen.

Mvh. Simon

Kommentar
Fra : emhauge


Dato : 09-10-09 10:37

Hej Simon

Det var ikke helt sådan jeg ønskede at løse opgaven, men det er en mulighed.
Når jeg prøver til med dit forslag får jeg følgende fejl:
*****
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'Id' as part of an aggregate function.
******

Jeg har nemlig en del flere oplysninger i databasen som jeg indlæser via asp. hvordan afgrænser jeg SUM funktionen til kun at tage Dkk med?

jeg gættede ellers på at når man skrev:
*****
strSQL = "SELECT Id, Dato, Salesman, SUM(Dkk) as TotalSales FROM Kunde1 GROUP BY Salesman"
*****
ville den kun summere på (Dkk), men den gør det åbentbart på alle.......


/emhauge

Kommentar
Fra : sion


Dato : 09-10-09 13:18

Hvis du skal have en sum af Dkk for hver af dine Salesmen, er du nødt til at udelade Id og Dato. SQL bliver således:

strSQL = "SELECT Salesman, SUM(Dkk) as TotalSales FROM Kunde1 GROUP BY Salesman"

Hvis du medtager Id og dato, er du nødt til at gruppere på disse også. Og så får du en liste med en sum af Dkk for hver Salesman på hver Dato med hvert Id. SQL skal så se sådan ud:

strSQL = "SELECT Id, Dato, Salesman, SUM(Dkk) as TotalSales FROM Kunde1 GROUP BY Id, Dato, Salesman"

... eller en sum for hvert Id på hver dato for hver Salesman:

strSQL = "SELECT Id, Dato, Salesman, SUM(Dkk) as TotalSales FROM Kunde1 GROUP BY Salesman, Dato, Id"

Men jeg tror altså, at det er den første af de tre SQL'er, du gerne vil bruge. Prøv at opskrive (manuelt), hvordan du forventer, at resultatet af din forespørgsel skal se ud - kan det egentlig lade sig gøre? Hvilken Id skal der stå ud for en Salesman, når du har slået en masse rækker sammen for at beregne en sum?

Muligvis har jeg misforstået dit spørgsmål...?

Simon

Godkendelse af svar
Fra : emhauge


Dato : 09-10-09 13:54

Tak for svaret sion. jeg lavede dit forslag som en includer i en anden asp fil - og det spiller bare

Tak for hjælpen

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste