SUM van Saldo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

John de Boer

John de Boer

31/10/2006 18:35:00
Quote Anchor link
Ik heb een MS-Access database met allemaal saldo's gekoppeld aan een (GPT-)site. Nu wil ik het totaal van alle saldo's laten zien.

Ik heb de volgende SQL:
SELECT tblSites.[Naam GPT], tblLand.Taal, [MijnGPT-verdiensten].Saldo, [MijnGPT-verdiensten].Punten, Sum([MijnGPT-verdiensten].Saldo) AS [Totale Saldo], Sum([MijnGPT-verdiensten].Punten) AS [Totale Punten]
FROM tblLand INNER JOIN (tblSites INNER JOIN [MijnGPT-verdiensten] ON tblSites.pkSiteID = [MijnGPT-verdiensten].pkSiteID) ON tblLand.pkNationaliteitID = tblSites.pkNationaliteitID
GROUP BY tblSites.[Naam GPT], tblLand.Taal, [MijnGPT-verdiensten].Saldo, [MijnGPT-verdiensten].Punten
ORDER BY tblSites.[Naam GPT];

alleen nu zie ik van elke site de som en niet van alle sites bij elkaar opgeteld... wat dus de bedoeling is.
 
PHP hulp

PHP hulp

26/12/2024 16:20:49
 
Klaasjan Boven

Klaasjan Boven

31/10/2006 18:39:00
Quote Anchor link
deze?

Sorry ik snap nix van MSQL mischien als je het eens netjes uitschrijft dat het dan helderder wordt

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
    jouwding
FROM
    jouwtabel
WHERE
    jouwding <>jouwding


Schrijf hem eens zo want wat er nu staat is een brei van letters
 
John de Boer

John de Boer

31/10/2006 18:47:00
Quote Anchor link
Die link klopt :-)

Ok, als ik hem 'netjes' uitschrijf ziet hij er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT
   tblSites.[Naam GPT],
   tblLand.Taal, [MijnGPT-verdiensten].Saldo,
   [MijnGPT-verdiensten].Punten,
   Sum([MijnGPT-verdiensten].Saldo) AS [Totale Saldo],
   Sum([MijnGPT-verdiensten].Punten) AS [Totale Punten]
FROM
   tblLand
      INNER JOIN (tblSites
         INNER JOIN [MijnGPT-verdiensten]
         ON tblSites.pkSiteID = [MijnGPT-verdiensten].pkSiteID)
      ON tblLand.pkNationaliteitID = tblSites.pkNationaliteitID
GROUP BY
   tblSites.[Naam GPT],
   tblLand.Taal, [MijnGPT-verdiensten].Saldo,
   [MijnGPT-verdiensten].Punten
ORDER BY
   tblSites.[Naam GPT];


ik hoop dat het zo beter leesbaar is...

EDIT:
code toegevoegd
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Robert Deiman

Robert Deiman

31/10/2006 18:57:00
Quote Anchor link
En als je de GROUP BY funcie weghaalt?
 
Klaasjan Boven

Klaasjan Boven

31/10/2006 19:12:00
Quote Anchor link
En waarom staat soms de tabelnaam en soms het veld tussen []?
 
John de Boer

John de Boer

31/10/2006 21:17:00
Quote Anchor link
Robert schreef op 31.10.2006 18:57:
En als je de GROUP BY funcie weghaalt?


Dan krijg ik een melding
"U probeert een query uit te voeren waarbij de opgegeven expressie Naam GPT geen deel uitmaakt van een statische functie"

Klaasjan Boven schreef op 31.10.2006 19:12:
En waarom staat soms de tabelnaam en soms het veld tussen []?


Dat doet Access automatisch als er bijv. al een spatie in voorkomt, om aan te geven dat het 1 geheel is.
Ik heb het alleen maar gekopieerd en geplakt (Ctrl+C dan Ctrl+V)
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 21:45:00
Quote Anchor link
Als je die saldos in een rapport laat zien maak je een onafhankelijk tekstvak die alle subtotalen bij elkaar optelt.

Op een formulier kun je iets soortgelijks maken. Bij de recordbron van het tekstvak doe je zoiets:

=[veld1] + [veld2] + [veld3]
 
John de Boer

John de Boer

31/10/2006 23:22:00
Quote Anchor link
bedoel je dat als ik saldo's van bijv. 50 sites heb dat ik dan alle 50 apart bij elkaar op moet tellen?
zoiets als

[site1] + [site2] + [site3] + ... [site50] ?
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:32:00
Quote Anchor link
Ja dat is niet zo handig dan. Maar waar in Access wil je het laten zien? Op een formulier, of in een rapport?
 
John de Boer

John de Boer

31/10/2006 23:36:00
Quote Anchor link
Het was me niet helemaal duidelijk wat je bedoelde Jan.
En ik wil het in een query laten zien.
 
Robert Deiman

Robert Deiman

31/10/2006 23:39:00
Quote Anchor link
Jan Koehoorn schreef op 31.10.2006 23:32:
Ja dat is niet zo handig dan. Maar waar in Access wil je het laten zien? Op een formulier, of in een rapport?


