1.9k Aufrufe
Gefragt in Datenbanken von
Ich möchte mehrere Felder mit Stückzahlen addieren zu einer Gesamtzahl. Wie geht das, wenn eines der Felder keinen Wert enthält? Bei meinem Versuch [Stückzahl1]+[Stückzahl] wird keine Gesamtzahl angezeigt, nur wenn beide Felder einen Wert enthalten.

3 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo,

Wenn beide zu addierende Felder den Felddatentyp "Zahl" haben, ist es egal ob in beiden Feldern eine Null oder nur in einem Feld eine Null eingegeben wird.

Die Formel:

Ausdr1: [Stückzahl1]+[Stückzahl2]

gibt in jedem Fall die richtige Summe aus


Gruß

Paul1

getestet in Access 2003
0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo,

wenn ein arithmetischer Operator wie z. B. das + in dem o.a. Ausdruck [Stückzahl1]+[Stückzahl] verwendet wird und eins der Felder in dem Ausdruck einen NULL-Wert enthält, dann wird als Ergebnis ein NULL-Wert, also nichts sichtbares zurückgegeben.

Ein leeres Zahlenfeld hat diesen Wert NULL und das darf nicht mit einer eingegeben '0' verwechselt werden, denn dann ist das Feld ja nicht mehr leer.

Ich würde ich in der Tabellenansicht bei den noch leeren Zahlenfeldern erst einmal über Suchen/Ersetzen 0 entragen lassen und anschließend in der Entwurfsansicht den Feldern 'Stückzahl1' und 'Stückzahl2' den Standardwert 0 verpassen. In allen neuen Datensätzen wird dann automatisch die Zahl Null in diesen Feldern vorgetragen, d.h., keins dieser Felder kann künftig mehr den Wert NULL haben.

Gruß
Kalle
0 Punkte
Beantwortet von rahi Experte (1.5k Punkte)
Hi,

mit dem Abfageschnipsel:
Ausdr1:Nz([Stückzahl1]) + Nz([Stückzahl2])

bist du auf der sicheren Seite. Die Funktion "Nz" ersetzt NULL_Werte bei Zahlenfeldern durch 0, bei Textfelder wird ein "Leerstring" eingesetzt. Alternativ kannst du auch den Defaultwert bei der Funtio Nz überschreiben . Wenn du statt NULLz.B. eine 1 haben willst, dann muss die Funktion Nz([Stückzahl};1) heißen.

Gruß
Ralf
...