Berechnungen Access 2002 Felder mit 0,00 füllen

Berechnungen mit Access 2002

Hallo,

irgendwie komme ich gerade nicht weiter und möchte euch um eure Hilfe bitten:

Ich habe eine DB in der es ein Feld für die Sollstellung und mehrere Felder mit Einnahmen gibt.

Nun möchte ich den aktuellen Rückstand sehen und habe daher ein weiteres Feld mit einem Steuerelementinhalt (=[Soll-Betrag]-[Text138]-[Einnahme 2006]-[Text149]-[Text168]) erzeugt.

Die Berechnung funktioniert auch, jedoch habe ich einige alte Fälle, in denen die Einnahmefelder nicht gefüllt sind. Wenn ich nun diese Felder händisch mit einer 0 fülle, wird die Berechnung korrekt ausgeführt.
Das kann ich aber nicht in 10.000 Fällen machen.

In der Tabelle habe ich den Standardwert schon auf 0 gesetzt, Format ist Euro.

Gibt es, wie im Excel, eine Möglichkeit alle ungefüllten Felder durch eine 0 zu ersetzen? Oder hat jemand noch einen ganz anderen Tipp?

Danke schon mal
Gruß aus Schwäbisch Hall
Bernd

Hallo,

Berechnungen mit Access 2002

Hallo,

irgendwie komme ich gerade nicht weiter und möchte euch um
eure Hilfe bitten:

Ich habe eine DB in der es ein Feld für die Sollstellung und
mehrere Felder mit Einnahmen gibt.

Nun möchte ich den aktuellen Rückstand sehen und habe daher
ein weiteres Feld mit einem Steuerelementinhalt
(=[Soll-Betrag]-[Text138]-[Einnahme 2006]-[Text149]-[Text168])
erzeugt.

Ratschlag:
–Benenne die Felder entpr. ihrem sinngemässen Inhalt.
–Verzichte dringend(!) auf Sonder- und Leerzeichen in Namen.

Die Berechnung funktioniert auch, jedoch habe ich einige alte
Fälle, in denen die Einnahmefelder nicht gefüllt sind. Wenn
ich nun diese Felder händisch mit einer 0 fülle, wird die
Berechnung korrekt ausgeführt.
Das kann ich aber nicht in 10.000 Fällen machen.

In der Tabelle habe ich den Standardwert schon auf 0 gesetzt,
Format ist Euro.

Ein Standardwert wird nur als Vorschlag bei NEUEN Datensätzen benutzt.

Gibt es, wie im Excel, eine Möglichkeit alle ungefüllten
Felder durch eine 0 zu ersetzen? Oder hat jemand noch einen
ganz anderen Tipp?

Die gibt es:

=nz([Soll-Betrag];0) - nz([Text138];0) - nz([Einnahme 2006];0) - nz([Text149];0) - nz([Text168];0)

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,
vielen Dank, hat einwandfrei funktioniert. Echt super. Habe dieses Jahr einen Kurs gemacht, selbst der Lehrer konnte dieses Problem nicht lösen.

Ja, die DB ist ein Erbstück, da muss ich noch mal viel Zeit investieren…

Gruß
Bernd

Hi,

dieses Jahr einen Kurs gemacht, selbst der Lehrer konnte
dieses Problem nicht lösen.

wenn ein Access Trainer ein solch simples Problem nicht lösen kann, solltest du dringend den Trainer wechseln …

Gruss
Joey

btw: mit einer Aktualisierungsabfrage könnte man natürlich auch die nicht vorhandenen Werte in der Datenbank mit 0 ersetzen.

So, jetzt habe ich die Felder und die Formel berichtigt, sieht nun so aus und funktioniert:
=nz([Sollbetrag];0)-nz([E 2005];0)-nz([E 2006];0)-nz([E 2007];0)-nz([E 2008];0)-nz([E 2009];0)-nz([E 2010];0)-nz([E 2011];0)

Da die ganze Berechnung nur im Formular stattfindet, möchte ich für spätere Auswertungen auch noch eine Spalte in der Tabelle haben. Das Feld habe ich Restbetrag genannt, eine entsprechende Spalte angelegt, leider kann ich damit nicht über Steuerelemtinhalt verknüpfen, weil da ja schon die Formel drin steht. Wie muss ich vorgehen?

Sorry wenn ich mich ein wenig umständlich ausdrücke und für euch sicherlich einfache Fragen habe, bin im Access Anfänger und die Schulungen , die die öffentliche Hand bezahlt sind immer die beim günstigsten Anbieter, ensprechend ist die Qualität der Lehrer…

Gruß
Bernd

Hallo,

im Grunde ist schon die Basis morsch…

Eine Feldaufzählung (dasselbe Feld für jedes Jahr in einer Tabelle zu wiederholen) verstößt gegen den Grundsatz der Tabellennormalisierung.

Weiterhin haben berechnete Werte in Tabellen(feldern) nichts verloren. Überall da, wo ein solcher Wert gebraucht wird, läßt er sich auch wieder neu berechnen. Praktischerweise lagert man dafür den Algorithmus (Berechnungsformel) in eine kleine Public-Funktion aus, die von überall her aufgerufen werden kann.

Viele Grüße vom Bodensee
Franz, DF6GL