Berechnungen

Nehmen wir an, wir haben folgende Tabelle:

tblVerkäufe
IDVerkauf datVerkauf curNettopreis
1 19.01. 100
2 20.01. 50

Jetzt wollen wir mit einer Abfrage den Bruttopreis herausfinden. Dazu erstellen wir folgende Abfrage:

Abfrage1
tblVerkäufe
*
IDVerkauf
curNettopreis
Feld: tblVerkäufe.* Bruttopreis: curNettopreis * 1,19
Tabelle: tblVerkäufe  
Sortierung:    
Anzeigen:
Kriterien:    
oder:    
     

Damit haben wir ein neues, berechnetes Feld erzeugt, welches das Gewünschte anzeigt:

SELECT *, curNettopreis * 1.19 AS Bruttopreis
FROM tblVerkäufe;
Abfrage1
IDVerkauf datVerkauf curNettopreis Bruttopreis
1 19.01. 100 119
2 20.01. 50 59,5

Der Feldname Bruttopreis selbst wurde erst in der Abfrage erzeugt. Auf diese Weise kann man auch ansonsten Felder beliebig (um)benennen. Gelegentlich müssen Felder sogar benannt werden. Access macht das dann eigenständig, wie wir es bei den Abfragefunktionen schon gesehen haben.

Natürlich kann man nicht nur mit festen Werten rechnen, sondern auch mit mehreren Feldern. Es wäre z. B. auch IDVerkauf + curNettopreis möglich (Der Sinn im obigen Beispiel mag dahingestellt bleiben). Auch mit Datum/Zeit kann man rechnen: datVerkauf + 1 würde den nächsten Tag, und datVerkauf + 0.5 bzw. datVerkauf + 12/24 würde 12 Stunden hinzuzählen. Datum/Zeit wird intern als Fließkommazahl gespeichert, wobei im Nachkommaanteil die Uhrzeit steckt.

Neben Plus (+), Minus (-), Mal (*), Geteilt (/) und Exponent (^) ist der Verkettungsoperator (&) wichtig, um Werte hintereinander zu setzen. Sind beide Operanden Texte, liefert Plus zwar in der Regel ein identisches Ergebnis. Wenn aber beide Operanden aus Zahlen bestehen, liefern Feld1 + Feld2 und Feld1 & Feld2 unterschiedliche Ergebnisse. Da man sich oft nicht darauf verlassen kann, was User in Textfeldern eingeben, ist bei Texten der Verkettungsoperator vorzuziehen.

Andere Operatoren wurden schon unter Kriterien vorgestellt, da Berechnungen auch in den Kriterien stattfinden können. Es gibt noch weitere Operatoren (wer sich mit Binärarithmetik auskennt, wird mit den Stichworten And, Or, Not, Imp, Xor, Eqv zurechtkommen), und zahlreiche Funktionen. So ermittelt Right(Text, 1) das letzte Zeichen eines Textes.