tabellen optellen

Status
Niet open voor verdere reacties.

ronnie123

Gebruiker
Lid geworden
21 nov 2007
Berichten
595
beste forum leden
wat is de beste manier om 2 tabellen bij elkaar op te tellen?
de tabellen zijn gelijk en ik wil graag met een druk op de knop de gegevens van tabel 1 optellen bij tabel 2 en dan tabel 1 leeg maken.
hoe pak ik dit aan.
grt ronnie
 
Twee tabellen bij elkaar optellen? Dat moet je iets beter uitleggen, want dat kan natuurlijk niet...
 
Ik neem aan tabellen onder elkaar plakken. pure SQL zou ik zeggen SELECT INTO, maar mogelijk is er een alternatied in access
 
hallo octafish
ik heb een voorbeeld bij gevoegd, de tabel alle jaren vul ik handmatig in ( dit zijn gegevens van de afgelopen jaren ) nu wil ik graag als dit jaar alles gespeeld is dat ik de gegevens van totaal wedstrijden kan optellen bij totaal alle jaren.
hoop dat het iets duidelijker is.
grt ronnieBekijk bijlage totaal.rar
 
Waarom gebruik je een aparte tabel om gegevens in te vullen? Als ik je voorbeeldje bekijk, zie ik daar geen enkele noodzaak voor, en kun je best in je normale tabel invullen. Overzichten en berekeningen maak je dan in queries etc.
 
hallo octafish
als ik een nieuw toernooi aanmaak worden alle tabellen leeg gemaakt daarom wil ik een apparte tabel voor de totalen hebben die dan ongemoeid blijft
grt ronnie
 
In je db ontbreken dan vermoedelijk nog wat tabellen, want ik zie geen toernooien. Je hebt volgens mij nu een kopie gemaakt van de tabel [Totaal_wedstrijden] en die [Totaal_wedstrijden_alle _jaren] genoemd. Normaal gesproken zou je in die tabellen ook geen berekende waarden hoeven op te slaan. Berekeningen zoals algemeen moyenne kun je altijd berekenen. Zowel op toernooibasis (filteren op toernooi [T_moy]?) als overall (alle records meenemen ([A_moy]?)).
En daqt brengt mij dus weer op de vraag: waarom meerdere tabellen voor dezelfde gegevens?
 
Laatst bewerkt:
hallo michel
de opbouw van het proramma wat ik gekregen heb zit zo in elkaar en ben zelf niet bij machten omdat helemaal om te bouwen.
daarom zocht ik naar deze oplossing.
maar als je zoals wampier zegt met SQL doet hoe komt dat er dan uit te zien?
groetjes ronnie
 
SELECT *
INTO tabel2
FROM tabel1

waarbij tabel2 de "nieuwe" tabel is en "tabel1" de oude tabel die je wil leegmaken.
 
Wampier geeft alleen de feitenlijke code die gemaakt wordt als je een Toevoegquery maakt. Ik zou zelf dus een andere structuur bedenken, waar je maar één tabel voor je uitslagen nodig hebt. En dus een tabel voor de spelers, die je dan koppelt aan de tabel Speler_Toernooi.
Ik zou dus minstens maken:
1. tabel Spelers; (spelersID, Naam etc, evt. handicap/niveau).
2. tabel Toernooi; voor alle toernooien waar een speler aan mee kan doen.
3. tabel Uitslagen; hierin leg je vast welke wedstrijden in welk toernooi een speler gespeeld heeft, en de uitslag.

Op basis van de tabel Uitslagen maak je dan de berekeningen. Wil je een gemiddelde per speler per toernooi, dan maak je die heel simpel met een kruistabelquery. Wil je een totaalmoyenne per speler, dan maak je een query met Totalen, en groepeer je op Speler en bereken je met Gem het gemiddelde moyenne. Etc.
 
hallo wampier
op deze manier overschrijft hij de tabel maar hij moet het bij elkaar optellen
weet je daar ook een oplossing voor?
grt ronnie
 
De SQL van wampier is van een Tabelmaak query. Als je een regel omdraait, is het een Toevoegquery. En tabel1 wordt uiteraard niet leeggemaakt.

Code:
INSERT INTO tabel2
SELECT *
FROM Tabel1;

Overigens kun je die (toevoegquery en tabelmaak query) makkelijk zelf maken in het ontwerpscherm van het query-venster, door het juiste querytype te selecteren uit het menu <Query>.
Tweede opmerking: een toevoegquery in deze vorm zal de records toevoegen ongeacht of de query al een keer is uitgevoerd. Elke keer als je de query start, worden dezelfde records dus opnieuw toegevoegd. Het is dus beter om er een criterium aan toe te voegen dat filtert op waarden die al in de tweede tabel staan.
 
hallo michel
ben begonnen om de structuur te veranderen zoals je verop vertelde kom nu aardig in de richting.
bedankt voor de hulp
grt ronnie
 
Inderdaad, mijn voorbeeld was verkeerd om ;) Ik was vast van plan om het gisteren te verbeteren maar ik was er niet aan toegekomen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan