Berechnungen

Nehmen wir an, wir haben folgende Tabelle:

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

Anhand des Nettopreises wollen wir nun für jeden Eintrag 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 sehen wir in einem neuen das Gewünschte:

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.