Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: mad am Januar 29, 2016, 17:12:33

Titel: Wenn "0" dann Null (leer)
Beitrag von: mad am Januar 29, 2016, 17:12:33
Hallo zusammen,

habe in diversen Foren immer nur das gegenteil gefunden was ich eigentlich bräucht.

Über eine Abfrage habe ich einen Bericht erstellt in dem ich wiederum Gesamtsummen und GesamtAnzahl berechnen lasse.
Meine vier Felder sind wie folgt:
- SummevonEinsStd
- AnzahlvonEinsStd
- SummevonPAEinsStd
- AnzahlvonPAEinsStd

Dann meine Gesamtberechnungsfelder:
=Summe([SummevonEinsStd])
=Anzahl([AnzahlvonEinsStd])
=Summe([SummevonPAEinsStd])
=Anzahl([AnzahlvonPAEinsStd])

Nun habe ich das Problem wenn in "SummevonEinsStd" eine Stundenwert steht, wird in "AnzahlvonEinsStd" die Anzahl 1 oder grösser eingefügt, dass ich so noch i.O.. Und nun wird in "AnzahlvonPAEinsStd" eine "0" eingetragen obwohl "SummevonPAEinsStd" noch leer ist.
Und die "0" wird dann in "=Anzahl([AnzahlvonPAEinsStd])" mitberechnet.
Bei "0" sollten die Textfelder einfach leer bleiben.

Was muss ich tun?
Vielleicht kennt jemand die Lösung.


Danke
mad
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: DF6GL am Januar 29, 2016, 17:27:14
Hallo,

eine Möglichkeit:

= Wenn(Anzahl([AnzahlvonPAEinsStd])<1;Null;Anzahl([AnzahlvonPAEinsStd]))
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: mad am Januar 30, 2016, 12:45:00
Hallo DF6GL,

danke für Deine Rückantwor,habe es ausprobiert, aber leider ändert sich nichts. Das Feld rechnet immer noch alle "0"en mit.


Gruss
mad
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: DF6GL am Januar 30, 2016, 12:57:38
Hallo,

Vielleicht gibt es da ein Verständisproblem...


Was möchtest Du mit "Anzahl([AnzahlvonPAEinsStd])" überhaupt berechnen?
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: mad am Januar 30, 2016, 13:14:44
Hallo DF6GL,

ich möchte damit alle Zeilen zählen in denen eine 1 oder grösser steht.

Vielleicht nochmals zum besseren Verständnis: Der Bericht gibt zu verschiedene Übungsarten die Gesamtübungsstunden der Kameraden an und die Anzahl der Übungen in denen sie die Übungsstunden angesammelt haben. Unten rechne ich dann die Gesamtstundenzahl aller Kameraden zusammen und eben die Anzahl der Kameraden die die Übungen geleistet haben. Das kann eben bei verschiedenen Übungsarten eine unterschiedliche Anzahl an Kameraden sein.

Gruss
mad
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: DF6GL am Januar 30, 2016, 13:40:42
Hallo,

Anzahl([Feld]) zählt die Datensätze, die in einem Recordset(-Bereich) enthalten sind und bei denen [Feld] nicht NULL ist.

D. H. damit kannst Du  so den Wert 0  nicht ausschließen.

Du könntest aber mal dies probieren:
=Anzahl(Wenn([AnzahlvonPAEinsStd] =0;Null;[AnzahlvonPAEinsStd]))



Ich schlage vor, Du setzt die Dcount-Funktion (siehe VBA-Hilfe) ein und übergibst der das Kriterium "[AnzahlvonPAEinsStd] <> 0"
Titel: Re: Wenn "0" dann Null (leer)
Beitrag von: mad am Januar 30, 2016, 17:46:26
So hat es funktioniert.

Vielen Dank für die Hilfe
mad