Maakt voor het verhaal niets uit Jan, zowel voor formulieren als voor rapporten kan je gewoon query's die je aan hebt gemaakt gaan gebruiken.
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:41:00
Quote Anchor link
In de query wordt lastig, want daar heb je dit:

GROUP BY tblSites.[Naam GPT]

de totalen worden dus gegroupeerd per site.

Als je nu op basis van die query een formulier maakt met een formulierkoptekst en een formuliervoettekst, dan kun je wel het totaal laten zien. Het formulier moet een doorlopend formulier zijn. Zorg dat het veld waarin de subtotalen staan er ook in voorkomt.

In het voettekstdeel van je formulier maak je dan een onafhankelijk tekstveld en bij besturingselementbron vul je in: =Som([subtotaal])

Vervang 'subtotaal' door de naam van het veld waarin de subtotalen staan.
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:42:00
Quote Anchor link
Robert schreef op 31.10.2006 23:39:
Jan Koehoorn schreef op 31.10.2006 23:32:
Ja dat is niet zo handig dan. Maar waar in Access wil je het laten zien? Op een formulier, of in een rapport?


Maakt voor het verhaal niets uit Jan, zowel voor formulieren als voor rapporten kan je gewoon query's die je aan hebt gemaakt gaan gebruiken.

Dat klopt, maar in Access kan je bij rapporten ook running totals maken, vandaar mijn vraag.
 
John de Boer

John de Boer

31/10/2006 23:46:00
Quote Anchor link
Aan de linkerkant heb je onder Tabellen ook de keuze Query's, maar als het in een rapport kan mag dat ook. Alhoewel ik toch de voorkeur geef aan een Query.

en wat zijn running totals?
heb nog niet zoveel ervaring met SQL...
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:49:00
Quote Anchor link
Het is in Access eigenlijk helemaal niet de bedoeling dat je rechtstreeks in tabellen en queries werkt. Op basis van tabellen en/of queries maak je je formulieren waarmee je data bewerkt en rapporten waarmee je data uitprint.

Maar als je het juist in een query wilt laten zien zou je het kunnen proberen met een SUM zonder GROUP BY. Of dat in Access werkt, weet ik niet uit mijn hoofd. Kwestie van uitproberen.

Maar zoals gezegd, die methode die ik je gaf met een formulier is veel gemakkelijker.
 
John de Boer

John de Boer

31/10/2006 23:52:00
Quote Anchor link
Dat had ik al geprobeerd zonder GROUP BY

John de Boer schreef op 31.10.2006 21:17:
Dan krijg ik een melding
"U probeert een query uit te voeren waarbij de opgegeven expressie Naam GPT geen deel uitmaakt van een statische functie"


Ik vul het normaliter ook in formulieren in.
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:53:00
Quote Anchor link
Ik heb even gekeken en als ik deze gebruik dan werkt hij:

SELECT Sum(test.subtotaal) AS totaal
FROM test;
 
Jan Koehoorn

Jan Koehoorn

31/10/2006 23:56:00
Quote Anchor link
John de Boer schreef op 31.10.2006 23:52:
Dat had ik al geprobeerd zonder GROUP BY

John de Boer schreef op 31.10.2006 21:17:
Dan krijg ik een melding
"U probeert een query uit te voeren waarbij de opgegeven expressie Naam GPT geen deel uitmaakt van een statische functie"


Ik vul het normaliter ook in formulieren in.

Die foutmelding krijg je als je gewone kolomnamen in combinatie met statistische functie gebruikt zonder GROUP BY.

Pleur de boel gewoon in een form, zoals ik al voorstelde. Dan krijg je precies wat je wilt, een overzicht met subtotalen en een generaal totaal.
 
John de Boer

John de Boer

01/11/2006 13:01:00
Quote Anchor link
ook dit werkt niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT Sum([MijnGPT-verdiensten].Saldo) AS [Totale saldo],
FROM [MijnGPT-verdiensten];


Hoe dat in zijn werk gaat met formulieren moet ik nog ff uitvissen dan.
Ik kan desnoods wel de 'kale' db opsturen mocht dat nodig zijn...

In ieder geval bedankt Jan!
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Jan Koehoorn

Jan Koehoorn

01/11/2006 14:56:00
Quote Anchor link
Ga maar eens kijken in de formuliersectie. Je maakt een formulier op basis van een tabel of query. Formulieren in Access zijn bedoeld om gegevens te editen, maar je kunt er ook velden in zetten die een (sub)totaal uitrekenen. Zie een van mijn eerdere posts, daarin leg ik uit hoe. Mocht je er niet uitkomen, dan hoor ik het wel.
 
John de Boer

John de Boer

02/11/2006 15:25:00
Quote Anchor link
Ik heb zitten zoeken maar kan niet de relevante post vinden... :-$

Ik heb al wel met formulieren gewerkt (zoals ik al eerder vermeldde).
Ik heb bijv. ook een site over films (hier) waar ik dus de films ook invoer m.b.v. een formulier. Alleen dit is voor mij een stapje hoger.
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.