Hallo,
ich bin dabei eine Datenbank aufzubauen und hänge an einer Stelle:
ich habe mehrere Spalten mit UmsatzA, UmsatzB. und dahinter Gesamtumsatz.
ID Umsatz A Umsatz B Umsatz C Gesamt
5 20 40 80 ??
Lässt sich dies dann irgendwie in der Gesamtspalte ausrechnen? Habe es schon mit mehreren Anleitungen für Abfragen etc probiert, allerdings suche ich wohl nicht unter dem richtigen Stichwort.
Grüße
Felix
Hallo,
Du befindest Dich schon am Anfang auf dem falschen Weg...
Das Stichwort zur erfolgreichen DB heißt hier "Normalisierung" (s. u. st. Links 1 und 1a)
Zitat
"Lässt sich dies dann irgendwie in der Gesamtspalte ausrechnen?"
Ja, lässt sich. Im Fall von >=A2010-Format gibt es Tabellentrigger, die eine Berechung (Addition) über verschiedene Spalten (Felder) eines (!) Datensatzes ermöglichen.
Neben alledem ist es überflüssig und in den meisten Fällen falsch, berechnete Wert in einem Tabellefeld zu speichern.
Ok. ersteinmal Danke für die schnelle Antwort.
Zitat von: DF6GL am November 26, 2014, 15:03:14
Neben alledem ist es überflüssig und in den meisten Fällen falsch, berechnete Wert in einem Tabellefeld zu speichern.
Das macht eigentlich Sinn. Das Ergebnis soll ja auch eigentlich nur angezeigt werden, macht das mehr Sinn? Und wie würde ich da vorgehen?
Hallo,
indem Du mit einem Formular in einem Textfeld das Ergebnis anzeigst. Die Berechnung hierfür steht dann in der Eigenschaft "Steuerelementinhalt" des Textfeldes:
=Feld1 + Feld2 + Feld3
und falls "leere" Felder vorkommen können:
=nz(Feld1;0) + nz(Feld2;0) + nz(Feld3;0)
Hallo,
ich wollte noch mal etwas deutlicher auf das falsche Datenmodell hinweisen, gerade weil die DB im Aufbau ist.
Die Umsätze müssen in eine eigene Tabelle je Umsatz ein Datensatz, mit einem Kennzeichen für die Umsatzart (A, B, C).
Die Summe der Umsätze erhält man dann über eine gruppierte Abfrage.
Vielen Dank. Das habe ich auch schon befürchtet. Wie sieht denn in dem Fall eine solche gruppierte Abfrage für Zeilen aus? Ist eine gruppierte Abfrage denn nicht so, dass ich die Umsätze von Gesamt A, Gesamt B etc bekomme? Ich bräuchte ja die Summe von ID X Umsatz A+Umsatz B.
Hallo,
ZitatIch bräuchte ja die Summe von ID X Umsatz A+Umsatz B
Das könnte dann folgendermaßen aussehen:
Select ID, Sum(a) As SummeA, Sum(B) As SummeB, SummeA + SummeB As SummeGesamt
From tabelle Where ID = [welche ID]
Group By ID
Hallo,
wenn nur der Umsatz je ID benötigt wird (wie in #1 beschrieben) reicht doch diese einfache Abfrage:
ZitatSELECT ID, Sum(Umsatz) AS SummevonUmsatz
FROM Umsätze
GROUP BY ID
Umbau der Tabelle (gem. Vorschlag) vorausgesetzt.
Alles klar. Vielen lieben Dank an alle!!! Ich werde das ganze wohl noch einmal umbauen.